私はXML開発において非常に新しいので、私は実際に私が専門家ではないためにオンライン資料を読んでいます。私は私のschematronファイルに問題があります。xpathで@seqを使用してブックパーツの正しい順序を確認する
問題: schematronは、すべてのブックパーツが@seqを通して順番にチェックされているかどうかを確認する必要があります。しかし、私の現在のschematronタグ付けは、ネストされたブックパーツでは機能しません。
XML:
<book>
<meta>....</meta>
<body>
<book-part seq="1">....</book-part>
<book-part seq="2">....</book-part>
<book-part seq="3">
<book-part-meta>....</book-part-meta>
<book-body>
<book-part seq="4">....</book-part>
<book-part seq="5">....</book-part>
<book-part seq="6">....</book-part>
</book-body>
</book-part>
<book-part seq="7">
<book-part-meta>....</book-part-meta>
<book-body>
<book-part seq="8">....</book-part>
<book-part seq="9">....</book-part>
<book-part seq="10">....</book-part>
</book-body>
</book-part>
<book-part seq="11">....</book-part>
<book-part seq="12">....</book-part>
</body>
</book>
Schematronのタグ付け:
<rule context="book-part[@seq]"> <report role="error" test="preceding::book-part[@seq] and number(@seq) != (number(preceding::book-part[1]/@seq) + 1)">Book-parts must be in sequence</report> </rule>
Schematronのエラーブック部分配列= "4"とブック部分配列= "8"。最初にネストされた本の部分に問題があるようです。これで私を助けることができる人がいますか?
をああ、これは私が現時点で持っているものと比較し、より簡単なようです。 – Tin
非常に感謝しています! –