【发布时间】:2023-04-08 02:42:01
【问题描述】:
我已将名为 Classroom 的属性插入到名为 Lecture 的元素中。这是 XML 架构:
<xsd:attribute name="Classroom" use="required">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="0"/>
<xsd:maxLength value="7"/>
</xsd:restriction>
</xsd:simpleType>
.
.
.
<xsd:complexType name="labType">
<xsd:complexContent>
<xsd:restriction base="eventType">
<xsd:sequence>
<xsd:element name="Title" type="xsd:string"/>
<xsd:element name="Lecture" maxOccurs="10" minOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="Clasroom" use="prohibited"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
.
.
.
<xsd:element name="Lab" substitutionGroup="Event" type="labType"/>
我遇到的问题是此架构没有对属性应用限制。 我试图验证这个 XML 代码:
<Lab>
<Title>Artificial Intelligence</Title>
<Lecture Classroom="BA">
<Day>Friday</Day>
<Time>17:00-18:00</Time>
</Lecture>
</Lab>
我的问题是这个 XML 被报告为有效,即使它使用属性“教室”(它不应该这样做)。 我是 XML 新手,所以请不要苛刻。 提前谢谢!
【问题讨论】:
标签: xml xsd xsd-validation xml-validation