Scilab 5.4.0
Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
xmlValidate
DTD, Relax NG または Schema により文書を検証する.
呼び出し手順
error = xmlValidate(docs [, valid])
引数
- docs
XMLDoc型のmlistまたはXML文書へのパスを有する文字列の行列
- valid
XMLValid型のmlist.
- error
エラーが発生した場合は文字列の行列,そうでない場合は[]
説明
パース済みの文書または指定されたパスの一連の文書を DTD, Relax NG, Schemaで検証します. 文書が有効な場合は空の行列,そうでない場合は エラーメッセージを含む文字列の行列が返されます.
パスを指定して文書を検証することで性能が改善され,消費メモリが減少します.
現時点では外部DTDで文書を検証することはできません. これを行う唯一の方法はXMLファイルに <!DOCTYPE foo SYSTEM "foo.dtd"> のような記述を行い, xmlValidateを2番目の引数を付けずに使用することです.
例
doc = xmlRead("SCI/modules/xml/tests/unit_tests/library.xml"); dtd = xmlDTD("SCI/modules/xml/tests/unit_tests/library.dtd"); schema = xmlSchema("SCI/modules/xml/tests/unit_tests/library.xsd"); rng = xmlRelaxNG("SCI/modules/xml/tests/unit_tests/library.rng"); // 文書が有効かどうかを調べます // エラーがない場合,ファイルは有効です // DTD xmlValidate(doc, dtd); // Relax NG xmlValidate(doc, rng); // Schema xmlValidate(doc, schema); // 新規要素に文書が追加されます doc.root.children(3) = "<a>error</a>" // ここで検証は失敗します xmlValidate(doc, dtd); xmlValidate(doc, rng); xmlValidate(doc, schema); // パスを指定して文書を検証できます xmlValidate("SCI/modules/xml/tests/unit_tests/library.xml") xmlValidate("SCI/modules/xml/tests/unit_tests/invalid_library.xml") xmlValidate("SCI/modules/xml/tests/unit_tests/library.xml", schema) xmlValidate("SCI/modules/xml/tests/unit_tests/invalid_library.xml", rng) // オープンした文書を全て削除します xmlDelete(doc, dtd, schema, rng);
参照
- xmlDTD — XML DTDオブジェクトを作成
- xmlSchema — XMLスキーマオブジェクトを作成する
- xmlRelaxNG — XML Relax NGオブジェクトを作成する
履歴
Version | Description |
5.4.0 | XMLモジュールが導入されました. |
Report an issue | ||
<< xmlSetAttributes | XML Management | xmlWrite >> |