¿Qué es un archivo .episode en JAXB ..? ¿Lo genera el JAXB o es un archivo de configuración que manipulamos para evitar la regeneración de las mismas clases por JAXB ..?¿Qué es un archivo .episode ..?
Respuesta
Nota: Soy el líder EclipseLink JAXB (MOXy) y miembro del grupo de expertos JAXB 2 (JSR-222).
Un archivo .episode es generado por el compilador XJC (XML Schema to Java). Es un esquema de enlaces que asocia tipos de esquema con clases existentes. Es útil cuando tiene un esquema XML que es importado por otros esquemas ya que impide que el modelo se regenere. A continuación se muestra un ejemplo:
Product.xsd
<?xml version="1.0" encoding="UTF-8"?>
<schema
xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.example.org/Product"
xmlns:tns="http://www.example.org/Product"
elementFormDefault="qualified">
<element name="product">
<complexType>
<sequence>
<element name="id" type="string"/>
<element name="name" type="string"/>
</sequence>
</complexType>
</element>
</schema>
Desde varios esquemas XML importar se Product.xsd podemos aprovechar archivos de episodios para que las clases correspondientes a Product.xsd sólo se generan una vez.
xjc -d out -episode product.episode Product.xsd
ProductPurchaseRequest.xsd
A continuación se muestra un ejemplo de un esquema XML que importa Product.xsd:
<?xml version="1.0" encoding="UTF-8"?>
<schema
xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.example.org/ProductPurchaseRequest"
xmlns:tns="http://www.example.org/ProductPurchaseRequest"
xmlns:prod="http://www.example.org/Product"
elementFormDefault="qualified">
<import namespace="http://www.example.org/Product" schemaLocation="Product.xsd"/>
<element name="purchase-request">
<complexType>
<sequence>
<element ref="prod:product" maxOccurs="unbounded"/>
</sequence>
</complexType>
</element>
</schema>
Cuando generamos las clases de este esquema XML vamos a hacer referencia al episodio archivo que creamos cuando generamos clases Java desde Product.xsd.
xjc -d out ProductPurchaseRequest.xsd -extension -b product.episode
ProductQuoteRequest.xsd
A continuación se muestra otro ejemplo de un esquema XML que importa Product.xsd:
<?xml version="1.0" encoding="UTF-8"?>
<schema
xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.example.org/ProductQuoteRequest"
xmlns:tns="http://www.example.org/ProductQuoteRequest"
xmlns:prod="http://www.example.org/Product"
elementFormDefault="qualified">
<import namespace="http://www.example.org/Product" schemaLocation="Product.xsd"/>
<element name="quote">
<complexType>
<sequence>
<element ref="prod:product"/>
</sequence>
</complexType>
</element>
</schema>
Una vez más, cuando generamos las clases de este esquema XML vamos a hacer referencia a la archivo de episodio que creamos cuando generamos clases Java desde Product.xsd.
xjc -d out ProductQuoteRequest.xsd -extension -b product.episode
Para más información
Aparentemente, son para modular schema creation.
Esto implica que los archivos en sí mismos se pueden usar como un configurador y como una vista generativa de una capa de datos para el procesamiento posterior. Se necesitaría más contexto para determinar a qué se hace referencia aquí.
voy a añadir algunas curiosidades.
- En realidad,
.episode
archivos son archivos de enlace simplemente normales (por eso es que trabajan conxjc -b
). - Se pueden generar con un complemento incorporado especial (eso es lo que hace
-episode
). - Si se coloca en un JAR bajo la ruta
META-INF/sun-jaxb.episode
, puede hacerxjc b.xsd a.jar
- XJC escaneará archivos JAR para archivos de episodios y luego los utilizará como archivos vinculantes automáticamente. - Todo esto belleza funciona bien con Maven (maven-jaxb2-plugin). Sin embargo, con la versión posterior puede usar archivos vinculantes de artefactos JAR incluso sin episodios.
Sólo un complemento a la respuesta, me gustaría dar una opinión sobre la manera de evitar que el archivo .episode genera durante el uso de Maven-jaxb2-plugin
`<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>0.12.3</version>
<executions>
<execution>
<id>schema-conversion</id>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<schemaDirectory>src/main/schema/myschema</schemaDirectory>
<bindingDirectory>src/main/schema/myschema</bindingDirectory>
<bindingIncludes>
<include>binding_info.xjb</include>
</bindingIncludes>
<generateDirectory>src/main/java/</generateDirectory>
<episode>false</episode>
</configuration>
</execution>
</executions>
</plugin>`
<episode>false</episode>
hará desaparecer .
- 1. ¿Qué es un archivo ".dll.a"?
- 2. ¿Qué es un archivo PDB?
- 3. ¿Qué es un archivo .axd?
- 4. ¿Qué es un archivo MDF?
- 5. ¿Qué es un archivo .h.gch?
- 6. ¿Qué es un archivo Android.mk?
- 7. ¿Qué es un archivo .baml?
- 8. ¿Qué es un archivo con extensión .a?
- 9. ¿Qué es un archivo erlang hrl?
- 10. ¿Qué es un archivo dll.refresh en ASP.Net?
- 11. ¿Qué es un archivo .a (como libcrypto.a)?
- 12. qué es un archivo normal en unix
- 13. ¿Por qué es un archivo ensamblador .exe?
- 14. ¿Qué es un archivo cvs new-born?
- 15. ¿Qué es un archivo IOR, qué hace y cómo funciona?
- 16. ¿Qué es el archivo crossdomain.xml?
- 17. ¿Qué es el archivo .ipa?
- 18. ¿Qué es el archivo * .o?
- 19. ¿Qué es el archivo * .vshost.exe.config?
- 20. ¿Qué es un lote?
- 21. ¿Qué es el <leader> en un archivo .vimrc?
- 22. ¿Qué es un archivo .pem y cómo usarlo?
- 23. ¿Qué es un archivo .tpl? php, diseño web
- 24. ¿Qué es un archivo .SWC Flash y cómo se usa?
- 25. ¿Qué es un archivo .ctp utilizado en CakePHP?
- 26. ¿Qué es un textViewResourceId?
- 27. Patrón ECB: ¿qué es realmente un límite?
- 28. ¿Qué es xmlns en cada archivo WPF?
- 29. ¿Qué es el archivo gpstate en ASP.NET
- 30. ¿Para qué es el archivo faces-config.xml.jsfdia?
Esto no funciona de manera confiable con el 'maven-jaxb2-plugin', aunque puede proporcionar el archivo de episodio, también debe proporcionar el archivo de esquema original. Cita de la guía del usuario del complemento: tenga en cuenta que JAXB aún necesita acceder a AMBOS esquemas A y B durante la compilación. Puede usar catálogos para proporcionar ubicaciones alternativas de los esquemas importados. –