XML - В чем разница в использовании и функциях между, например,иДжон Доу?

XML - В чем разница в использовании и функциях между, например,иДжон Доу?

Я видел первый вариант с несколькими атрибутами в одной скобке (например <person name="JohnDoe" age="25">, ), но я не совсем понимаю, в чем именно разница между ними, и я также просто хотел бы узнать, как называются эти два типа объектов (я не смог загуглить этот вопрос, потому что изначально не имел ни малейшего представления об их названиях).

Я знаю, что оба могут делать одно и то же (вот почему я это спрашиваю), но я ищу хорошие варианты использования любого из них (например, использование пространств имен API в атрибутах вместо элемента, размещение данных в элементах вместо атрибутов)

решение1

Вы можете сделать это:

<foo>
    <bar>baz</bar>
</foo>

Но так делать нельзя:

<foo value="<bar>baz</bar>" />

Вы можете закодировать угловые скобки с помощью сущностей:

<foo value="&lt;bar&gt;baz&lt;/bar&gt;" />

Но теперь это просто текст "baz", а не вложенный XML. Эквивалентно этому:

<foo>&lt;bar&gt;baz&lt;/bar&gt;</foo>

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

Если вам не нужно вкладывать теги, оба варианта допустимы. Других технических различий нет. В спецификации XML нет семантических правил для использования одного вместо другого.

Связанный контент