我有一个引用和元素xs:schema的XSD文件。当我运行连接到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>发布于 2015-02-18 14:32:51
下载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>
]>下载xml.xsd文件,XMLSchema.xsd引用.
curl -H "Accept: application/xml" -H "Content-Type: application/xml" -X GET http://www.w3.org/2001/xml.xsd > xml-new.xsd创建一个目录文件..。
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"断开互联网并运行xjc -catalog catalog.cat schema0.xsd schema1.xsd
感谢布莱斯的详细文章。我未能删除<!DOCTYPE部分的XMLSchema.xsd,这导致了xjc失败。
https://stackoverflow.com/questions/28562967
复制相似问题