Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> JAXB, 2 хsd => 1 bindingsfile 
:(
    Опции темы
polosatij
  Дата 4.2.2008, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1143
Регистрация: 22.2.2004
Где: Stuttgart<-> ;Karlsruhe, Germany

Репутация: 3
Всего: 8



вечер!

не могу второй день решить навалившуюся на меня траблу  smile  smile 
есть два .xsd и к сожалению без namespace.. оба эти .xsd имеют одни и те же имена элементов внутри, но другое содержание. .xsd файлы я менять никак не могу.. попробовал xmlbeans и jaxb.. 

JAXB:

пробую в одном заходе читать два .xsd и передать ему следующий binding:

Код

<?xml version="1.0" encoding="UTF-8"?>
<jaxb:bindings jaxb:version="2.0"
               xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
               xmlns:xs="http://www.w3.org/2001/XMLSchema">
    
    <!-- RESPONSE -->
    <jaxb:bindings schemaLocation="../xsd/ino_dp_addr_response.xsd">
        <jaxb:bindings node="/xs:schema">
            <jaxb:schemaBindings>
                <jaxb:package name="com.example.response" />
            </jaxb:schemaBindings>
        </jaxb:bindings>    
        <jaxb:bindings node=".//xs:element[@name='Address']">
            <jaxb:class name="AddressResponse" />
        </jaxb:bindings>
        <jaxb:bindings node="//xs:complexType[@name='AddressingType']">
            <jaxb:class name="AddressingTypeResponse" />
        </jaxb:bindings>
    </jaxb:bindings>
    
    <!-- REQUEST -->
    <jaxb:bindings schemaLocation="../xsd/ino_dp_addr_request.xsd">
        <jaxb:bindings node="/xs:schema">
            <jaxb:schemaBindings>
                <jaxb:package name="com.example.request" />
            </jaxb:schemaBindings>
        </jaxb:bindings>
        <jaxb:bindings node=".//xs:element[@name='Address']">
            <jaxb:class name="AddressRequest" />
        </jaxb:bindings>
        <jaxb:bindings node="//xs:complexType[@name='AddressingType']">
            <jaxb:class name="AddressingTypeRequest" />
        </jaxb:bindings>
    </jaxb:bindings>
</jaxb:bindings>


это ант скрипт:

Код

<?xml version="1.0"?>
<project name="XMLBeans" default="generate" basedir=".">
    <!-- PROPERTY -->
    <property file="build.properties"/>
    <property name="eclipse.jaxb.project" value="${workspace.dir}/JAXB" />
    <property name="src" value="${eclipse.jaxb.project}/src" />
    <property name="bin" value="${eclipse.jaxb.project}/bin" />
    <property name="lib" value="${eclipse.jaxb.project}/lib" />
    <property name="xsd" value="${eclipse.jaxb.project}/xsd" />
    
    <!-- PROPERTY: packages -->
    <property name="package" value="de.comsoft.esi.jaxb" />
    <property name="package.request" value="${package}.request" />
    <property name="package.response" value="${package}.response" />
    
    <!-- PROPERTY: request -->
    <property name="includes.request"
             value="esi_list.xsd,
                    ino_dp_addr_request.xsd,
                    ino_dp_aftn_request.xsd,
                    ino_dp_ashtam_request.xsd,
                    ino_dp_birdtam_request.xsd,
                    ino_dp_nof_request.xsd,
                    ino_dp_notam_request.xsd,
                    ino_dp_series_request.xsd,
                    ino_dp_snowtam_request.xsd" />
    
    <!-- PROPERTY: response -->
    <property name="includes.response"
             value="esi_subscribe.xsd,
                    ino_dp_addr_response.xsd,
                    ino_dp_aftn_response.xsd,
                    ino_dp_ashtam_response.xsd,
                    ino_dp_birdtam_response.xsd,
                    ino_dp_nof_response.xsd,
                    ino_dp_notam_response.xsd,
                    ino_dp_series_response.xsd,
                    ino_dp_snowtam_response.xsd" />
    
    <property name="test" value="ino_dp_addr_response.xsd, ino_dp_addr_request.xsd" />
    
    <!-- TASKDEF -->
    <taskdef name="xjc" classname="com.sun.tools.xjc.XJCTask">
        <classpath>
            <fileset dir="${lib}" includes="*.jar" />
        </classpath>
    </taskdef>
    
    <!-- Generate .JAVA from .XSD -->
    <target name="generate" depends="clean" description="Generate .JAVA from .XSD">
     
     <!-- REQUEST -->
     <xjc destdir="${src}" binding="bindings/$all.xjb" package="${package}">
            <schema dir="${xsd}" includes="${test}" />
        </xjc>
     
     <!-- RESPONSE -->
     <!--
     <xjc destdir="${src}" binding="bindings/response.xjb" package="${package}">
         <schema dir="${xsd}" includes="${includes.response}" />
     </xjc>
     -->
     
     
    </target>
    
    <!-- Delete **/* from 'scr' directory. -->
    <target name="clean" description="Delete **/* from 'scr' directory.">
       <delete>
            <fileset dir="${src}" includes="**/*" />
            <fileset dir="${bin}" includes="**/*" />
       </delete>
    </target>
</project>



получаю следующую ошибку:

Код

generate:
      [xjc] build id of XJC is hudson-jaxb-ri-2.1-520
      [xjc] Consider using <depends>/<produces> so that XJC won't do unnecessary compilation
      [xjc] Checking timestamp of /home/piskovatskovd/workspace/JAXB/bindings/$all.xjb
      [xjc] Checking timestamp of /home/piskovatskovd/workspace/JAXB/xsd/ino_dp_addr_request.xsd
      [xjc] Checking timestamp of /home/piskovatskovd/workspace/JAXB/xsd/ino_dp_addr_response.xsd
      [xjc] the last modified time of the inputs is  1202145581000
      [xjc] the last modified time of the outputs is -9223372036854775808
      [xjc] Compiling file:/home/piskovatskovd/workspace/JAXB/xsd/ino_dp_addr_request.xsd and others
      [xjc] [ERROR] 'AddressingType' is already defined
      [xjc]   line 48 of file:/home/piskovatskovd/workspace/JAXB/xsd/ino_dp_addr_response.xsd
      [xjc] [ERROR] (related to above error) the first definition appears here
      [xjc]   line 21 of file:/home/piskovatskovd/workspace/JAXB/xsd/ino_dp_addr_request.xsd
      [xjc] [ERROR] 'Address' is already defined
      [xjc]   line 52 of file:/home/piskovatskovd/workspace/JAXB/xsd/ino_dp_addr_response.xsd
      [xjc] [ERROR] (related to above error) the first definition appears here
      [xjc]   line 48 of file:/home/piskovatskovd/workspace/JAXB/xsd/ino_dp_addr_request.xsd
      [xjc] failure in the XJC task. Use the Ant -verbose switch for more details


два файла компилировать по отдельности я не могу  smile  smile 
.xsd файлы я переправлять не могу..

толкните мысль, а то ЩА застрелюсь  smile  smile  smile 


--------------------
PM   Вверх
polosatij
Дата 5.2.2008, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1143
Регистрация: 22.2.2004
Где: Stuttgart<-> ;Karlsruhe, Germany

Репутация: 3
Всего: 8






наткнулся на такую штуку:


It is not legal to have more than one <jaxb:schemaBindings> per namespace, so it is impossible to have two schemas in the same target namespace compiled into different Java packages.

млин! а мне это нада!  smile  smile 


--------------------
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0439 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.