XSD を記述する必要がある xml フラグメントがあります。
<root xmlns="http://xmlns.oracle.com/sca/1.0" xmlns:id="http://xmlns.oracle.com/id/1.0">
<service name="Book" id:number="465"/>
</root>
次の XSD では、JAXB クラスの生成中にエラーが発生します。
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://xmlns.oracle.com/sca/1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="root">
<xs:complexType>
<xs:sequence>
<xs:element name="service">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="name"/>
<xs:attribute ref="ns:number" xmlns:ns="http://xmlns.oracle.com/id/1.0"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
エラーは
C:\Program Files\Java\jdk1.7.0_06\bin>xjc -p test C:\book.xsd スキーマを解析しています... [エラー] src-resolve.4.2: コンポーネント 'ns:number' の解決中にエラーが発生しました。「ns:number」が名前空間「http://xmlns.oracle.com/id/1.0」にあることが検出されましたが、この名前空間のコンポーネントはスキーマ ドキュメント「file:/C:/book」から参照できません。xsd'. これが正しくない名前空間である場合、おそらく「ns:number」のプレフィックスを変更する必要があります。これが正しい名前空間である場合、適切な「インポート」タグを「file:/C:/book.xsd」に追加する必要があります。ファイルの 10 行目:/C:/book.xsd