[英]referencing/including xsd files in a jar
我想在我們的項目中添加一個xsd文件,該文件依賴於jar中另一個xsd中定義的類型。 我們使用jaxb從xsds生成Java類。 我如何引用SchemaContainingFooTypeIsInaJAR.xsd以便'FooType'正確解析並生成正確的Java類
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="SchemaContainingFooTypeIsInaJAR.xsd"/>
<xs:complexType name="FooMoreType">
<xs:complexContent>
<xs:extension base="FooType">
<xs:sequence>
<xs:element name="something" type="xs:boolean" minOccurs="0">
<xs:annotation>
<xs:documentation xml:lang="en">
something something
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>
您可能對以下功能感興趣:
簡而言之,您可以編寫一個目錄文件,該文件將指向JAR文件中的架構:
REWRITE_SYSTEM "some/url/a.xsd" "maven:org.jvnet.jaxb2.maven2:maven-jaxb2-plugin-tests-episodes-a!/a.xsd"
免責聲明:我是maven-jaxb2-plugin的主要開發者。
請參閱XML Schema參考和JAXB SchemaFactory源順序必須遵循模式之間的導入順序?
共識似乎是:您需要提供自己的解析器。
替換你的行:
<xs:include schemaLocation="SchemaContainingFooTypeIsInaJAR.xsd"/>
同
<xs:include schemaLocation="jar:file:///path/to/jar/thing.jar!/path/inside/jar/to/file.xsd"/>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.