【发布时间】:2016-03-23 13:34:45
【问题描述】:
我在 Altova 工作,我正在为我的 XML 文件创建一个 XSD 文件,但我的代码无法验证。我得到了错误:
必须引用现有的简单或复杂类型
我不知道为什么,因为我给元素名称titel 赋予了一个简单类型。
有谁知道我做错了什么?
附:不要介意标签中的值。
这是 XSD 文件:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3schools.com CDS.xsd" xmlns:ns1="http://www.w3schools.com" targetNamespace="http://www.w3schools.com" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="catalogus" type="alles"/>
<xs:complexType name="alles">
<xs:sequence>
<xs:element name="CD">
<xs:complexType>
<xs:sequence>
<!-- Elements -->
<xs:element name="titel" type="titelnaam"/>
<xs:element name="uitvoerder"/>
<xs:element name="uitgever"/>
<xs:element name="genre"/>
<xs:element name="prijs"/>
<xs:element name="jaar"/>
<xs:element name="behuizing"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<!-- simpleTypes -->
<xs:simpleType name="titelnaam">
<xs:restriction base="xs:string">
<xs:pattern value="\d{3}-\d{1}-\d{3}-\d{5}-\d{1}"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
这是 XML 文件:
<?xml version="1.0"?>
<!DOCTYPE catalogus SYSTEM "CDS.dtd">
<catalogus>
<CD>
<titel>Until Dawn</titel>
<uitvoerder>Nirvana</uitvoerder>
<uitgever>No Clue Music</uitgever>
<genre>Jazz</genre>
<prijs valuta="EU">19,95</prijs>
<jaar>2002</jaar>
<behuizing>double</behuizing>
<tracks>
<track>
<nummer>Break away</nummer>
<componist>Nirvana</componist>
<tekstschrijver>Nirvana</tekstschrijver>
<tijdsduur tijd="mm.ss">02.55</tijdsduur>
<uitvoerder>Nirvana</uitvoerder>
</track>
<track>
<nummer>Bananas</nummer>
<componist>Nirvana</componist>
<tekstschrijver>Nirvana</tekstschrijver>
<tijdsduur tijd="mm.ss">03.55</tijdsduur>
<uitvoerder>Nirvana</uitvoerder>
</track>
</tracks>
</CD>
</catalogus>
【问题讨论】:
标签: xml xsd complextype simpletype