Usando XJC con XMLCATALOG usando percorsi relativi
-
12-12-2019 - |
Domanda
Io uso XJC e ora voglio usare XMLCATALoges che si riferisce ad altri cataloghi.Il problema è che dovrebbe essere in grado di utilizzare percorsi relativi anziché percorsi assoluti quando si fa riferimento ad altri cataloghi.
Questo catalogo è inserito nel progetto1 e dovrebbe fare riferimento al file Catalog.xml situato nel progetto2.
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
<public publicId="http://company.com/test"
uri="src/main/resources/test.xsd" />
<nextCatalog catalog="../project2/catalog.xml" /></catalog>
.
La chiamata XJC è simile a questa:
<java fork="true" jar="${xjc-jar-file}">
<!-- folder where the generated files should be saved -->
<arg value="-d" />
<arg value="${target-folder}"/>
<arg value="-extension" />
<!-- catalog file -->
<arg value="-catalog" />
<arg value="${catalog-file}" />
<!-- current xsd file -->
<arg value="@{xsd-file}" />
</java>
.
Ho fatto un errore nel file del catalogo o c'è qualche soluzione per l'utilizzo di tale catalogo con XJC?
Soluzione
La mia ricerca Web per l'utilizzo dei percorsi relativi non ha avuto successo.
Alla fine ho finito con la scrittura di un compito ant che modifica i file del catalogo.
In dettaglio l'attività Modifica l'attributo XML: Base del file di catalogo e inserire il percorso assoluto sul file del catalogo.Quindi salvo il catalogo come E.G.Catalog_temp.xml e ottieni tutti i nodi NextCatalog con XPath che sarà modificato ricorsivo come il primo.
Dopo aver eseguito XJC, eseguo nuovamente il mio compito ant che elimina tutti i cataloghi modificati (catalog_temp.xml).