非常に興味深い質問です。 XSDは有効なXML文書の構造(どの要素がどのような順序で何回、何回出現できるかなど)を記述しているため、XSDで行うことができます。したがって、アプリケーションはこのプロセスを回り、入力ウィジェット要素や要素の並べ替えなどを行うことができるフォームを表示し、最後に有効なXMLドキュメントを生成することができます。
しかし、SchematronはXMLドキュメントの構造については説明しませんが、むしろ非常に強力なセマンティックルールや制約を与えます。したがって(一般的なケースでは)、プロセスは、有効なXML文書を生成するフォームを表示するために元に戻すことはできません。しかし、それはあなたのSchematronsがどのように見えるかに応じて行われますが、(this pageから取られた)この単純な例を考えることができます。
ますので、このSchematronのに対して、有効なXML文書を生成し、多くの異なるXML文書の構造があります
<schema xmlns="http://www.ascc.net/xml/schematron" >
<pattern name="Test integer">
<rule context="AAA">
<assert test="floor(.) = number(.)">The AAA value is not an integer.</assert>
</rule>
</pattern>
</schema>
要素の値を埋めるためのフォームがあるかもしれませんが、Schematronは、文書の構造が何であるべきかに関する十分な情報を提供していません:要素の配置場所、要素の表示回数、など。
出典:私の最終学位プロジェクトでは、XSD(およびオプションでSchematron、およびオプションでXSLT)を指定したマルチプラットフォームアプリケーションを構築しました。 XML/XSD/Schematron/XSLTについて何も知らなくても、XSDとSchematronに対して有効なXML文書を作成することができます。 Schematron(存在する場合)の情報は、追加のバリデーションを実行するために使用され、さらに選択された場合、Schematronエラーを引き起こす列挙値を動的に無効にします。しかし、Schematronの情報は、XML文書がどのような構造を持つべきかを知るには不十分でした(その情報はXSDに存在していました)。必要に応じて、XSLTドキュメント(存在する場合)を使用して、結果のXMLドキュメントをHTMLやPDFなどのユーザーに適した他のタイプのドキュメントに変換することもできます。
ご説明いただきありがとうございます。 – Jacek
あなたは大歓迎です:D – sergioFC