Q. Как сгенерировать XSchema по имеющемуся xml-документу?

A [flax].

  1. Altova XML SPY
  2. Visual Studio .NET
  3. Java Tools
  4. XSLT Tools

Serge Shikov описал следующий способ генерации схем средствами java:

 Рассказываю: берешь свой _документ_ (не схему, а XML). Натравливаешь на 
 него Examplotron, получаешь RELAX NG. Берешь jing, и проверяешь 
 валидность. Дальше, берешь скажем trang, или аналогичную тулзу - и автоматически 
 конвертируешь RELAX NG в схему (конвертируется не все, как впрочем и 
 обратно, но очень многое).

На мой взгляд, генерация схемы разумна в том случае, когда вы:

  1. понимаете схемы
  2. ожидаемые схемы не слишком сложны и велики по объему
  3. не требуется дальнешего развития схемы и схема нигде не публикуется, т.е. не требуется ее “качественность”.

Например, можно использовать Altova XMLSPY для генерации схемы по xml-документу, однако, думаю, что “легче самому написать, чем править то, что оно генерирует”. Если вы абсолютно не разбираетесь в схемах, то генерация может сократить время и усилия. В случае, если вам нужно написать грамотную схему по уже составленному (грамотно) (поставить ссылку на талеровский пост о семантике FIXME) xml - в таком случае, лучше пишите схему самостоятельно.

Если изучение XSchema представляется утомительным даже после прочтения FIXME(ссылка на overview), то можете попробовать описать документ с помощью RelaxNG, что, по всей видимости, должно быть проще (W3C XML Schema vs. Relax NG).

Если перед вами стоит задача не сгенеровать XSchema (например, для SOAP), а лишь каким-либо образом ввести способо описания для последующей валидации, то в таком случае, можете использовать Schematron.

Если все вышеприведенное, по каким-либо причинам не подходит, то, в качестве последней инстанции, вы можете использовать XSLT утилиты dtd2XSD, XML2XSD из FIXME ( ссылка на них из фака), или Altova Mapforce.

Notice: “Не знаю, чем так уж сложны схемы, и чем так уж (особенно) прост XSLT

ссылка какая-то http://www.gotdotnet.com/team/xmltools/

 
  faq/generate_schema.txt · Последние изменения: 2005/03/16 14:15 by 212.44.93.98 (flax)
 
Нас поддерживают: стоимость дома из бруса Рейтинг@Mail.ruliveinternet.ru