2012-09-13 11 views
5

Chcę dodać plik xsd do naszego projektu, który opiera się na typy zdefiniowane w innym xsd, który jest w słoiku. Używamy jaxb do generowania klas Java z xsds. Jak mogę odnieść się do SchemaContainingFooTypeIsInaJAR.xsd tak, że „FooType” rozwiązuje poprawnie i właściwego zajęcia się Java generowaneodniesienia/w tym pliki xsd w słoju

<?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> 

Odpowiedz

2

Możesz być zainteresowany tymi cechami:

W skrócie można napisać plik katalogu, które wskazywałoby na schemacie w pliku JAR:

REWRITE_SYSTEM "some/url/a.xsd" "maven:org.jvnet.jaxb2.maven2:maven-jaxb2-plugin-tests-episodes-a!/a.xsd" 

OŚWIADCZENIE: Jestem głównym dev of maven-jaxb2-plugin.

+0

Wielkie rzeczy. W drugim dokumencie link w sekcji "Zobacz ten rozdział w przewodniku JAXB" jest uszkodzony. –

+1

@GeoffreyDeSmet Dzięki, naprawione. Oto ten link: http://jaxb.java.net/guide/Fixing_broken_references_in_schema.html – lexicore

0

Wymień swoją linię:

<xs:include schemaLocation="SchemaContainingFooTypeIsInaJAR.xsd"/>

z

<xs:include schemaLocation="jar:file:///path/to/jar/thing.jar!/path/inside/jar/to/file.xsd"/>

Powiązane problemy