powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XML -- теоритический вопрос
13 сообщений из 13, страница 1 из 1
XML -- теоритический вопрос
    #33456024
Фотография YuriyB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
какое принципиальное отличие 2 примеров данных ниже ?

Код: plaintext
1.
2.
3.
4.
5.
<person>
   <id> 1 </id>
  ...
</person>
...

или

Код: plaintext
1.
2.
3.
4.
<person id ="1">
 ...
</person>
...

и в каких случаях лучше применять тот или иной вариант ?
...
Рейтинг: 0 / 0
XML -- теоритический вопрос
    #33456037
M0us
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Юра-Б, это что, тест?
мы не на экзамене, господин студент... :)

я предпочитаю хранить значения сущностей в атрибутах...
в Вашем случае это выглядело бы так
Код: plaintext
<person id ="1"/>

мои субъективные аргументы: компактность xml-кода, компактность xslt-кода, компактность xml-схемы, улучшенная читабельность, и... на моей настоящей работе руководство считает также... :)

XML изначально разрабатывался - как способ удовлетворить при описании и хранении данных нужды ВСЕХ пользователей во ВСЕХ немаразматических случаях... насколько это получилось - не мне решать, но XML version="1.0" может далеко не все.

YuriyBи в каких случаях лучше применять тот или иной вариант ?
все зависит от описываемой информации...
...
Рейтинг: 0 / 0
XML -- теоритический вопрос
    #33456101
777777777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я также предпочитаю использовать в данном случае атрибуты, но в другом варианте возможно дублирование идентификаторов - с атрибутами это не пройдет.

так низзя:
Код: plaintext
<person id ="1"  id = "2"/>

а так льзя:
Код: plaintext
1.
2.
3.
<person>
   <id> 1 </id>
   <id> 2 </id>
</person>
...
Рейтинг: 0 / 0
XML -- теоритический вопрос
    #33456113
Фотография YuriyB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
M0usЮра-Б, это что, тест?
мы не на экзамене, господин студент... :)
...

нет мне просто стало интересно
так при всей очевидности выгоды второй схемы
почему то я часто встречаю первую.

так все же когда "выгодна" 1 схема ?
...
Рейтинг: 0 / 0
XML -- теоритический вопрос
    #33456195
M0us
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
777777777я также предпочитаю использовать в данном случае атрибуты, но в другом варианте возможно дублирование идентификаторов - с атрибутами это не пройдет.

так низзя:
Код: plaintext
<person id ="1"  id = "2"/>

а так льзя:
Код: plaintext
1.
2.
3.
<person>
   <id> 1 </id>
   <id> 2 </id>
</person>


можно по разному... все зависит от описания xml-схемы

YuriyBтак все же когда "выгодна" 1 схема ?

она выгодна тогда, когда дочерний элемент может встречаться более одного раза...
это уже заувалированно прозвучало у 777777777
...
Рейтинг: 0 / 0
XML -- теоритический вопрос
    #33456245
Фотография YuriyB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
M0us

YuriyBтак все же когда "выгодна" 1 схема ?

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

я сперва спросил а потом заметил

спасибо за ответы
...
Рейтинг: 0 / 0
XML -- теоритический вопрос
    #33456458
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
также первая схема выгоднее, если элемент id может иметь дочерние элементы.
...
Рейтинг: 0 / 0
XML -- теоритический вопрос
    #33456853
qu-qu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuriyB...так все же когда "выгодна" 1 схема ?

В т.н. "XML-сообществе" уже давно идет вялотекущий "спор/дискуссия" на тему типа "elements vs attributes"... (пока без ощутимых результатов, вывод всегда примерно одинаковый - "смотрите, что вам легче/удобнее, то и используйте").

Попробую вставить и свои "2 копейки" в эту бесконечную тему: преимущества атрибутов уже были высказаны предыдущими ораторами ( M0us ), поэтому их "легче/удобнее" использовать в устоявшейся схеме, которая не должна/будет быстро и часто изменяться в процессе работы...
Если же схема предполагает какие-либо изменения по ходу разработки/эксплуатации (или же изначально предназначена для заранее неопределенных структур данных), то тут (ИМХО) без элементов не обойтись.

