我有三個的XSD:deviceprofile.xsd,relatedType.xsd和profilelist.xsdXSD導入問題
deviceprofile.xsd是根XSD是指relatedtype.xsd,這反過來又指profilelist.xsd。
relatedtype.xsd和profilelist.xsd之間的引用工作正常,但deviceprofile.xsd和relatedType.xsd之間的關係給出問題。
我已導入的XSD與相關的命名空間,但JAXB解析deviceprofile.xsd,其捐贈時:
[ERROR] src-resolve: Cannot resolve the name 'relatedData' to a(n) 'element decl
aration' component.
line 47 of file:/D:/Personal/Java/Trials/src/com/asl/trials/cea/xml/deviceprof
ile.xsd
Failed to parse a schema.
的XSD文件都在同一目錄中,所以我可以肯定,它不是一個路徑問題。
有人可以指出我在做什麼錯???
我重視以下(以防萬一)的XSD文件的有關片段:
deviceprofile.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns="urn:schemas-upnp-org:remoteui:uilist-1-0" targetNamespace="urn:schemas-upnp-org:remoteui:uilist-1-0" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" id="uilist">
<xs:import namespace="urn:schemas-ce-org:ce-html-server-caps-1-0" schemaLocation="relatedtype.xsd" />
<xs:element name="uilist">
<xs:complexType>
<xs:sequence>
<xs:element ref="relatedData" minOccurs="1" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
relatedtype.xsd
<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema xmlns="urn:schemas-ce-org:ce-html-server-caps-1-0"
xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:schemas-ce-org:ce-html-server-caps-1-0"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="profilelist.xsd" />
<xs:element name="relatedData" type="relatedType" />
<xs:complexType name="relatedType">
<xs:sequence>
<xs:element name="keyword" type="xs:string" minOccurs="0"
maxOccurs="unbounded" />
<xs:element ref="profilelist" minOccurs="1" maxOccurs="unbounded" />
<xs:element name="saveStateStorageURL" type="xs:anyURI"
minOccurs="0" maxOccurs="1" />
<xs:element name="savedStatesInfo" type="savedStatesInfoType"
minOccurs="0" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="savedStatesInfoType">
<xs:attribute name="saveTime" type="xs:string" />
<xs:attribute name="forUser" type="xs:string" use="optional" />
</xs:complexType>
</xs:schema>
profilelist.xsd
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="profilelist" type="profileListType" />
<xs:complexType name="profileListType">
</xs:complexType>
...
</xs:schema>
這不僅僅是一個錯字問題,是嗎?在'deviceprofile.xsd'中,您指的是'relatedtype.xsd',但是您將該文件標記爲'relatedType.xsd'。 – davidfmatheson
@david:這是......我現在正在編輯它以避免更進一步的混淆...... –