Гость
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XML-схемы не нужны! / 22 сообщений из 22, страница 1 из 1
18.10.2013, 10:19
    #38432375
Feofilakt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML-схемы не нужны!
Всем привет. Собственно, по теме: зачем нужны XML-схемы, если с их помощью нельзя описать структуру даже такого простейшего XML-документа:
Код: xml
1.
2.
3.
4.
5.
6.
7.
<doc>
    <e1>1</e1>
    <e2>2</e2>
    <e3>3</e3>
    <e4>4</e4>
    ...
</doc>


?
...
Рейтинг: 0 / 0
18.10.2013, 11:33
    #38432505
Battledwarf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML-схемы не нужны!
Feofilakt ,
пример XML-документа, который Вы привели, показывает, что Вам нужен XML с неизвестным заранее составом элементов.
Такой документ нельзя назвать "простейшим".
Если нужен такой, и только такой документ, то XML-схемы вам не нужны. Но это только для Вас.
Другие люди похожие задачи решают, изменяя подход к проектированию структуры XML-документов. Вполне возможно, что с новым подходом потребуется использование XML-схем.
...
Рейтинг: 0 / 0
18.10.2013, 12:08
    #38432588
Feofilakt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML-схемы не нужны!
Battledwarf,
но ведь состав элементов описывается очевидным формальным правилом ( <element name="e+i" type="xsd:integer" maxOccurs="unbounded"/> ), тем не менее, возможности XML-схем не позволяют определять такие правила. Почему технологию XSD не сделали более универсальной?
...
Рейтинг: 0 / 0
18.10.2013, 12:21
    #38432626
Battledwarf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML-схемы не нужны!
Feofilakt,
операция слияния строк, которую Вы так лихо представили плюсиком и символом "i", не очевидна и не формальна.
определяйте итератор в отдельном атрибуте, и будет Вам счастье.
А с вопросами типа Feofilakt"Почему технологию XSD не сделали более универсальной?" вам не сюда, а на http://www.w3.org/
...
Рейтинг: 0 / 0
18.10.2013, 12:45
    #38432677
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML-схемы не нужны!
Feofilakt но ведь состав элементов описывается очевидным формальным правилом Имя элемента формальными правилами не описывается. Это константа, от которой пляшет весь принцип определения содержимого элемента.

Feofilakt зачем нужны XML-схемыС помощью схемы можно описать язык разметки, воткнуть ее в студию, и студия будет поддерживать синтаксис (структуру) этого языка, как xsl/xsd, например. Хотя поддержка конкретно этих языков встроена, а не по схемам.
...
Рейтинг: 0 / 0
18.10.2013, 13:33
    #38432788
Feofilakt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML-схемы не нужны!
BattledwarfFeofilakt,
операция слияния строк, которую Вы так лихо представили плюсиком и символом "i", не очевидна и не формальна.
определяйте итератор в отдельном атрибуте, и будет Вам счастье.
Ну хорошо, может моя запись операции и не формальна, но XML-то получается очевиднейший! И для не подготовленного в вопросе возможностей XML-схем человека он будет гораздо проще, чем
Код: xml
1.
2.
3.
4.
5.
6.
7.
<doc>
    <e i="1">1</e>
    <e i="2">2</e>
    <e i="3">3</e>
    <e i="4">4</e>
    ...
</doc>


AntonariyИмя элемента формальными правилами не описывается. Это константа, от которой пляшет весь принцип определения содержимого элемента.
Так XML в каком стиле лучше писать, чтобы обязательно имя константным было и XSD работало, или произвольно?
Тем более, ведь полно документов вида
Код: xml
1.
2.
3.
4.
5.
6.
<doc>
    <Ivanov>20</Ivanov>
    <Petrov>30</Petrov>
    <Sidorov>40</Sidorov>
    ...
</doc>


Как с ними быть?
...
Рейтинг: 0 / 0
18.10.2013, 13:46
    #38432819
