を受け入れられるように表していますか.....使用....持つXML検証の問題は、私は、私は少し困惑している奇妙な状況があり、私は制約が普遍
私が持っていますXMLデータファイル私は、使用されるパーサーによって異なる結果をもたらすように見えるスキーマに対して検証しようとしています。 ....私が間違っているのか、どのようにすべてのパーサーが正常にXMLを検証できるように、より良いスキーマに制約を表すことになっているのかわからない。ここスキーマの問題部分の抜粋です:
<xsd:element name="DemoValues">
<xsd:annotation>
<xsd:documentation>Demo values for any, or all, of the demo categories defined on the GAP . A
demo value includes a reference to the category it applies to, a value in the appropriate
format and an optional market reference if it is for a specific market. If the market
reference is omitted the demo value applies to the entire area serviced by the outlet. Each
demo category may only have a single demo value within this group of demo values. However if
the demo value is for a market, there may be a demo value per market within this group of
demo values. </xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="DemoValue" type="gap:demoValueType" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:unique name="DemoValueConstraint">
<xsd:annotation>
<xsd:documentation>Constraint allows only up to one demo value for a demo category, and per
market when a market reference exists. </xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="gap:DemoValue"/>
<xsd:field xpath="@demoRef"/>
<xsd:field xpath="@marketRef|@demoRef"/>
</xsd:unique>
<DemoValues>
<DemoValue demoRef="DM0" marketRef="MKT1">0.40</DemoValue>
<DemoValue demoRef="DM1">15.00</DemoValue>
</DemoValues>
は、このエラーが発生します:
要素 '{http://www.AAAA.org/schemas/canadianTVGAP}DemoValue'、属性「マークここ
は、問題のあるXMLでありますetRef ':一意の識別制約のフィールドの{@ http://www.AAAA.org/schemas/canadianTVGAP}DemoValueConstraint}のXPath' @marketRef | @demoRef 'は、複数のメンバーを持つノードセットを評価します。
簡略化されたエラーは次のとおりです。 フィールド 'marketRef'には、最大1つの値が必要です。
XMLの目的は、これらすべての組み合わせできるようにすることである。
1)
<DemoValues>
<DemoValue demoRef="DM0" marketRef="MKT1">0.40</DemoValue>
<DemoValue demoRef="DM1">15.00</DemoValue>
</DemoValues>
2)
<DemoValues>
<DemoValue demoRef="DM0" marketRef="MKT1">0.40</DemoValue>
<DemoValue demoRef="DM0" marketRef="MKT2">0.41</DemoValue>
<DemoValue demoRef="DM0" marketRef="MKT3">0.42</DemoValue>
<DemoValue demoRef="DM0" marketRef="MKT4">0.43</DemoValue>
<DemoValue demoRef="DM1">15.00</DemoValue>
</DemoValues>
3)のいずれについて
<DemoValues>
<DemoValue demoRef="DM0" marketRef="MKT1">0.40</DemoValue>
<DemoValue demoRef="DM1" marketRef="MKT1">0.41</DemoValue>
<DemoValue demoRef="DM2" marketRef="MKT1">0.42</DemoValue>
<DemoValue demoRef="DM3">15.00</DemoValue>
</DemoValues>
おかげ助けて!!
この場合、スキーマを定義するときのフィールドと属性の違いは何ですか? (XSD初心者の言い訳はありません) – Paul