2017-07-20 3 views
0

最初の質問は上に書かれています:空白を使うことができますか?XML列挙型 - 値をスペースで使用し、複数の選択肢を使用

<xs:simpleType name="Testing"> 
    <xs:restriction base="xs:string"> 
     <xs:enumeration value="my sample spaced value"/> 
     <xs:enumeration value="my second spaced value"/> 
     <xs:enumeration value="myThirdValue"/> 
     <xs:enumeration value="myFourthValue"/> 
    </xs:restriction> 
    </xs:simpleType> 

は、私が見つけたことはこれです:

しかしSpecify a multi-word enumeration value in an XML/DTD、任意の単純タイプにすることができ言い、ここで一方:でpreferablly、http://www.datypic.com/sc/xsd/e-xsd_enumeration.html

が、私はこの質問を解決することができw3c仕様の段落へのリンク?

2番目の質問は、私は複数の回答を選択したときにどのように検証することができているので、出力は次のようになります:私は取得しています

<testing>myThirdValue myFourthValue</testing> 

CVC-列挙-有効に:値 'myThirdValue myFourthValue'は列挙[myサンプル間隔値、2番目の間隔値、myThirdValue、myFourthValue]に関してファセット有効ではありません。それは列挙からの値でなければなりません。

スペースがセパレータとして使用されていて、値の名前にスペースが含まれていると、どうして狂ってしまうことはありませんか?

<testing>my sample spaced value my second spaced value</testing> 

複数の値を解析できるようにパターンを指定する必要はありますか?

ありがとうございます!

答えて

0

XML DTD!= XMLスキーマ(XSD)ので、リンクしたSOの質問/回答はあなたの質問には当てはまりません。

According to the spec ...列挙スキーマコンポーネント

スキーマコンポーネントの制約に

4.3.5.5制約:列挙有効制限は

これは··エラーであるかのいずれかのメンバー{値} {base 型定義}の値空間にはありません。

したがって、基底型がxs:string(例のようです)の場合は、値にスペースを含めることができます。 (私が正しく仕様を読んでいる場合。テストは私の理解を支援するために表示されます。)

他の例...

あなたの基本型がxs:NMTOKENであれば、何もあなたの値にスペースを含めることはできませんが。

基本タイプがxs:NMTOKENS(複数)の場合、値にスペースを含めることができます。

+0

応答をありがとう、私は頭痛を与える理由についての最初の記事のいくつかの詳細を与えた。 – Wynarator

+0

@Wynarator - 複数の値を持つことができるようにするには 'xs:list'を使うことができますが、値にスペースが含まれているとうまくいく方法はわかりません。 –

関連する問題