第一个XSD:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3schools.com">
<xs:element name="studentAI">
<xs:complexType>
<xs:sequence>
<xs:element name="gender">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="female"/>
<xs:enumeration value="male"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="age">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="100"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="other" type="desc"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="desc">
<xs:sequence>
<xs:element name="height" type="xs:string"/>
<xs:element name="weight" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
第二个XSD:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3schools.com">
<xs:element name="group">
<xs:complexType>
<xs:sequence>
<xs:element name="student" minOccurs="2" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="student">
<xs:sequence>
<xs:element name="surname" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
<xs:element name="birthday">
<xs:simpleType>
<xs:restriction base="xs:date"/>
</xs:simpleType>
</xs:element>
<xs:element name="parents" type="parentsDetails"/>
<xs:element name="allCourses" type="allCoursesDetails"/>
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="required"/>
</xs:complexType>
<xs:complexType name="parentsDetails">
<xs:sequence>
<xs:element name="father" type="xs:string"/>
<xs:element name="mother" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="allCoursesDetails">
<xs:sequence>
<xs:element name="course" type="courseDetails" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="courseDetails">
<xs:attribute name="nr" use="required"/>
</xs:complexType>
</xs:schema>
我需要根据这两个XSD模式获取的XML文档(抱歉,现在是空的,但当然必须有信息,并且小组中会有不止一个学生):
<group xmlns:xs="http://www.w3schools.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3schools.com ">
<student id="1">
<surname></surname>
<name></name>
<birthday></birthday>
<parents>
<father></father>
<mother></mother>
</parents>
<allCourses>
<course nr="01"></course>
<course nr="02"></course>
</allCourses>
<studentAI>
<gender></gender>
<age></age>
<other>
<height></height>
<weight></weight>
</other>
</studentAI>
</student>
</group>
我真的不知道如何在我的XML文档中包含这两个XSD模式。我应该将它们都包含在XML文档中,还是先将第一个XSD模式包含在第二个模式中(因为在结果XML中是这样做的),然后再将合并后的模式包含在XML文档中?如何做到这一点?
我最大的问题是所有三个文档的上部,其中一个应该放置命名空间的声明等。
至于我正在尝试使用的程序,它是氧气(我有30天的许可证)。
我真的希望有人能帮助我解决这个问题。我也希望我的问题很清楚。
非常感谢您提前的帮助!
<student>
不允许有一个<studentAI>
元素(或者我错了吗)?当使用多个XSD时,这些XSD可能有自己的命名空间,并且可以将命名空间绑定到XSD。因此,您可以为XSD 1指定namespaceA,为XSD 2指定namespaceB。 - Wouter Jstudent
中不允许包含studentAI
,但我需要以某种方式组合我的XSD并根据它们创建我的XML。至于命名空间,我认为两个XSD可以有相同的命名空间。因此,我需要将它们包含在我的XML中,但我不知道如何做到这一点... - Ms.Smith