問題タブ [schematron]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1580 参照

xml - 前後の兄弟テキスト コンテンツをすべて取得する

次の XML を検討してください。

太字タグの文字間に非アルファがあるため、p34 はパスする必要があります
太字タグの外側にアルファ文字がないため、p35 はパスする必要があり
ます 太字テキストと他のテキストの間に非アルファがあるため、p36 はパスする必要があります
p37 はパスする必要があります太字テキストと他のテキストの間に非アルファがあるため、合格
太字アルファ文字の間にアルファ文字がないため、p38 は失敗する必要が
あります 太字テキストと「foo」または「bar」の間にアルファ文字がないため、p39 は失敗する必要があります

スキーマトロンを介してこれを行う私の試みは次のとおりです。

これの問題は、現在のコンテキストの親の直接の子テキスト ノードのみを参照することです。そのため、直接の子テキスト ノードがないため、p38 は失敗しません。また、b<foo>bar <bold>pass</bold>「b」のみが表示され、 が表示されないためpreceding-sibling::text()、次のようなものは失敗し"foo "ます。

::*/text()の代わりにも試しまし::text()たが、兄弟要素内のテキストしか表示されず、直接の兄弟テキストノードを取得できないため、同様の問題が発生します。両方をまとめる必要がありますが、方法を知っている人はいますか?


たとえば、この xml では次のようになります。

文脈ルールがヒット<bold>THIS</bold>して前にチェックしているときは見て"hello bar "ほしい、次をチェックしているときは見てほしい" bargoodbye"

0 投票する
1 に答える
561 参照

python - etree schematron 検証はタグを拡張します

他のスキーマを含むスキーマのグループを使用して、xml を検証しようとしています。

主なスキーマトロン:

一般的なシュマトロン:

問題は、メイン スキーマで、直接アサーション タグを配置した場合です。たとえば、次のようになります。

そのような「ルール」タグの間:

etree の isoschematron.Schematron クラスよりも、メインのスキーマトロンを検証します。そうしないと、次のようなエラーがスローされます。

etree.Schematron クラスで試してみましたが、「SchematronParseError: 無効なスキーマトロン スキーマ:」もスローされます。

問題はschematronのものだと思います

鬼ごっこ。つまり、schematron がルールの外部アサーションを使用すると、エラーが表示されます。

Pythonを使用して、関連する統合されたスキーマトロンを操作する正しい方法は何ですか?

前もって感謝します。

0 投票する
1 に答える
294 参照

xslt - 「xsl:value-of」に相当する XPath/Schematron

スキーマトロン パターンを作成したところ、予期しないエラーが見つかりました。

文字列 ("Robinson 1983" など) を xsl 関数の出力と比較しようとしました。私の機能はこのように機能します

だから、スキーマトロンでは

関数の出力は 3 つのテキスト要素で構成されるシーケンスであるため、"false" が返されました。

xsltを使用して修正できました

期待どおり「true」を返しました。

しかし、私は疑問に思っています:これは「純粋な」Schematron/XPathでどのように解決されるのでしょうか? xsl:value-of に相当するものはありますか? つまり、シーケンスを文字列に変換して、他のコンテンツを取り除きます。これは、XPath で実行したい最も重要なことの 1 つだと思いますが、解決策が見つかりませんでした。

0 投票する
0 に答える
764 参照

xml - 私の XSLT (Schematron から) が私の xml ファイルを検証しないのはなぜですか?

XML ファイルを検証しようとしています。簡単な Schematron (.sch) ファイルを作成し、XSLT ファイルに変換しました (酸素を使用)。また、酸素では、すべての検証が期待どおりに機能します。ただし、変換を処理する Java (非常に複雑) で記述されたカスタム サービスがあります。(他の多くのxml->xsltファイルでしばらく使用しているため、サービスが機能することはわかっています)。しかし、私が興味を持っているのは、Oxygen によって生成された XSLT が機能しない理由です (または、私が知らないだけかもしれません)。通常、xml-transformation サービスが XSLT ファイルを処理する (そして失敗する) と、エラーがスローされます。この場合、エラーはスローされず、XML ファイルは単に消えます ?. IE XSLT ファイルの値の 1 つを変更すると、メッセージが意図的に失敗するはずですが、サービスはまだエラーをスローしませんか?. 質問は、この XSLT ファイルを使用しているときに変換が失敗したことをどのように知ることができるかということです。「検証に失敗しました」などを印刷できますか?

これは Oxygen によって生成された私の XSLT です

そして、これは私が検証しようとしているXMLファイルです

0 投票する
0 に答える
1862 参照

xsd - XML 検証: XSD または Schematron?

適度に複雑なスキーマ (SAML メタデータ) の検証を強化する必要があります。1000 行のスキーマ定義を提供する 10 個の XSD ファイル。検証では、主にオプションの要素と属性を要求し、ノードと属性の内容を特定の値に制限し、推奨または非推奨の要素と属性について警告を発し、元のスキーマの拡張要素にあるものを含め、スキーマの一部ではないものをすべて拒否する必要があります。これに最適なアプローチは何ですか?プレーンな XSD、XSD + アサーション、Schematron、または何らかの言語を使用してドキュメントを解析しますか?