什么是 .episode 文件..?
2022-09-01 03:16:34
JAXB 中的 .episode 文件是什么?.?它是由 JAXB 生成的,还是我们操作的配置文件,以避免 JAXB 重新生成相同的类。.?
JAXB 中的 .episode 文件是什么?.?它是由 JAXB 生成的,还是我们操作的配置文件,以避免 JAXB 重新生成相同的类。.?
注意:我是EclipseLink JAXB(MOXy)负责人,也是JAXB 2(JSR-222)专家组的成员。
.episode 文件由 XJC(XML Schema to Java)编译器生成。它是将架构类型与现有类相关联的架构绑定。当您有一个由其他架构导入的 XML 架构时,它很有用,因为它会阻止重新生成模型。下面是一个示例:
产品
<?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>
由于多个 XML 架构导入 Product.xsd,因此我们可以利用单集文件,以便与 Product.xsd 对应的类仅生成一次。
xjc -d out -episode product.episode Product.xsd
ProductPurchaseRequest.xsd
下面是导入 Product.xsd 的 XML 架构的示例:
<?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>
当我们从这个XML模式生成类时,我们将引用我们从Product.xsd生成Java类时创建的情节文件。
xjc -d out ProductPurchaseRequest.xsd -extension -b product.episode
ProductQuoteRequest.xsd
下面是导入 Product.xsd 的 XML 架构的另一个示例:
<?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>
同样,当我们从此 XML 模式生成类时,我们将引用从 Product.xsd 生成 Java 类时创建的 episode 文件。
xjc -d out ProductQuoteRequest.xsd -extension -b product.episode
详细信息
我将添加一些琐事。
.episode
xjc -b
-episode
META-INF/sun-jaxb.episode
xjc b.xsd a.jar