M坚持这个错误请帮帮我.....
我的.xml文件是
<?xml version="1.0"?>
<addresses xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation='Lsc.xsd'>
<lscApplicationform>
<programmes>
<course>MBA(12 months)</course>
</programmes>
<personalDetails>
<surname>Sagar</surname>
<firstname>Shiva</firstname>
<gender>Male</gender>
<placeofbirth>Ulhasnagar</placeofbirth>
<nationality>Indian</nationality>
<countryofbirth>India</countryofbirth>
<dateofbirth>1993-06-03</dateofbirth>
</personalDetails>
<permanentAddress>
</permanentAddress>
</lscApplicationform>
</addresses>
我的xsd文件是
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="lscApplicationForm">
<xs:complexType>
<xs:sequence>
<xs:element name="programmeType" type="xs:string">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="MBA( months)"/>
<xs:enumeration value="MBA( months)"/>
<xs:enumeration value="MSc InformationTechnology"/>
<xs:enumeration value="Msc InternationalHospitalityManagement"/>
<xs:enumeration value="Msc InternationalTourismManagement"/>
<xs:enumeration value="BA(Hons)BusinessStudies"/>
<xs:enumeration value="BSc(Hons)Computing"/>
<xs:enumeration value="PhD/ProfessionaDoctorate"/>
<xs:enumeration value="Other(pleasespecify)"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="personalDetails" type="xs:string"/>
<xs:complexType>
<xs:sequence>
<xs:element name="Surname" type="xs:string"/>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="100"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="Gender"/>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="male|female"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="placeOfBirth" type="xs:string"/>
<xs:element name="Nationality" type="xs:string"/>
<xs:element name="CountryOfBirth" type="xs:string"/>
<xs:element name="dob" type="xs:date"/>
</xs:sequence>
</xs:complexType>
<xs:element name="permanentAddress" type="xs:string"/>
<xs:complexType>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
还有一个错误 s4s-elt-must-match.1:'programmeType'的内容必须匹配(注释?,(simpleType | complexType)?,(unique | key | keyref)*))。从:element。
开始发现了一个问题提前致谢....
答案 0 :(得分:3)
XSD架构文档的XML语法非常复杂,使用能够理解XSD语法并可以随时验证的编辑器确实很有用。无论是否有这样的编辑器,您可能都希望花一些时间查看XSD上的基本教程。
您的基本问题(以不同形式多次出现)是您的架构文档不遵守架构文档的语法约束。
您的一些元素声明有type="xs:string"
,它指定元素的类型为xs:string
,而 还有xs:simpleType
或{ {1}}个子节点,它指定元素的类型是不同的。在任何元素声明中,使用 xs:complexType
属性或类型定义子(simpleType或complexType),而不是两者。
你的一些元素声明被标记为空元素,后面紧跟一个type
或simpleType
元素,我猜这个元素是元素声明的子元素,而不是后面的兄弟元素
一旦解决了这些问题,您的架构文档在语法上就可以了,然后您可以将注意力转移到让它说出您想要说的内容上。
答案 1 :(得分:1)
试试这个:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="addresses">
<xs:complexType>
<xs:sequence>
<xs:element ref="lscApplicationform"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="lscApplicationform">
<xs:complexType>
<xs:sequence>
<xs:element name="programmes">
<xs:complexType>
<xs:sequence>
<xs:element name="course">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="MBA( months)"/>
<xs:enumeration value="MBA( months)"/>
<xs:enumeration value="MSc InformationTechnology"/>
<xs:enumeration value="Msc InternationalHospitalityManagement"/>
<xs:enumeration value="Msc InternationalTourismManagement"/>
<xs:enumeration value="BA(Hons)BusinessStudies"/>
<xs:enumeration value="BSc(Hons)Computing"/>
<xs:enumeration value="PhD/ProfessionaDoctorate"/>
<xs:enumeration value="Other(pleasespecify)"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="personalDetails">
<xs:complexType>
<xs:sequence>
<xs:element name="Surname">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="100"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Gender">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="male|female"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="placeOfBirth" type="xs:string"/>
<xs:element name="Nationality" type="xs:string"/>
<xs:element name="CountryOfBirth" type="xs:string"/>
<xs:element name="dob" type="xs:date"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="permanentAddress" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>