Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java xjc脱机包含XMLSchema_Java_Xml_Xsd_Jaxb - Fatal编程技术网

Java xjc脱机包含XMLSchema

Java xjc脱机包含XMLSchema,java,xml,xsd,jaxb,Java,Xml,Xsd,Jaxb,我有一个XSD文件,它引用了元素xs:schema。当我运行连接到internet的xjc时,它会创建适当的JAXB对象。当我尝试将XMLSchema.xsd作为本地文件引用时,它失败了 如何引用XMLSchema.xsd的本地xsd文件副本,以便脱机运行xjc来创建JAXB类 目前我调用xjc-d out schema0.xsd schema1.xsd Schema0.xsd <?xml version="1.0" encoding="UTF-8"?> <xs:schema

我有一个XSD文件,它引用了元素
xs:schema
。当我运行连接到internet的
xjc
时,它会创建适当的JAXB对象。当我尝试将
XMLSchema.xsd
作为本地文件引用时,它失败了

如何引用
XMLSchema.xsd
的本地xsd文件副本,以便脱机运行
xjc
来创建JAXB类

目前我调用
xjc-d out schema0.xsd schema1.xsd

Schema0.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://www.w3schools.com" 
    xmlns="http://www.w3schools.com" xmlns:xs="http://www.w3.org/2001/XMLSchema" 
    elementFormDefault="qualified">

    <xs:import namespace="http://www.w3.org/2001/XMLSchema" schemaLocation="http://www.w3.org/2001/XMLSchema.xsd"/>
    <xs:element name="children">
        <xs:complexType>
            <xs:sequence>
                <xs:element minOccurs="0" maxOccurs="1" name="childname" />
                <xs:element ref="xs:schema" />
                <xs:any />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

Schema1.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema 
targetNamespace="http://www.w3schools.com" 
xmlns="http://www.w3schools.com" 
xmlns:xs="http://www.w3.org/2001/XMLSchema" 
elementFormDefault="qualified">
    <xs:import namespace="http://www.w3.org/2001/XMLSchema"  schemaLocation="http://www.w3.org/2001/XMLSchema.xsd" />
    <xs:element name="person">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="firstname" type="xs:string"/>
                <xs:element name="lastname" type="xs:string"/>
                <xs:any minOccurs="0"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

下载XMLSchema.xsd

curl -H "Accept: application/xml" -H "Content-Type: application/xml" -X GET http://www.w3.org/2001/XMLSchema.xsd > XMLSchema-new.xsd
从中删除文件的第一部分

<!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA.....
.... To ....
<!ATTLIST xs:union id ID #IMPLIED>
]>
创建目录文件

catalog.cat

SYSTEM "http://www.w3.org/2001/XMLSchema" "XMLSchema-new.xsd"
PUBLIC "http://www.w3.org/2001/XMLSchema" "XMLSchema-new.xsd"
PUBLIC "http://www.w3.org/XML/1998/namespace" "xml.xsd"
断开与internet的连接并运行
xjc-catalog catalog.cat schema0.xsd schema1.xsd


感谢Blaise提供的详细信息。我未能删除
请参阅:Cheers@Blaise。XMLSchema.xsd有一些棘手的问题。谢谢:-)
SYSTEM "http://www.w3.org/2001/XMLSchema" "XMLSchema-new.xsd"
PUBLIC "http://www.w3.org/2001/XMLSchema" "XMLSchema-new.xsd"
PUBLIC "http://www.w3.org/XML/1998/namespace" "xml.xsd"