問題タブ [dtd-parsing]
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.
xml-validation - DTD を使用して XML 内の xml:lang ATTLIST を検証する方法は?
インターネット上の多くの記事 (このxml:lang
記事など) では、または何らかのカスタム属性を使用して、XML タグ内の言語に関するメタ情報をエンコードすることを提案しています。彼らは、これらのコードがBCP47 標準に準拠している必要があると述べています。
記事が示唆するように言語属性をエンコードするとどうなるか見てみましょう:
- 内部DTD:
<!ATTLIST text xml:lang NMTOKEN #IMPLIED>
- XML の内部:
<text xml:lang="YODU991Yklew-e-ijsw02ijwk">...</text>
期待される結果は何ですか?
DTD バリデーターは、YODU991Yklew-e-ijsw02ijwk
コードが実際の BCP47 言語コードであるかどうか、国とスクリプトが存在するかどうかを確認し、それらのコードが正しくない場合は赤でマークします。http://schneegans.de/とまったく同じ方法で、これらのコードを検証できます (間違ったコードと正しいコード)。
代わりに何が起こりますか?
Validator は、この属性を何らかのテキストとしてのみ認識し、それが実際の言語コードまたは意味不明なものである場合、検証しません。
delphi - MSXML6 で DTD ノード構造を解析する方法
MSXML6 を使用して Delphi アプリケーションで解析したいスタンドアロンの DTD ファイルがいくつかあります。DTD ファイルの内容は次のようになります。
このデータを MSXML で読み込もうとすると、「DTD の外側に DTD 宣言を含めることはできません」というエラー メッセージが表示されて失敗します。
DTD を次のような DOCTYPE 要素にラップする場合:
パーサーは成功しますが、DTD 構造を反復処理できません。ドキュメントをロードして表示する(Delphi)コードは次のようになります。
MSXML6 を使用して DTD ノード構造を反復処理する方法はありますか?
python - ローカルの MathML DTD を介して MathML xml 文字列を検証する
この方法で lxml を使用して MathML XML 文字列を検証しようとしています。
このようにして、mathml 文字列で指定された DTD に対してチェックし、ネットワークを介して文字列を検証します。
質問
利用可能な nwtwork がない場合、ローカル DTD に対して mathml 文字列を検証するにはどうすればよいですか?
私が試したこと
https://www.w3.org/Math/DTD/mathml3/mathml3.dtdから MathML DTD 3 をダウンロードし、https : //www.w3.org/Math/DTD/mathml1/ から MathML DTD 1をダウンロードしました。 mathml.dtdを作成して現在の作業ディレクトリに保存した後、ローカル DTD を指すように DOCTYPE 宣言を変更しまし<!DOCTYPE math SYSTEM "path/to/mathml_dtd.dtd">
たno_network=True
。
私はこのエラーを持っています:
MathML DTD 1 のローカル コピーを使用すると、代わりに次のようになります。