什么是.episode文件..?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是.episode文件..?相关的知识,希望对你有一定的参考价值。

什么是JAXB中的.episode文件..?它是由JAXB生成的还是我们操作的配置文件,以避免JAXB重新生成相同的类?

答案

注意:我是EclipseLink JAXB (MOXy)的领导者和JAXB 2 (JSR-222)专家组的成员。

.episode文件由XJC(XML Schema to Java)编译器生成。它是一种模式绑定,它将模式类型与现有类相关联。当您有一个由其他模式导入的XML模式时,它很有用,因为它会阻止模型重新生成。以下是一个例子:

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>

由于多个XML模式导入Product.xsd,我们可以利用episode文件,以便只生成一次与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类时创建的剧集文件。

xjc -d out ProductQuoteRequest.xsd -extension -b product.episode

欲获得更多信息

另一答案

我会添加一些琐事。

  • 实际上,.episode文件只是普通的绑定文件(这就是为什么它们与xjc -b一起工作)。
  • 它们可以使用特殊的内置插件生成(这就是-episode所做的)。
  • 如果放置在META-INF/sun-jaxb.episode路径下的JAR中,您可以执行xjc b.xsd a.jar - XJC将扫描JAR以查找剧集文件,然后自动使用作为绑定文件。
  • 所有这些美女都可以和Maven(maven-jaxb2-plugin)一起使用。但是,对于更高版本,即使没有剧集,您也可以使用JAR工件中的绑定文件。
另一答案

显然,他们是为了modular schema creation

这意味着文件本身既可以用作配置器,也可以用作下游处理的数据层的生成视图。需要更多背景来确定这里提到的内容。

另一答案

只是答案的一个插件,我想提供一个输入,说明如何避免在使用maven-jaxb2-plugin时生成.episode文件

         `<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>将使它消失。

以上是关于什么是.episode文件..?的主要内容,如果未能解决你的问题,请参考以下文章

强化学习DQN episode是什么

从零开始的Python学习Episode 7——文件基本操作

越狱Season 1- Episode 16

php “PHP Bits:Visual Debt”中的代码https://laracasts.com/series/php-bits/episodes/1

使用 Java 下载文件

半条命2第二章Half.Life.2.Episode.Two-Unleashed