我处理,看起来像一个XML架构:XML:为避免XS /默认值:扩展
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="XML" type="XMLType"/>
<xs:complexType name="client_summaryType">
<xs:complexContent mixed="true">
<xs:extension base="xs:any"><xs:sequence><xs:any processContents="skip" minOccurs="0" maxOccurs="unbounded" /></xs:sequence>
<xs:attribute type="xs:string" name="cid"/>
<!-- other attributes -->
<xs:anyAttribute processContents="skip" /></xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="XMLType">
<xs:choice maxOccurs="unbounded">
<xs:element minOccurs="0" maxOccurs="unbounded" type="client_summaryType" name="client_summary"/>
</xs:choice>
</xs:complexType>
</xs:schema>
我不断收到的错误是:
attribute 'base': The QName value '{http://www.w3.org/2001/XMLSchema}any' does not resolve to a(n) simple type definition.
现在,我的问题是,我该如何避免xs:extension
陷阱?我不能使用base="xs:string"
,因为我想包含client_summaryType
中的元素。显然,我也不能使用xs:element
或xs:any
。我可以使用什么,仍然使用complexContent
,没有它从任何地方继承的东西,只是让我定义我想要的和验证对此?所以,我不想处理xs:extension
问题,但我确实想要使用xs:complexContent
(因此对内容进行验证)。这可以做到吗?
谢谢。
嘿迈克尔,我试过了,但我得到'[$元素]不能有内容与它的类型为空'或沿着这些线的东西的错误。 – 2011-01-11 03:03:51