Если говорить о "личных предпочтениях", то я бы всегда использовал "вариант 1", если бы не было так лень набивать все закрывающие теги...
(а что касается "оверхеда" по объему хранения/передачи в "варианте 1" - надо же давать стимул производителям винтов/сетевого оборудования).
...
Рейтинг: 0 / 0
XML -- теоритический вопрос
    #33457168
M0us
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qu-quЕсли же схема предполагает какие-либо изменения по ходу разработки/эксплуатации (или же изначально предназначена для заранее неопределенных структур данных), то тут (ИМХО) без элементов не обойтись.

Если говорить о "личных предпочтениях", то я бы всегда использовал "вариант 1", если бы не было так лень набивать все закрывающие теги...

можно чуть подробнее о том, что элементы удобны в неустоявшейся схеме...
...
Рейтинг: 0 / 0
XML -- теоритический вопрос
    #33457517
qu-qu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
M0us...можно чуть подробнее о том, что элементы удобны в неустоявшейся схеме...

Да ради БГ...
Простой пример - для приложения надо "персистить" объект типа Person , что-то вроде этого:
Код: plaintext
1.
2.
3.
4.
5.
<Person 
   id="1" 
   name="Вася" 
   surname="Пупкин" 
   passport="№99 99 88 88 88, выдан 12.01.2005 Каким-то Там ОВД какого-то там города." />
Вы реализуете всякие XSLT, строите представления и бизнес-логику на схеме с атрибутами, а через N дней выясняется, что в структуре Person будут сохраняться не только "резиденты РФ", но и "нерезиденты", у которых обязательно заполнение такого свойства паспорта как "срок действия".

Согласитесь, что добавление "лишнего" атрибута к Person - абсолютно неадекватно добавлению "необходимого" элемента к passport :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
<Person 
   id="2" 
   name="Basil" 
   surname="Popen" 
   passport="..." 
   passport_expiration="31.12.2006" />
<!-- ^^^^^^ выглядит "по-уродски" с точки зрения любой ОО модели сохранения данных -->
<Person>
  <id> 2 </id>
  <name>Basil</id>
  <surname>Popen</surname>
  <passport>....
    <type>foreign</type>
    <expiration> 31 . 12 . 2006 </expiration>
<!-- ^^^^^^ в отличие от этого подхода, когда "исходная" схема осталась 
практически нетронутой, а все, что было добавлено "потом" - легко и просто 
дописывается "поверх" нее -->
</passport>
</Person>
...
Рейтинг: 0 / 0
XML -- теоритический вопрос
    #33457573
M0us
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
странный пример.
при проектировании я ни за что не стал бы составляющие сущности passport делать атрибутами person.
Поэтому Ваш пример некорректен.
...
Рейтинг: 0 / 0
XML -- теоритический вопрос
    #33457649
qu-qu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
M0usстранный пример.
при проектировании я ни за что не стал бы составляющие сущности passport делать атрибутами person.
Поэтому Ваш пример некорректен.

Угу, пусть будет "некорректен", Вы бы, наверное, изменили схему элемента Person , перенесли бы атрибут passport на уровень элементов, добавили бы к нему атрибутов type и expiration , попутно переписав кучу сопутствующего кода, в котором раньше passport был атрибутом... флаг в руки...
Я не собираюсь никому ничего доказывать, я просто высказал свое личное мнение по вопросу - что мне "легче/удобнее" использовать на уровне принятия решения по вопросу "elements vs attributes" и привел умозрительный пример того, как "простые" скалярные значения у полей объекта (которые по-фигу как реализовывать - элементами или атрибутами) могут в течение жизненного цикла приложения "мигрировать" в сложные типы (объекты же), которые без элементов уже не опишешь/сохранишь/передашь.
...
Рейтинг: 0 / 0
XML -- теоритический вопрос
    #33457846
M0us
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qu-quЯ не собираюсь никому ничего доказывать
и правильно...
я тоже :)

qu-quВ т.н. "XML-сообществе" уже давно идет вялотекущий "спор/дискуссия" на тему типа "elements vs attributes"... (пока без ощутимых результатов, вывод всегда примерно одинаковый - "смотрите, что вам легче/удобнее, то и используйте").
зачем его продолжать?

подведем резюме топика: идеального совета нет, но у любого программиста есть свои предпочтения по стилю программирования и оформлению кода. Пусть каждый постарается найти свой стиль и затем начнет всем говорить: "что его стиль самый хороший" :)

ЗЫ истина рождается в споре...
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XML -- теоритический вопрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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