Ho un frammento di XML per cui ho bisogno di scrivere XSDXSD sintassi per XML attributi con namespace
<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>
Il seguente XSD dà errore durante la generazione di classe 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>
errore è
C: \ Program Files \ Java \ jdk1.7.0_06 \ bin> xjc -p prova C: \ book.xsd analisi uno schema ... [ERRORE] src -resolve.4.2: Errore durante la risoluzione del componente 'ns: numero'. È stato rilevato che 'ns: numero' è nello spazio dei nomi 'http://xmlns.oracle.com/id/1.0', ma il componente s da questo spazio dei nomi non è referenziabile dal file del documento dello schema:/C:/book . xsd '. Se questo è lo spazio dei nomi errato, forse il prefisso di 'ns: number' deve essere sostituito da s. Se questo è lo spazio dei nomi corretto, è necessario aggiungere un tag appropriato "import" a "file:/C: /book.xsd". riga 10 del file:/C: /book.xsd