私はこのXML持っている:XSDを介してXMLでより小さい(<)と大きい(>)を検証しますか?
<?xml version="1.0" encoding="utf-8"?>
<data>
<A>2>1</A>
<B>0<1</B>
</data>
を、私はこのXSDでそれを検証する:
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="data">
<xs:complexType>
<xs:sequence>
<xs:element name="A">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[^<>]+" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="B">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[^<>]+" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
私が検証するためにxmllintを使用して、私はこのエラーを得た:
をSchemas validity error: Element 'A': [facet 'pattern'] The Value '2>1' is not accepted by the pattern '[^<>]'.
Schemas validity error: Element 'B': [facet 'pattern'] The Value '0<1' is not accepted by the pattern '[^<>]'
誰もが見る通り、<
またははありません要素内のA
およびB
。私は2>1
と0<1
です。 xmllintがxmlを検証する前に、2>1
を2>1
と0<1
〜0<1
に転送してから、それらが正しくないと報告します。
文字列にシンボルよりも大きくてもなくてもいけないことを要求する文字列を"2>1"
と"0<1"
に渡すことはできますか?