質問

私はこれが可能であるとは思わないが、私はそこにそれを投げるだろうと思っていました。このXMLを考える:

 <people count="3">
      <person>Bill</person>
      <person>Joe</person>
      <person>Susan</person>
 </people>

これは、(この場合は、person要素)定義された要素の正確な数であることを@count属性値を強制的にXSDには可能ですか?上記の例では、明らかに正しいものとなる例以下だろうない検証

 <people count="5">
      <person>Bill</person>
      <person>Joe</person>
      <person>Susan</person>
 </people>
役に立ちましたか?

解決

私は、XSDはそれを行うことはできません確信しています。しかし、あなたのcount属性は、以下の要素の実際の数であることを保証する場合は、文書にXSLTスタイルシートを実行すると、値を設定することで、真されていることを確認することができます:

<xsl:template match="people">
   <xsl:attribute name="count">
      <xsl:value-of select="count(person)"/>
   </xsl:attibute>
   <xsl:apply-templates/>
</xsl:template>

<!-- insert your identity template here -->

他のヒント

パーサーXSD仕様1.1を実装する子の数に対するXMLコンテンツを検証するために使用することができるアサート機能を提供しなければならないノード

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top