Гуру и родоначальник XML Tim Bray официально признал, что XML Schemas оказались ошибкой и вместо XSD следует использовать другой, более удобный и правильный, язык описания схем XML RELAX NG
С>а не могли бы коротко и понятно, почему оказались ошибкой?
W3C XML Schemas (XSD) suck. They are hard to read, hard to write, hard to understand, have interoperability problems, and are unable to describe lots of things you want to do all the time in XML.
Схемы тяжело читать, трудно писать, они тяжелы для понимания, имеют проблемы с переносимостью между разными ОС и их не хватает, чтобы описать все, что можно делать с XML
1) Этот язык — просто чудо какое-то. RelaxNG — рулит. Даже нет... рулит-рулит-рулит!! Примерно так.
2) До этого тоже не слышал о нём никогда. То, что язык тебе неизвестен не помешает тебе его использовать.
3) Он на пару порядков проще XMLSchema... после всех этих головоломных расширений и наследований, можно просто писать то, что тебе надо валидировать и не мучиться.
Похоже он решил все те проблемы, которые я не мог решить на XMLSchema.
Пока в процессе поиска его недостатков.
Здравствуйте, <Аноним>, Вы писали:
С>>а не могли бы коротко и понятно, почему оказались ошибкой?
А>
W3C XML Schemas (XSD) suck. They are hard to read, hard to write, hard to understand, have interoperability problems, and are unable to describe lots of things you want to do all the time in XML.
А>Схемы тяжело читать, трудно писать, они тяжелы для понимания,
+1, но решаемо. Если не полениться и убить денька три на работу с ними, то таких проблем не будет. Но в относительном ключе — да, тяжеловаты, но не на столько, что б уж отказываться от них из-за этого.
А>имеют проблемы с переносимостью между разными ОС
Здравствуйте, Аноним, Вы писали:
С>>а не могли бы коротко и понятно, почему оказались ошибкой?
А>
W3C XML Schemas (XSD) suck. They are hard to read, hard to write, hard to understand, have interoperability problems, and are unable to describe lots of things you want to do all the time in XML.
А>Схемы тяжело читать, трудно писать
А разве это должны делать программисты, а не парсеры/генераторы? Последние вроде как справляются.
А>они тяжелы для понимания,
Спорный вопрос конечно, но отчасти так. Но спецификация XSLT к примеру не легче.
А>имеют проблемы с переносимостью между разными ОС
Это неверный перевод. Правильно "проблемы с взаимодействием" <между разными системами>
А>и их не хватает, чтобы описать все, что можно делать с XML
Тоже не совсем точный перевод, но это уже серьезный аргумент. То есть вопрос в том расширять ли этот стандарт или изобретать новый.
Здравствуйте, <Аноним>, Вы писали:
А>Гуру и родоначальник XML Tim Bray официально признал, что XML Schemas оказались ошибкой и вместо XSD следует использовать другой, более удобный и правильный, язык описания схем XML RELAX NG
а не могли бы коротко и понятно, почему оказались ошибкой?
W3C XML Schemas (XSD) suck. They are hard to read, hard to write, hard to understand, have interoperability problems, and are unable to describe lots of things you want to do all the time in XML.
Схемы тяжело читать, трудно писать, они тяжелы для понимания, имеют проблемы с переносимостью между разными ОС и их не хватает, чтобы описать все, что можно делать с XML А>Вот пример
Здравствуйте, <Аноним>, Вы писали:
А>Здравствуйте, снежок, Вы писали:
С>>а не могли бы коротко и понятно, почему оказались ошибкой?
А>
W3C XML Schemas (XSD) suck. They are hard to read, hard to write, hard to understand, have interoperability problems, and are unable to describe lots of things you want to
А>do all the time in XML.
Схемы тяжело читать, трудно писать, они тяжелы для понимания,
+0.1
А>имеют проблемы с переносимостью между разными ОС
что, простите? На них есть W3C стандарт. ты имел ввиду реализации этого стандарта имеют проблемы с переносимостью?
А> и их не хватает, чтобы описать все, что можно делать с XML
+1. В большинстве случаев все-таки хватает
А>Вот пример
. Не нужен стандарт, который не может осилить мозг среднего программиста.
хм, думаю просто мозг не осилил прочтение документации. Точнее он ее сначала вообще небось не читал
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: XSD оказались ошибкой
От:
Аноним
Дата:
06.12.06 18:29
Оценка:
Здравствуйте, Константин Л., Вы писали:
А>>имеют проблемы с переносимостью между разными ОС
КЛ>что, простите? На них есть W3C стандарт. ты имел ввиду реализации этого стандарта имеют проблемы с переносимостью?
Это не я имел в виду. Это автор XML имел в виду.
То есть вопрос в том расширять ли этот стандарт или изобретать новый.
А по ссылкам ходим? Автор сказал, что большинство приложений XML выбрало в качестве языка схем RELAX NG, т.е. он де факто стандарт.
Здравствуйте, <Аноним>, Вы писали:
А>Здравствуйте, Константин Л., Вы писали:
А>>>имеют проблемы с переносимостью между разными ОС
КЛ>>что, простите? На них есть W3C стандарт. ты имел ввиду реализации этого стандарта имеют проблемы с переносимостью?
А>Это не я имел в виду. Это автор XML имел в виду.
Только сейчас прочитал английский вариант. interoperability не есть переносимость, как тут уже упомянули. Хотя какие там могут быть проблемы с interop? Ума не приложу
А>
То есть вопрос в том расширять ли этот стандарт или изобретать новый.
А по ссылкам ходим? Автор сказал, что большинство приложений XML выбрало в качестве языка схем RELAX NG, т.е. он де факто стандарт.
не ходим. Может я не достаточно продвинут, но про RELAX NG слышу первый раз. Не плоховато ли для стандарта?
Здравствуйте, wildwind, Вы писали:
А>>они тяжелы для понимания, W>Спорный вопрос конечно, но отчасти так. Но спецификация XSLT к примеру не легче.
Не согласен. Спецификация XSLT по сравнению со схемой — все равно как детектив по сравнению с Критикой чистого разума.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[5]: XSD оказались ошибкой
От:
Аноним
Дата:
07.12.06 14:00
Оценка:
Здравствуйте, Lloyd, Вы писали:
L>Не согласен. Спецификация XSLT по сравнению со схемой — все равно как детектив по сравнению с Критикой чистого разума.
Здравствуйте, ripos, Вы писали:
R>1) Этот язык — просто чудо какое-то. RelaxNG — рулит. Даже нет... рулит-рулит-рулит!! Примерно так. R>2) До этого тоже не слышал о нём никогда. То, что язык тебе неизвестен не помешает тебе его использовать. R>3) Он на пару порядков проще XMLSchema... после всех этих головоломных расширений и наследований, можно просто писать то, что тебе надо валидировать и не мучиться.
R>Похоже он решил все те проблемы, которые я не мог решить на XMLSchema. R>Пока в процессе поиска его недостатков.
R>Можно ознакомиться здесь: R>http://relaxng.org/compact-tutorial-20030326.html (описание не-XML синтаксиса языка, есть также XML вариант)
на первый взгляд неплохо. Валидаторы от MS есть?
Re[2]: Полностью подтверждаю.
От:
Аноним
Дата:
12.12.06 18:34
Оценка:
Здравствуйте, ripos, Вы писали: R>Похоже он решил все те проблемы, которые я не мог решить на XMLSchema. R>Пока в процессе поиска его недостатков.
R>Можно ознакомиться здесь: R>http://relaxng.org/compact-tutorial-20030326.html (описание не-XML синтаксиса языка, есть также XML вариант)
Из всех известных мне IDE XMLSpy, StylusStudio, Oxygenxml поддерживает валидацию в RELAX NG только Oxygenxml.
Re[3]: Полностью подтверждаю.
От:
Аноним
Дата:
12.12.06 18:39
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, ripos, Вы писали: R>>Похоже он решил все те проблемы, которые я не мог решить на XMLSchema. R>>Пока в процессе поиска его недостатков.
R>>Можно ознакомиться здесь: R>>http://relaxng.org/compact-tutorial-20030326.html (описание не-XML синтаксиса языка, есть также XML вариант)
А>Это тонкий стёб?
А>Я себе нашел такие ссылки здесь, здесь
Здравствуйте, Аноним, Вы писали:
R>>Можно ознакомиться здесь: R>>http://relaxng.org/compact-tutorial-20030326.html (описание не-XML синтаксиса языка, есть также XML вариант) А>Это тонкий стёб? :no: :???: :(
Нет. =) Просто обычно люди ленятся поискать. Поэтому давать прямую ссылку есть хорошо.
Я дал ссылку одну (чтобы не надо было выбирать) и на тот документ, который убедил именно меня, что надо пользоваться релаксом.
А>Из всех известных мне IDE XMLSpy, StylusStudio, Oxygenxml поддерживает валидацию в RELAX NG только Oxygenxml.
Да. Это вполне можно считать недостатком.
Но... я поработал во всех трёх. Оксиген — самый лучший. =) Но тут говорить так нельзя потому, что разгорятся священные войны.
Вообще, поддержка валидации в редакторе меня не особо интересовала. Комманд-лайн интерфейс прост, как три рубля:
java -jar jing.jar schema.rnc test.xml
И валидировать я буду только из джавы. Так что мне, можно считать, повезло.
Главное в релаксе то, что те вещи, которые я не смог(!) написать в схемах даже после недельного чтения доков в релаксе я научился делать за день.
И именно этот день ушёл на прочтение этой доки и ещё пары стетеек в инете.
PS> Давайте жить дружно. Не надо ссориться. Просто мне — оооочень помог данный иниструмент. И своей радостью я хотел поделиться со всеми.
Я не хотел раздувать войну между схемами и релаксами. Или Xml IDE
Здравствуйте, ripos, Вы писали:
R>1) Этот язык — просто чудо какое-то. RelaxNG — рулит. Даже нет... рулит-рулит-рулит!! Примерно так. R>2) До этого тоже не слышал о нём никогда. То, что язык тебе неизвестен не помешает тебе его использовать. R>3) Он на пару порядков проще XMLSchema... после всех этих головоломных расширений и наследований, можно просто писать то, что тебе надо валидировать и не мучиться.
R>Похоже он решил все те проблемы, которые я не мог решить на XMLSchema. R>Пока в процессе поиска его недостатков.
R>Можно ознакомиться здесь: R>http://relaxng.org/compact-tutorial-20030326.html (описание не-XML синтаксиса языка, есть также XML вариант)
Только вот непонятно, что делать с XSLT 2.0, в котором XML Schema встроен. Можно указывать типы, и брать типы из внешних файлов.
А вот с RelaxNG так не получится.
Имплементация XML Schema уже есть во многих продуктах, а с Relax NG пока не везде.
Так что видимо, придется по старинке с XML Schema возиться, пока Relax NG не распостранится на все.
Надеюсь XSLT 3.0 будет поддерживать уже Relax NG
Здравствуйте, _nn_, Вы писали:
__>Есть версия Relax NG в XML. :beer: __>Мне непонятно зачем версия не XML.
Особого смысла в XML формате как раз нет.
XML имеет смысл, когда надо:
— переносимость
— валидируемость стандартными средствами
Ни того, ни другого не надо. Валидатор по схеме и саму схему валидирует, в каком бы она формате не была.
А писать не в XML куда приятнее. Потому, что писать меньше. =) И лучше видно что и куда.
При более-менее сложных зависимостях (когда XMLSchema уже не напишешь), тогда и становится удобно не-XML. Кучу бессмсленной информации передаваемой тэгами исчезает и остается только смысл.
Если бы XML был бы оптимальным форматом, то не-XML вообще бы не существовало.
Здравствуйте, ripos, Вы писали:
R>Здравствуйте, _nn_, Вы писали:
__>>Есть версия Relax NG в XML. __>>Мне непонятно зачем версия не XML.
R>Особого смысла в XML формате как раз нет. R>XML имеет смысл, когда надо: R> — переносимость R> — валидируемость стандартными средствами
R>Ни того, ни другого не надо. Валидатор по схеме и саму схему валидирует, в каком бы она формате не была.
Как раз таки надо, чтобы легче было схему обрабатывать.
Так одного парсера хватает на все.
R>А писать не в XML куда приятнее. Потому, что писать меньше. =) И лучше видно что и куда.
Это проблема, потому как XML язык общего назначения.
А Relax NG это DSL.
R>При более-менее сложных зависимостях (когда XMLSchema уже не напишешь), тогда и становится удобно не-XML. Кучу бессмсленной информации передаваемой тэгами исчезает и остается только смысл. R>Если бы XML был бы оптимальным форматом, то не-XML вообще бы не существовало.
P.S.
Вот валидацию Relax NG на Relax NG не напишешь.
А вот XML Schema или Relax NG XML можно.