Erro em XSD sem namespace

0 respostas
Gianetti

Estou consumindo um serviço REST e montei dois XSDs para gerar as classes via JAXB, acontece que tenho que tirar o targetNamespace dos dois XSDs, porque parece que o serviço não tem namespace, quando consumo os atributos vem nulo, o JAXB gerou uma classe chamada package-info.java onde eu apaguei o namespace como a baixo (isso com os XSDs com target namespace),

@javax.xml.bind.annotation.XmlSchema(namespace = "", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)

e funcionou, mas tenho que tirar do XSDs, sendo que em um destes eu estou usando um elemento que aponta para o outro. Mas esta dando erro de formatação, já tentei com import, mas pede o namespace, ambos xsds estão no mesmo diretório

erro:


src-resolve.4.2: Error resolving component ‘Block’. It was detected that ‘Block’ is in namespace ‘http://www.w3.org/2001/
XMLSchema’, but components from this namespace are not referenceable from schema document ‘file:///G:/Dev/src/main/xsd/Actor.xsd’. If this is the incorrect namespace, perhaps the prefix of ‘Block’ needs to be changed. If this is the correct namespace, then an appropriate ‘import’
tag should be added to ‘file:///G:/Dev/src/main/xsd/Actor.xsd’.

Actor.xsd

<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" >
    <include schemaLocation="Block.xsd"/>
    <complexType name="Actor">
        <sequence>
            <element name="type" type="string" maxOccurs="1"
                minOccurs="1">
            </element>
            <element name="blockList" type="Block" maxOccurs="1"
                minOccurs="1"></element>
            <element name="characteristicList" maxOccurs="1"
                minOccurs="1">
                <complexType>
                    <sequence>
                        <element name="characteristic"
                            maxOccurs="unbounded" minOccurs="1">
                            <complexType>
                                <sequence>
                                    <element name="id" type="long"></element>
                                    <element name="name"
                                        type="string">
                                    </element>
                                    <element name="value"
                                        type="string">
                                    </element>
                                </sequence>
                            </complexType>
                        </element>
                    </sequence>
                </complexType>
            </element>
        </sequence>
    </complexType>
</schema>

Block.xsd

<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" >
    <complexType name="Block">
        <sequence>
            <element name="greyList" type="boolean"></element>
            <element name="blackList" type="boolean"></element>
            <element name="blockListTimeToExit" type="long"></element>
            <element name="blockedEventList">
                <complexType>
                    <sequence>
                        <element name="blockedEvent" type="string" maxOccurs="unbounded"
                            minOccurs="0"></element>
                    </sequence>
                </complexType>
            </element>
        </sequence>
    </complexType>
</schema>
Criado 7 de setembro de 2014
Respostas 0
Participantes 1