1

VAST2.0 XML タグの検証

$xsdPath='https://github.com/chrisdinn/vast/blob/master/lib/vast_2.0.1.xsd'
$domdoc= new DOMDocument(); 
$domdoc->loadHTML($xml_input); 
if(!$domdoc->schemaValidate($xsdPath)){/* ... */}

次のような無意味なメッセージを返しますError 1845: Element 'html': No matching global declaration available for the validation root.

私の意見では、スキーマ xsd と膨大な xml の両方に .

同じことを試す

$reader = new XMLReader();
$reader->XML($xml_input);
$valid = $reader->setSchema($xsdPath);
$reader->read();
$reader->close();

同じエラー コードを返します。

xsdトゥウィッチをチェックしました。https://github.com/chrisdinn/vast/blob/master/lib/vast_2.0.1.xsdと同じです。

これを修正する方法はありますか?

4

3 に答える 3

1

XSD スキーマ ドキュメントに指定した URI を逆参照すると、XSD スキーマ ドキュメントが取得されません。XSD スキーマ ドキュメントのレンダリングを表示する HTML ドキュメントを取得します。xs:schema 要素が表示されることを期待しているバリデーターが、代わりに HTML 要素を表示するときに、引用したエラー メッセージを発行することは、私にとって完全に理にかなっています。

バリデーターが必要とする XML ドキュメントを実際に提供する URI を見つけるか、ローカル コピーを作成してそのローカル コピーを指すことができます。しかし、HTML に埋め込まれている XSD ドキュメントを PHP のスキーマ検証が検出することを期待することは、合理的に予想できる以上のことを求めています。

于 2013-03-05T15:44:33.243 に答える