2014-09-30 2 views
2

Я вижу ниже документа с помощью 2 пространств именЗначения имен в Xmlns атрибут

**

<root> 
<h:table xmlns:h="http://www.w3.org/TR/html4/"> 
    <h:tr> 
    <h:td>Apples</h:td> 
    <h:td>Bananas</h:td> 
    </h:tr> 
</h:table> 
<f:table xmlns:f="http://www.w3schools.com/furniture"> 
    <f:name>African Coffee Table</f:name> 
    <f:width>80</f:width> 
    <f:length>120</f:length> 
</f:table> 
</root> 

**

Вопрос: -

есть ли соглашение об именах для пространства имен или он должен быть только действительным адресом http?

Например: - В приведенном ниже примере я дал «test1» & «test2». Он действительно?

<root> 
<h:table xmlns:h="http://test1.com"> 
    <h:tr> 
    <h:td>Apples</h:td> 
    <h:td>Bananas</h:td> 
    </h:tr> 
</h:table> 
<f:table xmlns:f="http://test2.com"> 
    <f:name>African Coffee Table</f:name> 
    <f:width>80</f:width> 
    <f:length>120</f:length> 
</f:table> 
</root> 

ответ

0

Согласно the specification, «имя пространства имен» может быть любым допустимым URI - что включает в себя URL-адреса HTTP, с которыми мы наиболее знакомы, и другие формы, такие как URN (Uniform Resource Names), которые управляются по-разному.

Итак, в вашем примере http://test1.com и http://test2.com являются допустимыми URI, поэтому они являются действительными именами пространства имен.

Однако эта нота (от this section of the spec) разъясняет, как URI должен быть выбран:

имя пространства имен, чтобы служить своему предназначению, должны иметь характеристики уникальности и постоянства. Нецелесообразно использовать его для поиска схемы (если таковая существует). Uniform Resource Names [RFC2141] - пример синтаксиса, который разработан с учетом этих целей. Однако следует отметить, что обычные URL-адреса могут управляться таким образом, чтобы достичь этих же целей.

Наиболее очевидный способ создания URI, который вы можете гарантировать (в разумных пределах) будет уникальный и стойкими является использовать домен, который вы владеете. Пока у вас есть полномочия над этим доменом, маловероятно, что кто-то другой выберет один и тот же URL-адрес, чтобы иметь другое значение. Кроме того, любой, кто ищет полномочия в этом пространстве имен, предположит, что вы, как контроллер домена, являетесь этим органом.

Если вы владели доменом user1050619.com, можно поэтому использовать имена пространств имен http://user1050619.com/XMLNS/Test1 и http://user1050619.com/XMLNS/Test2

Это не является необходимым для решения этого URL, чтобы привести что-нибудь полезное (или что-нибудь вообще), но это общее чтобы разместить там какую-либо документацию - либо машиночитаемый документ, такой как DTD или определение схемы, либо читаемую человеком страницу, объясняющую элементы, определенные этой схемой. В качестве альтернативы вы можете перенаправить пользователя на видео Rick Astley;)

0

URI пространства имен не используется парсером для поиска информации.

Я думаю, этого должно быть достаточно, чтобы URI для названных пространств имен h и f просто были уникальными, действительными URI. В большинстве примеров я видел, как http используется как имя схемы.

Таким образом, вполне допустимы имена (что не отображает на действительный сайт) могут быть:

xmlns:foo="http://my.example.ns"