gpt4 book ai didi

xml - 如何向 XML (XSD) 模式中的复杂类型添加限制?

转载 作者:数据小太阳 更新时间:2023-10-29 01:51:07 25 4
gpt4 key购买 nike

任何人都可以帮我添加一个限制到这个模式文件(对于 OwnerEnglishName)吗?我知道如何使用简单类型来实现,而在复杂类型中我不知道如何实现。谁能帮忙?

非常感谢。

原始 XML:

<PACIDemoSignedDoc PaciSDocID="HouseOwnerSignedEndorsement">  
<OwnerEnglishName OENID="Name"></OwnerEnglishName>
</PACIDemoSignedDoc>

架构(无限制):

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="PACIDemoSignedDoc" type="PACIDemoSignedDocType" />
<xs:complexType name="PACIDemoSignedDocType">
<xs:sequence>
<xs:element name="OwnerEnglishName" type="OwnerEnglishNameType" />
</xs:sequence>
<xs:attribute name="PaciSDocID" type="xs:string" />
</xs:complexType>
<xs:complexType name="OwnerEnglishNameType">
<xs:attribute name="OENID" type="xs:string" />
</xs:complexType>
</xs:schema>

限制码:

<xs:restriction base="xs:string">
<xs:minLength value="5"/>
<xs:maxLength value="100"/>
</xs:restriction>

最佳答案

这样做就可以了:-

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="PACIDemoSignedDoc" type="PACIDemoSignedDocType" />
<xs:complexType name="PACIDemoSignedDocType">
<xs:sequence>
<xs:element name="OwnerEnglishName" type="OwnerEnglishNameType" />
</xs:sequence>
<xs:attribute name="PaciSDocID" type="xs:string" />
</xs:complexType>
<xs:complexType name="OwnerEnglishNameType">
<xs:simpleContent>
<xs:restriction base="NameType">
<xs:minLength value="5"/>
<xs:maxLength value="10"/>
</xs:restriction>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="NameType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="OENID" type="xs:string" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:schema>

这是具有此模式的可接受的 XML 示例

<?xml version="1.0" encoding="UTF-8"?>
<PACIDemoSignedDoc xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" PaciSDocID="gggg">
<OwnerEnglishName OENID="9999">GGGGG</OwnerEnglishName>
</PACIDemoSignedDoc>

关于xml - 如何向 XML (XSD) 模式中的复杂类型添加限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10025419/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com