2016-12-08 8 views
2

スキーマ設計を初めて使用しています。私は、以下に示すようにXMLの要素に複数の値を設定しようとしていますXMLの要素に複数の値を設定する

<EVENT>SYS_EVENT, TEMP_EVENT </EVENT> 

私は等を列挙、リストを使用して

の要素EVENTためのさまざまなスキーマ設計を試みたが、非常に残念なことに、それはdoesnの私のために働くようだ。私はコンマの代わりに白い空白を試しましたが、依然として単一の値を設定しています。

本当に助けていただければ幸いです。

私はスキーマ設計のためにAltova XMLSpyを使用しています。

<xs:element name="EVENT"> 
    <xs:simpleType> 
     <xs:list> 
      <xs:simpleType> 
       <xs:restriction base="xs:string"> 
        <xs:enumeration value="SYS_EVT"/> 
        <xs:enumeration value="CON_MGT_EVT"/> 
        <xs:enumeration value="PWR_MGT_EVT"/> 
        <xs:enumeration value="TEMP_EVT"/> 
        <xs:enumeration value="APP_MGT_EVT"/> 
        <xs:enumeration value="CFG_MGT_EVT"/> 
       </xs:restriction> 
      </xs:simpleType> 
     </xs:list> 
    </xs:simpleType> 
</xs:element> 

答えて

2

あなたは非常に接近している - ちょうど2つの簡単な変更を行うために:リストメンバー間

  1. 使用スペースではなくコンマは、。
  2. 正確にスペルと一致するように注意してください:SYS_ EVT対SYS_ EVENTなど

だから、あなたがあるとして、あなたのXSDを残して、あなたのXMLを変更した場合、

<EVENT>SYS_EVT TEMP_EVT</EVENT> 

その後、 XMLはXSDに対して正常に検証されます。

+0

こんにちはkjhughes、私はあなたが示唆したように試みましたが、それ以上の値を選択することはできません。 2番目の値を選択すると、最初の値が上書きされます。 – Sam

+0

*選択?* XSDは選択用ではなく検証用です。私が記述した変更は、あなたのXMLがあなたのXSDに対して首尾よく検証されるようにします。 *複数の値を選択する*と言うことは、XPathが行うことであるか、XSDを使用するアプリケーションのUIがXMLの編集を可能にするかもしれません。あなたはスキーマ設計のためにXMLSpyを使って言及します。おそらく、XMLSpy XMLエディタの仕組みについて質問していますか?おそらく、値の選択について質問するときでしょうか? – kjhughes

+0

私はxsdに対してxmlの検証に成功しました。私の考えは、xmlの単一の要素に複数の値を設定できるようにすることでした。混乱させて申し訳ありません。 EVENT要素では、複数の値が必要でした。 – Sam