1
我有一個簡單的XML文件,其中包含3個基本元素。第一個是必需的(minOccurs = 1),第二個和第三個是可選的。但是,如果使用第二個元素,那麼我想要第三個元素。他是XML:使用第一個元素時,需要在XSD上創建第二個元素
<?xml version="1.0" encoding="utf-8" ?>
<resultado>
<consulta fonte="1" origem="Origem">0</consulta>
<status resultado="REGULAR">0</status>
<informacoes>
<informacao tipo="CPF" dado="23340058865"></informacao>
<informacao tipo="Nome" dado="Nome Titular CPF"></informacao>
<informacao tipo="Endereco" dado="Rua Sem Fim, 48"></informacao>
<informacao tipo="Cidade" dado="Fim do Mundo"></informacao>
<informacao tipo="Estado" dado="TO"></informacao>
<informacao tipo="Cep" dado="93847832"></informacao>
<informacao tipo="Fone" dado="5938476354"></informacao>
</informacoes>
</resultado>
如果status
元素傳遞,然後informacoes
成爲一個必需的元素。
下面是我的XSD:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="codigoresultado">
<xs:restriction base="xs:unsignedByte">
<xs:enumeration value="0"/>
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
<xs:enumeration value="3"/>
<xs:enumeration value="4"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="resultadoconsulta">
<xs:restriction base="xs:unsignedByte">
<xs:enumeration value="0"/>
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
<xs:enumeration value="3"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="resultado">
<xs:complexType>
<xs:sequence>
<xs:element name="consulta" minOccurs="1" maxOccurs="1">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="resultadoconsulta">
<xs:attribute name="fonte" type="xs:integer" use="required" />
<xs:attribute name="origem" type="xs:string" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="status" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="codigoresultado">
<xs:attribute name="resultado" type="xs:string" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="informacoes" minOccurs="0" >
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="unbounded" name="informacao">
<xs:complexType>
<xs:attribute name="tipo" type="xs:string" use="required" />
<xs:attribute name="dado" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
這可能嗎?如果是,如何? 謝謝!
好主意Marc ......將其作爲回答發佈,所以我可以將其標記爲已回答,並且您將獲得信用。有效! – Pascal 2010-08-22 21:26:22