我有一个XSD文件,其中包含一些元素
<xs:element name="BasicData">
<xs:complexType>
<xs:sequence>
<xs:element ref="TTTeacherList" minOccurs="0"/>
<xs:element ref="NonTeachingActivityList" minOccurs="0"/>
<xs:element ref="TTStudentList" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="NonTeachingActivityList">
<xs:complexType>
<xs:sequence>
<xs:element ref="NonTeachingActivity" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="NonTeachingActivity">
<xs:complexType>
<xs:sequence>
<xs:element name="NTCode" type="String10"/>
<xs:element name="Description" type="String100"/>
<xs:element name="Type" type="MeetingType"/>
</xs:sequence>
<xs:attribute name="RefId" type="GUID" use="required"/>
</xs:complexType>
</xs:element>
我想删除元素NonTeachingActivity
的所有验证,无论它是否发生,它都将永远不会检查验证。我不会删除整个元素,只是忽略这个元素。
答案 0 :(得分:3)
XSD没有直接支持您的要求,但这里有两个选项:
如果您不希望NonTeachingActivity
的内容模型
经过验证,你可以腾出它,
<xs:element name="NonTeachingActivity"/>
然后它将被允许包含任何XML。
如果您希望NonTeachingActivity
出现在内容模型中
其他元素不影响验证,你可以尝试
用
NonTeachingActivity
的引用
<xs:any processContents="skip" />
并且,如果您没有创建解析模糊,那么这将是 允许任何元素出现在其位置。
选项#1,结合在任何地方使用NonTeachingActivity
可选,可能最接近满足您的要求。
答案 1 :(得分:0)
可以使用&#34;任何&#34;标记:
<xs:element name="NonTeachingActivityList">
<xs:complexType>
<xs:sequence>
<xs:any minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>