1

Dataset XSD ファイルを指定すると、System.Data を使用しない Java クラスを生成できますか? JAXB の XJC ツールを使用してテストを実行しようとしましたが、それほど役立つものは何も生成されません。

更新: Fernando の提案に従って、XmlBeans も試してみました。XJC 出力に似たもの、つまりテーブルのクラス表現が生成されますが、列、制約、または行はありません。これらをファサードに追加することはできますが、理想的には、使用された XSD コンパイラーによって生成されます。

4

1 に答える 1

1

JAXB API の代わりにXMLBeansを試すことができます。コマンド ライン コマンドを使用して呼び出すことも、単に ANT スクリプトを使用することもできます。XMLBeans を呼び出して XSD を jar ファイルにコンパイルする build.xml ファイルの一部を貼り付けます。

<taskdef name="xmlbean" classname="org.apache.xmlbeans.impl.tool.XMLBean" classpathref="classpath"/>


<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<!--  Crea y compila las clases del modelo                             -->
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->

<target name="build" description="--> crea las clases a partir del schema">
    <!-- Borra los fuentes del modelo -->
    <delete quiet="true" dir="${build.dir}/src" />

    <mkdir dir="${build.classes}"/>

    <!-- Construye fuentes asociadas y crea las clases -->
    <xmlbean srcgendir="${build.dir}/src" classpathref="classpath" classgendir="${build.classes}">
        <fileset dir="${src.dir}" excludes="**/*.xsd"/>
        <fileset dir="${schemas.dir}" includes="**/*.*"/>
    </xmlbean>

    <javac srcdir="${src.dir}" 
                destdir="${build.classes}" 
                encoding="Windows-1252" 
                debug="${debug}" 
                debuglevel="${debuglevel}" 
                deprecation="${deprecation}" 
                verbose="${verbose}" 
                optimize="${optimize}" 
                source="${source}" 
                target="${target}">
                <classpath refid="classpath" />
    </javac>
</target>
于 2009-01-14T15:36:17.310 に答える