Почему желательно избегать использования атрибута xml и использовать элемент - PullRequest
2 голосов
/ 28 октября 2011

XML-схема определена следующим образом, и предположим, что мне нужно получить sal, где dept = "lab" и id = "001".

<start>
    <emp>
        <dept>lab</dept>                    
        <id>001</id>                        
        <sex>male</sex>                 
        <sal>5k</sal>                         
    </emp>                                          
</start>

другим способом,

<start>                                     
    <emp dept="lab">                                           
        <id sr="001">                        
            <sex>male</sex>                 
            <sal>5k</sal>
        </id>                       
    </emp>                                          
</start>

Я думаю, что второй способ гораздо лучше разобрать, но желательно избегать атрибутов, почему?Что вы говорите?

Ответы [ 2 ]

0 голосов
/ 24 февраля 2018

Существует 3 основных причины, по которым следует избегать атрибутов:

  1. Атрибуты не могут содержать несколько значений, но дочерние элементы могут иметь несколько значений.
  2. Атрибуты не могут содержать деревоструктура, но дочерний элемент может.
  3. Атрибуты не могут быть легко расширены.Если вы хотите изменить значения атрибутов в будущем, это может быть сложно.
  4. Атрибуты не могут описывать структуру, но дочерние элементы могут.
  5. Атрибутами труднее манипулировать с помощью программного кода.
  6. Значения атрибутов нелегко проверить с помощью DTD, который используется для определения допустимых элементов XML-документа.

Поэтому рекомендуется перейти кэлементы не атрибуты ...

0 голосов
/ 12 ноября 2013

Некоторым людям не нравятся атрибуты.Они говорят так добровольно, и вы нашли их замечания в Интернете.

Если вы не согласны, не стесняйтесь игнорировать этих людей и использовать атрибуты, сколько хотите.(Если это имеет значение, вы всегда можете сделать вывод, что разработчики SGML и XML согласились с вами, а не с теми, кто не любит атрибуты.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...