Создать XML валидный XSD схеме.
От: Аноним  
Дата: 25.02.05 14:31
Оценка:
Hi All, Good Afternoon!!!


Есть небольшая задачка: создать вин апп форму (форма для настроек конекшена к серверу), которая бы забирала из базы данные и сохраняла бы их в файл в XML формате, XML должен быть валидным данной XSD схеме, которую нельзя модифицировать (схема примерно в 2000 строк).

Поля в базе, конечно же не соответствуют полям в схеме. На этом почти все неприятные моменты закончены.

У кого-нибудь есть идеи, как довольно эфективно выполнить задачу? (Я пока почитаю XSLT ).


Best Regards.
Re: Создать XML валидный XSD схеме.
От: TK Лес кывт.рф
Дата: 25.02.05 14:55
Оценка:
Hello,
>
> У кого-нибудь есть идеи, как довольно эфективно выполнить задачу? (Я пока почитаю XSLT ).
>

Сгенерируй по xsd схеме объектную модель. после этого заполняешь ее данными и делаешь сохранение (если xsd во время работы не меняется. если меняется, то потом можно будет уже делать и XSLT).
Posted via RSDN NNTP Server 2.0 alpha
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[2]: Создать XML валидный XSD схеме.
От: Аноним  
Дата: 25.02.05 15:11
Оценка:
Здравствуйте, TK, Вы писали:

TK>Сгенерируй по xsd схеме объектную модель. после этого заполняешь ее данными и делаешь сохранение (если xsd во время работы не меняется. если меняется, то потом можно будет уже делать и XSLT).


Сгенерировать, по xsd — class или dataset, с помощью xsd.exe, не получилось.
Получаю около 13-ти сообщений: The derived type and the base type must have the same content type (модифицировать схему — нельзя ).

Я думаю уже сейчас можно делать XSLT . Перспектива не из приятных, но другого пути я не вижу (в принципе, поэтому и создал пост ).

Kind Regards.
Создать XML валидный XSD схеме.
От: Аноним  
Дата: 25.02.05 17:12
Оценка:
может это подойдет: XmlDataDocument Class

// Create an XmlDataDocument.
XmlDataDocument doc = new XmlDataDocument();

// Load the schema file.
doc.DataSet.ReadXmlSchema("store.xsd");

// загрузить данные в doc
...





данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: Создать XML валидный XSD схеме.
От: Аноним  
Дата: 25.02.05 17:32
Оценка:
Здравствуйте, Аноним, Вы писали:

А>может это подойдет: XmlDataDocument Class


А>// Create an XmlDataDocument.

А>XmlDataDocument doc = new XmlDataDocument();

А>// Load the schema file.

А>doc.DataSet.ReadXmlSchema("store.xsd");

А>// загрузить данные в doc

А>...

В другой ветке я, как раз написал, что с xsd что-то не так. Что именно не знаю... Но атрибут mixed="True" в некоторых ComplexType пофиксило — "The derived type and the base type must have the same content type.", но добавило "Undefined data type: CustomType." ... Сейчас разбираюсь, что со схемой опять не так.

Хотя в условии и было, что xsd нельзя изменять — думаю, косметические изменения не помешают .
Идея заполнять автоматом сгенерированную объектную модель мне нравится больше, чем написание вручную xslt файла на основе схемы.

Kind Regards.
Re: Создать XML валидный XSD схеме.
От: Аноним  
Дата: 28.02.05 09:55
Оценка:
Hi All !!!

Проблему с xsd схемой так и не решил, точнее замкнутый круг, на месте старой вырастает новая. Видно не хватает знаний, к тому же схема довольно большая. Уже слегка запарился.
Может есть у кого-то желание помочь, напишите и я вышлю схему (надежда слабая, но есть ).

Best Regards.
Re: Создать XML валидный XSD схеме.
От: V.Petrovski Беларусь  
Дата: 28.02.05 11:06
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Hi All, Good Afternoon!!!



