質問

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.5libxml 2.7.7 winxpで。

役に立ちましたか?

解決

それに直面して、それはバグのように見えますが、ここにはそれを確実に言うのに十分な情報がありません。

別のスキーマプロセッサで検証を実行してみましたか?バグが疑われる場合、それはあなたの最初のステップであるはずです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top