如何使用xsd限制将Xml内容约束到特定长度?

时间:2010-07-23 03:10:26

标签: xml xsd constraints restriction

使用XSD,是否可以约束节点内的总文本。 在下面的示例中,我希望地址节点内容限制为255个字符。

<Address>
    <Line1>Text</Line1>
    <Line2>Text</Line2>
    <City></City>
    <Street></Street>
    <State></State>
    <Country></Country>
</Address>

所以,如果我的地址中只有Line1和Line2,而City,Street,State和Country都是空的,则Line1可以是254个字符,Line2将是1个字符。

是否可以在xsd本身内设置此类约束/限制?

1 个答案:

答案 0 :(得分:0)

您可以使用单个元素将文本约束为给定大小,即

            <xs:element name="Line1">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:maxLength value="255" />
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>

但你不能说Line1 + line2 + City ...&lt; 255。