我有一个(课程)的模式,这是:
targetNamespace="http://www.nova.edu/course"
xmlns="http://www.nova.edu/course"
xmlns:ins="http://www.nova.edu/instructor"
xmlns:mat="http://www.nova.edu/materials"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
<xs:import schemaLocation="InstructorSchema.xsd" namespace="http://www.nova.edu/instructor" />
<xs:import schemaLocation="MaterialsSchema.xsd" namespace="http://www.nova.edu/materials" />
<xs:element name="course">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="title"/>
<xs:element type="xs:string" name="program"/>
<xs:element type="xs:short" name="number"/>
<xs:element name="term">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:int" name="crn"/>
<xs:element type="xs:int" name="code"/>
<xs:element type="xs:string" name="name"/>
<xs:element type="xs:short" name="year"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="schedule">
<xs:complexType>
<xs:sequence>
<xs:element name="dates">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:date" name="startdate"/>
<xs:element type="xs:date" name="enddate"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element type="xs:string" name="day"/>
<xs:element name="time">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="starttime"/>
<xs:element type="xs:string" name="endtime"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="location">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="building"/>
<xs:element type="xs:short" name="room"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element ref="ins:instructor" />
<xs:element ref="mat:materials" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
现在正在尝试创建一个新模式,该模式定义一个Courses元素,该元素是零个或多个(课程)元素的集合。
targetNamespace="http://www.nova.edu/allcourses"
xmlns="http://www.nova.edu/allcourses"
xmlns:cor="http://www.nova.edu/course"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
<xs:import schemaLocation="CourseSchema.xsd" namespace="http://www.nova.edu/course" />
<xs:element name="courses">
<xs:complexType>
<xs:sequence>
<xs:element name="course" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
我不确定是否应该在新架构中添加更多元素以使其正常运行。这个想法只是为了能够有多个课程,每个课程都基于上面的(课程)模式。
答案 0 :(得分:0)
在courses
元素中,使用
<xs:element ref="course" minOccurs="0" maxOccurs="unbounded"/>
引用元素course
的现有声明,而不是在本地重新定义。