Такая проблема
по существующей XSD построить пустой XML
как это лучше реализовать?
програмно?
применить XSL к XSD?
а может в парсерах уже есть встроенные функции?
Здравствуйте, Аноним, Вы писали:
А>Такая проблема А>по существующей XSD построить пустой XML А>как это лучше реализовать? А>програмно? А>применить XSL к XSD? А>а может в парсерах уже есть встроенные функции?
Altova XMLSpy это умеет
Re[2]: Создание XML по XSD
От:
Аноним
Дата:
22.08.05 11:23
Оценка:
Здравствуйте, Crash2002, Вы писали:
C>Здравствуйте, Аноним, Вы писали:
А>>Такая проблема А>>по существующей XSD построить пустой XML А>>как это лучше реализовать? А>>програмно? А>>применить XSL к XSD? А>>а может в парсерах уже есть встроенные функции?
C>Altova XMLSpy это умеет
Нет Altova XMLSpy не подойдет — это нужно сделать программно
А критерий пустоты — просто XML с элементами и атрибутами(только теми которые обязательны)
Здравствуйте, Аноним, Вы писали:
А>А критерий пустоты — просто XML с элементами и атрибутами(только теми которые обязательны)
Первая проблема в том, что нужно выбрать корневой элемент. Впрочем, это не так уж и сложно.
Вторая проблема в том, что есть ещё и частицы типа <choice>, и анализ на предмет того, как выбирать альтернативы и не войти в бесконечную рекурсию, — штука нетривиальная.
Третья проблема в том, что схема может быть отягощена всякими деталями, вроде фасета <pattern>, или абстрактными элементами и типами данных, или ключами, которые также усложняют задачу.
Если бы знать, что схемы будут строиться на основе какого-то подмножества языка определения схем, то, возможно, задача могла бы быть упрощена.
В самом общем виде задача очень сложна, и я даже не вполне уверен, что разрешима алгоритмически.
Re[4]: Так никто и не написал, а я тоже ищу.
От:
Аноним
Дата:
24.10.05 07:56
Оценка:
A>В самом общем виде задача очень сложна, и я даже не вполне уверен, что разрешима алгоритмически.
Spy — справляется же.
В особо общем виде и не надо. Положим, я могу предположить, какие элементы описания могут присутствовать.
Могу я распарсить XSD и перемещаясь по его дереву — создать дерево XML?
— У интерфейса IXMLDOMSchemaCollection2 есть метод getSchema()
— Он возвращает ISchema
— У он и есть "головной" узел. В нем все правильно описано. Но вот как достучаться до тех узлов, которые обязаны присутствовать в нем? Есть у него свойство attributies и elements. Но в elements только головной узел. Без указания его типа(по типам можно было бы найти в свойстве types).
В общем, можно где-то найти пример последовательного прохода по дереву XSD-файла? С получением ISchemaType для каждого эл-та.
Можно на бейсике, делфи или си.
Здравствуйте, Аноним, Вы писали:
А>Spy — справляется же.
Справляется, но очень условно. Он создаёт только заготовку, причём эта заготовка сама по себе может оказаться некорректной с точки зрения схемы (например, включать в себя абстрактные элементы, которые должны быть замещены элементами соответствующей группы подстановки, не удовлетворять требованиям ограничений key, unique, keyRef; значения простых типов могут не удовлеворять фасетам pattern и т. д.) и требовать последующей правки.
Re[6]: Жаль
От:
Аноним
Дата:
26.10.05 05:26
Оценка:
Здравствуйте, achp, Вы писали:
A>Справляется, но очень условно. Он создаёт только заготовку, причём эта заготовка сама по себе может оказаться некорректной с точки зрения схемы (например, включать в себя абстрактные элементы, которые должны быть замещены элементами соответствующей группы подстановки, не удовлетворять требованиям ограничений key, unique, keyRef; значения простых типов могут не удовлеворять фасетам pattern и т. д.) и требовать последующей правки.
Да Бог с ним, со SPY, не до жиру. Требуется хотя бы определять обязательность наличия элементов, их порядок, тип, ограничения по длине. Неужели никто это не анализировал и не встречал.
Огромная благодарность заранее
А>Да Бог с ним, со SPY, не до жиру. Требуется хотя бы определять обязательность наличия элементов, их порядок, тип, ограничения по длине. Неужели никто это не анализировал и не встречал. А>Огромная благодарность заранее
У меня очень похожий вопрос, как по xml-схеме (xsd) для каждого элемента определить обязательность наличия подэлементов и их порядок?
Здравствуйте, Аноним, Вы писали:
А>Такая проблема А>по существующей XSD построить пустой XML А>как это лучше реализовать? А>програмно? А>применить XSL к XSD? А>а может в парсерах уже есть встроенные функции?
Извиняюсь за вопрос немного не по теме. Где можно прочитать про схемы XML? Это XSD как я понимаю?
Здравствуйте, GhostCoders, Вы писали:
GC>Здравствуйте, Аноним, Вы писали:
А>>Такая проблема А>>по существующей XSD построить пустой XML А>>как это лучше реализовать? А>>програмно? А>>применить XSL к XSD? А>>а может в парсерах уже есть встроенные функции?
GC>Извиняюсь за вопрос немного не по теме. Где можно прочитать про схемы XML? Это XSD как я понимаю?