Battledwarf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML-схемы не нужны!
Feofilakt,
"неподготовленным в вопросе возможностей XML-схем" нужно подготовиться перед использованием XML. Фраза очевидная, однако, требует осмысления. Катание на велосипеде тоже очевидно, однако, требует подготовки.

FeofilaktТак XML в каком стиле лучше писать, чтобы обязательно имя константным было и XSD работало, или произвольно?
Ни в каком. Вообще не пишите таких XML.

И не показывайте XML неподготовленным пользователям. Не поймут.
...
Рейтинг: 0 / 0
18.10.2013, 13:53
    #38432836
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML-схемы не нужны!
FeofilaktТак XML в каком стиле лучше писать, чтобы обязательно имя константным было и XSD работало, или произвольно?Проверять документы, подчиняющиеся правилам, которые не поддерживаются xsd, нужно с помощью других инструментов, например xsl.
Сам решай, что тебе будет лучше.
FeofilaktКак с ними быть?xs:any
...
Рейтинг: 0 / 0
18.10.2013, 14:01
    #38432851
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML-схемы не нужны!
FeofilaktТем более, ведь полно документов видаТак их и делали неподготовленные люди, не задумывавшиеся о проверке этих документов схемой.
...
Рейтинг: 0 / 0
18.10.2013, 15:16
    #38432981
Feofilakt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML-схемы не нужны!
Миллион людей XML-документов не может быть ошибкой! :)
А если серьезно, то нет никаких предупреждений о том, что с помощью XML-схемы нельзя описать любой шаблон XML-документа, что влечет два подхода к написанию XML: использовать имена элементов для хранения данных или категорически так не делать.
...
Рейтинг: 0 / 0
18.10.2013, 19:36
    #38433435
petalvik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML-схемы не нужны!
FeofilaktXML-схемы не нужны!

Я тебе больше скажу: XML не нужен!

Формат громоздкий, в файле в основном хранится разметка, а не данные, парсить этот формат очень сложно, доступ к произвольному узлу невозможен, изменить произвольный узел прямо в файле невозможно, и т. д., и т. п.
...
Рейтинг: 0 / 0
20.10.2013, 05:56
    #38434354
Feofilakt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML-схемы не нужны!
petalvikЯ тебе больше скажу: XML не нужен!

Формат громоздкий, в файле в основном хранится разметка, а не данные, парсить этот формат очень сложно, доступ к произвольному узлу невозможен, изменить произвольный узел прямо в файле невозможно, и т. д., и т. п.

Не пойму, это было сказано с сарказмом или нет, потому что хоть XML и мэйнстрим, но на самом деле всем этим недостаткам можно противопоставить только одно достоинство XML - легкость чтения человеком. Как-то неубедительно, один плюс против стольких минусов.
...
Рейтинг: 0 / 0
20.10.2013, 10:41
    #38434386
petalvik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML-схемы не нужны!
FeofilaktНе пойму, это было сказано с сарказмом или нет, потому что хоть XML и мэйнстрим, но на самом деле всем этим недостаткам можно противопоставить только одно достоинство XML - легкость чтения человеком. Как-то неубедительно, один плюс против стольких минусов.

Я на самом деле считаю, что широкое применение xml - ошибка.
Легкость чтения - это представление . А оно, как известно, должно быть отделено от данных . Данные нужно хранить в компактном виде, чтобы и на носителе место мало занимали, и по сети быстро передавались. Также формат данных должен легко парситься (xml этом не удволетворяет).
А человекочитаемость обеспечивается элементарно: быстро читаем малый объём данных, легко парсим, и показываем человеку в любом удобном виде, будь то таблица, диаграмма, или тот же xml.
...
Рейтинг: 0 / 0
20.10.2013, 10:50
    #38434390
LEgrandes
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML-схемы не нужны!
НА Joomla так же можно сделать ?
...
Рейтинг: 0 / 0
20.10.2013, 10:53
    #38434391
Feofilakt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML-схемы не нужны!
Но XML везде! И со временем только все больше распространяется
...
Рейтинг: 0 / 0
20.10.2013, 11:46
    #38434411
