2017-06-02 4 views
0

XSDファイルのデータ構造をSchematronに入れるよりも簡単で冗長であるため、単一のエンティティを検証するためにXSDファイルを使用しているので、私はこれらをSchematronの最初の検証フェーズとして含めることにします。Schematronの検証(.sch)にスキーマの検証(.xsd)を含める[逆の方法ではない]

他の方法を説明するチュートリアルが見つかりました(XSDの組み込みのSchematronルール)。

要素<sch:include href="my.xsd">が見つかりましたが、(oXygenを使用して)検証すると、違いがないようです。

これは問題なくサポートされるべきであるか、そうでなければならないので、私は非常に明白な何かを見逃しているようです。

答えて

2

私が知る限り、SchematronにXSDを含めるという概念はありません。あなたはSchematronの中でXSLTを埋め込むことができ、XSLTスキーマ認識があなたの入力データを検証することが可能であるとしてではなく、あなたは、XSLを使用することができます。import-スキーマを:

スキーマを意識したSchematron検証のために有効にする必要があり、酸素中で
<sch:schema xmlns:sch="http://purl.oclc.org/dsdl/schematron" queryBinding="xslt2" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    xmlns:sqf="http://www.schematron-quickfix.com/validator/process"> 

    <xsl:import-schema schema-location="path/to/my.xsd"/> 

    <!-- [your schematron rules] --> 
</sch:schema> 

xslt2/xslt3クエリ言語バインディングには、Saxon EE(スキーマ対応)を使用してください。 - > XML - > XML-Parser - > Schematron - >

+0

ありがとうございます。これは、SaxonicaライブラリのライセンスEEバージョンのみが提供するプレミアム機能です。 oXygenはそれを行うことができます(有料製品なので)。しかし、XMLbuddyValidatorは、HEバージョンのsaxonライブラリを使用するため、できません。 – KarmaEDV