Используется ли xmlns="" дико, и это хороший стиль?

Выражение атрибута xmlns="" объявляет пространство имен "no namespace".

Например:

...
<html xmlns="http://www.w3c.org/xhtml">
   <table><!--table of hotels-->
      ...
      <td>
         <description xmlns="">
            <name>Las Vegas</name>
            <city>Phoenix, Arizona</city> 
         </description>
      </td>
      ...
   </table>
</html>

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

Что имеет смысл для меня, так как мне не нужно находить или создавать подходящее пространство имен. Может быть, иногда вы не хотите разрабатывать схему, если не будете ее повторно использовать, и в любом случае есть только несколько данных, которые можно аннотировать.

Было бы также целесообразно, чтобы вышеприведенный документ был просто первым эскизом до разработки схемы, а элементы xmlns="" просто использовались для комментирования данных для будущих изменений.

Какова общая практика? Разве это почти никогда не используется?

1 ответ

Решение

Уточнение: ваш документ xhtml документ, и установил это как пространство имен по умолчанию (xmlns="http://www.w3c.org/xhtml) Что за xmlns="" Атрибут делает так, чтобы сказать, что это значение по умолчанию больше не применяется, и что элемент, на котором он появляется, и его дочерние элементы не должны пониматься как xhtml но как сырой XML без пространства имен по умолчанию.

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

Относительно того, следует ли вам использовать "нет пространства имен" в первую очередь: это ваше дело. Пространства имен рекомендуются для любого нетривиального типа документа, потому что они позволяют в некоторый момент в будущем смешивать элементы из этого типа документа с элементами из другого типа документа и имеют смысл из комбинации. По сути, если вы не используете пространства имен, есть риск, что вы используете <name> для отеля запутаться с чужим использованием <name> для человека или переменной или богов-ноу-то.

Без пространств имен вам бы пришлось серьезно подумать о том, чтобы всегда писать что-то вроде <TRAVEL_AGENT_DATA_HOTEL_name> чтобы избежать этой опасности. Будучи в состоянии просто написать <hotel:name>и связать hotel: Префикс к пространству имен для документов турагента действительно является огромным улучшением.

Пространства имен XML были созданы, потому что они были необходимы. Вы будете использовать их, потому что вам нужно будет их использовать.

Другие вопросы по тегам