s62
s62
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML-схемы не нужны!
FeofilaktТак XML в каком стиле лучше писать, чтобы обязательно имя константным было и XSD работало, или произвольно?
Тем более, ведь полно документов вида
Код: xml
1.
2.
3.
4.
5.
6.
<doc>
    <Ivanov>20</Ivanov>
    <Petrov>30</Petrov>
    <Sidorov>40</Sidorov>
    ...
</doc>


Как с ними быть?
Плохо составлен документ, для хранения в XML. У вас набор однотипных по значению узлов, где каждый узел имеет другое имя. Сделайте однотипные узлы с одинаковыми именами, а фамилии сделайте содержимым узлов или атрибутами. Например:
Код: xml
1.
2.
3.
4.
5.
<doc>
    <person name="Ivanov" age="20" />
    <person name="Petrov" age="30" />
    <person name="Sidorov" age="40" />
</doc>



Или:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<doc>
    <person>
       <name>Ivanov</name>
       <age>20</age>
   </person>
    <person>
      <name>Petrov</name>
      <age>30</age>
    </person>
    ...
</doc>
...
Рейтинг: 0 / 0
20.10.2013, 11:48
    #38434413
s62
s62
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML-схемы не нужны!
и будет вам счастье
...
Рейтинг: 0 / 0
20.10.2013, 14:10
    #38434495
Feofilakt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML-схемы не нужны!
s62Плохо составлен документ, для хранения в XML. У вас набор однотипных по значению узлов, где каждый узел имеет другое имя.
А где-нибудь закреплены или хотя бы просто описаны правила, что документы так составлять плохо, и как это делать хорошо?
...
Рейтинг: 0 / 0
20.10.2013, 16:08
    #38434594
nscl
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML-схемы не нужны!
FeofilaktТем более, ведь полно документов вида
Код: xml
1.
2.
3.
4.
5.
<doc>
    <Ivanov>20</Ivanov>
    <Petrov>30</Petrov>
    <Sidorov>40</Sidorov>
    ...</doc>

Как с ними быть?
Это кто такой адЪ генерит ? Расстрелять немедленно. Из реактивного говномёта.
Имена контор/программ/программистов, кто такое ваяет.

s62 написал, как надо сделать:
Код: xml
1.
2.
3.
4.
5.
<doc>
    <person name="Ivanov" age="20" />
    <person name="Petrov" age="30" />
    <person name="Sidorov" age="40" />
</doc>

И да, кодировка должна быть - UTF-8. И DTD в начале должен быть указан, чтобы можно было легко парсить и проверять документ.

Прочитать надо для начала вот это:
http://ru.wikipedia.org/wiki/XML
http://ru.wikipedia.org/wiki/DTD
...
Рейтинг: 0 / 0
21.10.2013, 00:41
    #38434927
petalvik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML-схемы не нужны!
FeofilaktА где-нибудь закреплены или хотя бы просто описаны правила, что документы так составлять плохо, и как это делать хорошо?

Можно обратить внимание сюда .
...
Рейтинг: 0 / 0
21.10.2013, 00:52
    #38434934
petalvik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML-схемы не нужны!
nsclDTD

DTD можно использовать только если есть уверенность в безопасности приходящих xml. Если они поступают извне, из недоверенного источника, то лучше запретить dtd (в современных xml-парсерах такое поведение по-умолчанию).
...
Рейтинг: 0 / 0
21.10.2013, 05:36
    #38434982
valkot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XML-схемы не нужны!
nsclИ да, кодировка должна быть - UTF-8.

не правда. Стандарт такого ни разу не требует.
И DTD в начале должен быть указан, чтобы можно было легко парсить и проверять документ.

и это тоже неправда. Во-первых потому что валидация нужна только если вам надо т.н. validated документ, но есть еще и well formed, такой же разрешенный в стандарте, он ддт не требует, потому как не требует валидации. Во-вторых, есть Xsd.
...
Рейтинг: 0 / 0
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XML-схемы не нужны! / 22 сообщений из 22, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]