私はこれに対する答えをどこでも探しましたが、見つけることができないようです。
XSDファイルに対してXMLファイルを検証しようとしています。私はこれまでこれを書いてきました。
$x_validate = new DOMDocument();
$x_validate->load($xml_path);
$x_validate->schemaValidate($xsd_path);
最初に、パスはリモートの場所に設定されました。次に、これらのリモートファイルを表示するには認証が必要であることに気付きました。したがって、これを回避するために、ファイルを自分のディレクトリにダウンロードして、パスが次のようになるようにしました。
$xml_path = "./test-v1.xml";
$xsd_path = "./test-v1.xsd";
これに関する唯一の問題は、それが機能せず、いくつかのエラーが発生したことです。それらの1つはこれです。セキュリティ上の理由から、URLを空白にしました。
Warning: DOMDocument::schemaValidate() [domdocument.schemavalidate]: Element '{http://www.w3.org/2001/XMLSchema}include': Failed to load the document 'https://****' for inclusion. in C:\Xampp\htdocs\cdes\xml-validation\run-validation.php on line 15
したがって、このエラーのために、URLの元のリモート参照に戻ります。
スキーマを検証する前に、認証ユーザー名とパスワードをXSDおよびXMLファイルに送信する正しい方向を誰かに教えてもらえますか?
ありがとうございました。