PHPのdomdocument :: schemavalidateSource()を介したxsd minlengthの検証
-
26-10-2019 - |
質問
XSDを介してXMLを検証したい。私のXSDは正常に機能することに言及しなければなりません、 を除外する このワンピース:
<xs:element name="some_element">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="50"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
私はこれをXMLに対して検証するためにラッパーPHPクラスを作成しました。
$dom = new DOMDocument();
$dom->loadXML($xml);
// handle errors manually
set_error_handler(array($this, 'errorHandler'));
// validate
$isValid = $dom->schemaValidateSource($xsd);
// restore default error handler
restore_error_handler();
問題は、それであってもです <some_element></some_element>
また <some_element>[100_chars_here]</some_element>
, 、それは検証(私はエラーがありません)、そして私はその要素に対して最小コンテンツの長さ50を持ちたいと思っています。
どこかにバグがありますか?ここに何が欠けていますか? XSDのRegexパターンで動作しますが、それらを使用したくありません。
私は使用しています PHP 5.3.5
と libxml 2.7.7
winxpで。
解決
それに直面して、それはバグのように見えますが、ここにはそれを確実に言うのに十分な情報がありません。
別のスキーマプロセッサで検証を実行してみましたか?バグが疑われる場合、それはあなたの最初のステップであるはずです。
所属していません StackOverflow