我实际上卡在xsd属性日期的作业,我想设置minInclusive和maxInclusive限制。这是我的代码(我的问题出现在:<--------):
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema%22%3E
<xsd:element name="cdtheque">
<xsd:complexType> <xsd:sequence minOccurs="0">
<xsd:element name="cd">
<xsd:complexType>
<xsd:all>
<xsd:element name="titre" type="xsd:string"/>
<xsd:element name="style" type="xsd:string"/>
<xsd:element name="artiste" type="xsd:string"/>
</xsd:all>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute type="xsd:date" name="date"> <--------
<xsd:simpleType>
<xsd:restriction base="xsd:date">
<xsd:minInclusive value="1990-01-01"/>
<xsd:maxInclusive value="2030-01-01"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute type="xsd:string" name="proprietaire"/>
</xsd:complexType>
</xsd:element>
</xsd:schema>
而我失败了:
xmllint --noout --schema ex3schema.xsd ex3.xml
ex3schema.xsd:15: element restriction: Schemas parser error :
Element '{http://www.w3.org/2001/XMLSchema%7Dattribute':
The content is not valid. Expected is (annotation?, simpleType?).
WXS schema ex3schema.xsd failed to compile
我是初学者,但是几天后我在许多互联网网站上查看,我一次又一次地检查了W3S上的语法。我仍然没有看到我的代码有什么问题,也许你们其中一个人可以找到它?
谢谢你的帮助。
你的xsd:attribute
元素有type
属性和xsd:simpleType
孩子。你不能两者兼得。
不是一个非常好的错误消息。当您收到错误的错误消息时,可能值得尝试使用不同的架构处理器。
Xerces说:
属性'date'具有'type'属性和匿名'simpleType'子元素。其中只有一个属性允许。
撒克逊说:
test.xsd第14行第56列的
xsd:attribute
出错:<simpleType>
元素不能显示为带有<xsd:attribute>
属性的@type
的子元素
我认为,对于这些消息中的任何一个,你都不会在这里提出这个问题。