А>Есть небольшая задачка: создать вин апп форму (форма для настроек конекшена к серверу), которая бы забирала из базы данные и сохраняла бы их в файл в XML формате, XML должен быть валидным данной XSD схеме, которую нельзя модифицировать (схема примерно в 2000 строк).


1. Создай dataSource.xsd для БД простым перетаскиванием таблиц из ServerExplorer, или при помощи каких-нить утилит.
2. По этой схеме сгенерится DataSet.
3. DataSet наполняешь через метод Fill
4. Создаешь xslt которые перегонит данные из dataSource.xsd в нужную тебе.

А>Best Regards.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[2]: Создать XML валидный XSD схеме.
От: Аноним  
Дата: 28.02.05 11:24
Оценка:
Здравствуйте, V.Petrovski, Вы писали:

VP>Здравствуйте, <Аноним>, Вы писали:


А>>Hi All, Good Afternoon!!!



А>>Есть небольшая задачка: создать вин апп форму (форма для настроек конекшена к серверу), которая бы забирала из базы данные и сохраняла бы их в файл в XML формате, XML должен быть валидным данной XSD схеме, которую нельзя модифицировать (схема примерно в 2000 строк).


VP>1. Создай dataSource.xsd для БД простым перетаскиванием таблиц из ServerExplorer, или при помощи каких-нить утилит.

VP>2. По этой схеме сгенерится DataSet.
VP>3. DataSet наполняешь через метод Fill
VP>4. Создаешь xslt которые перегонит данные из dataSource.xsd в нужную тебе.

А>>Best Regards.


Это вариант номер два решения данной проблемы, я его обдумывал в самом начале. Минусы: 1. написание XSLT файла для 2000-строчной схемы, 2. А где собственно валидация по данной xsd схеме? В первом случае типизированный датасет бы гарантировал валидность выходного XML'я, во втором случае валидность гарантирует созданный XSLT файл — разницы практически никакой, но всё-таки есть .

Конечно, если не получиться создать объктную модель по схеме, то прийдётся юзать план B.

Best Regards.
Re[3]: Создать XML валидный XSD схеме.
От: V.Petrovski Беларусь  
Дата: 28.02.05 11:44
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Минусы: 1. написание XSLT файла для 2000-строчной схемы

Что ты к этим строчкам привязался, самое страшное не в их количестве.
Сложность схемы зависит от количества элементов и их структуры.

А>2. А где собственно валидация по данной xsd схеме?

Валидация в алгоритме преобразования.

А>Конечно, если не получиться создать объктную модель по схеме, то прийдётся юзать план B.

Можно создать Объектную модель для xsd схемы. Если не получиться заюзать XmlSerializer по каким-либо причинам,
то тебе поможет патерн Visitor.
А>Best Regards.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[4]: Создать XML валидный XSD схеме.
От: Аноним  
Дата: 28.02.05 12:25
Оценка:
Здравствуйте, V.Petrovski, Вы писали:

VP>Здравствуйте, <Аноним>, Вы писали:


А>>Минусы: 1. написание XSLT файла для 2000-строчной схемы

VP>Что ты к этим строчкам привязался, самое страшное не в их количестве.
VP>Сложность схемы зависит от количества элементов и их структуры.

Количество элементов примерно раз в пять меньше количества строк...

А>>2. А где собственно валидация по данной xsd схеме?

VP>Валидация в алгоритме преобразования.

А алгоритм преобразования случайно работает не спомощью xslt файла? (кажется я это и имел в виду)

А>>Конечно, если не получиться создать объктную модель по схеме, то прийдётся юзать план B.

VP>Можно создать Объектную модель для xsd схемы. Если не получиться заюзать XmlSerializer по каким-либо причинам,
VP>то тебе поможет патерн Visitor.
А>>Best Regards.

Спасибо, гляну. На самом деле не стоит ходить по кругу. Есть проблема со схемой, решаю — супер, нет — xslt.

Best Regards.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.