|
Topic:
Создание xml по неизвестному xsd средствами Java
Replies:
7
Pages: 1
Last Post:
03.10.2005 12:36
by:
msp30
|
 |
|
NatS
Posts:
3
Registered:
12.08.05
|
|
Создание xml по неизвестному xsd средствами Java
Posted:
12.08.2005 10:11
|
|
Здравствуйте! Не могли бы вы помочь с решением такой проблемы - есть xsd(неизвестный), нужно по нему построить xml(причем на момент построения будут известны имена и значения элементов, которые надо будет впихнуть в этот xml).
Пробовала решить это, используя JAXB, но там нужно сначала создать пакет с описанием классов, в которые xsd преобразуется, т.е. нужно знание начинки xsd... к примеру JAXBContext jc = JAXBContext.newInstance( "abc" ); и т.д., где abc - пакет с интерфейсом классов... (ну как я поняла).
Благодарю всех тех, кто попытается помочь советом..
|
|
 |
Walery
Posts:
2
Registered:
16.01.04
|
|
Re: Создание xml по неизвестному xsd средствами Java
Posted:
13.08.2005 15:57
|
|
А просто руками создать через FileWriter не получится? к примеру: FileWriter f = new FileWriter("file.xml"); f.write("<?xml version="1.0"?>"); f.write("<element>"); и т.д?
|
|
|
 |
NatS
Posts:
3
Registered:
12.08.05
|
|
Re: Создание xml по неизвестному xsd средствами Java
Posted:
15.08.2005 7:59
|
|
xsd может быть не простым списком простых элементов, иначе нафига он нужен..
|
|
|
 |
renat
Posts:
222
From:
Germany Dusseldorf
Registered:
07.01.04
|
|
Re: Создание xml по неизвестному xsd средствами Java
Posted:
15.08.2005 6:18
|
|
В принципе задача автоматческой генерации JAXB классов, их компиляции и использования в runtime разрешима. Проблема лишь в том что такое решение потребует совсем не тривиальных манипуляций с компилятором, classloader-ами и достаточно глубокого знания JAXB . К тому же если схема не известна, то будут неизвестны и классы (или даже их структура) которые создаст JAXB следовательно дальнейшая работа с ними потребует reflection или какой нибудь скриптовый язык (beanshell) для работы с неизвестными класссами. Возникает естевственный вопрос - а зачем строить неизвестно какой документ для неизвестно какой схемы?
|
|
|
 |
NatS
Posts:
3
Registered:
12.08.05
|
|
Re: Создание xml по неизвестному xsd средствами Java
Posted:
15.08.2005 7:55
|
|
Есть формат выходного документа в xsd. Нужно, получив данные из формы(имена элементов и их значения), запихнуть эти данные в xml по этому xsd, получив таким образом выходной документ...
т.е. думаете через Runtime.exec() ? эхх, не хотелось бы... 
|
|
|
 |
renat
Posts:
222
From:
Germany Dusseldorf
Registered:
07.01.04
|
|
Re: Создание xml по неизвестному xsd средствами Java
Posted:
15.08.2005 10:42
|
|
получается, что потенциально древовидная струкутура XML документа (+ ещё и аттрибуты) сводится к "плоскому" списку пар имя - значение? Или я что то не так понял?
Runtime.exec не нужен т.к. JAXB написан на Java а следовательно запустить его можно в текущей JVM без fork. Только опять же повторюсь, что в этом случае задача очень сложная, гораздо проще разбирать XML схему ручками и валидировать входные данные опять же самостоятельно. Документ можно строить на лету с помошью JDom например. Да, и валидция по XML-Schema готового документа само собой.
|
|
|
 |
gual
Posts:
1
Registered:
30.09.05
|
|
Re: Создание xml по неизвестному xsd средствами Java
Posted:
30.09.2005 5:58
|
|
Можно воспользоваться таким инструментом как Altova XMLSpy (www.altova.com) в нем присутствуют средства генерации как xml файла по заданному описанию xsd, так и генерация Java/C++/C# кода классов.
|
|
|
 |
msp30
Posts:
1
Registered:
03.10.05
|
|
Re: Создание xml по неизвестному xsd средствами Java
Posted:
03.10.2005 12:36
|
|
C JAXB проблем не возникает(установка простая и описана подробно) Я пользую ХMLSPY для генерации XSD. Если тема актуальна то можно попробовать написать step-by_step
|
|
|
|