Home >Backend Development >XML/RSS Tutorial >Sample code sharing about namespaces in XML

Sample code sharing about namespaces in XML

黄舟
黄舟Original
2017-03-21 16:52:551426browse

The

namespace in XML is also called namespace.

#What is the role of namespace?

In order to solve the conflict of the same name and distinguish the identification of XML vocabulary in different fields. (Refer to the example below)

Note: The namespace only has logical meaning and cannot truly realize # Reference to ##URI.

Declaration of namespace:

is placed in the start tag of the element (usually the root element), Declared in a property-like form.

The declaration of the namespace associates the name prefix with the URI.

The scope of the namespace:

Only declare the namespace elements and It is valid within the elements and attributes contained in this element.

(Note:

Default namespace does not directly affect attributes)

The element that declares the namespace is called

ContainerContainer). The association between namespace and prefix is ​​valid within the scope of the containing body.

Two declaration methods of namespace: 1

,

ExplicitName space declaration: xmlns: Prefix name = "aURI"

For example:

<根元素 xmlns: xg = “http://xugang.cnblogs.com” >
           <xg:子元素  attName = “myname” />
2

,

Default namespace declaration: xmlns = "certainURI"

it There is no prefix name, so

XML elements and attributes without prefix names in the containing body belong to the default namespace.

For example:

<根元素 xmlns = “http://xugang.cnblogs.com” >
           <子元素 attName =“myname” />

Note: Try to only use root elementsDeclaration Default namespace. If the default namespace is declared in a non-root element, it can easily be misunderstood or ignored by users as an element without a namespace. Therefore, non-root elementstry to not use default namespace declarations (it is recommended to use explicit namespace declarations).

Declaration of namespaceNote: * The double quotes must be a URI ;

* XML is case-sensitive, and prefix names are no exception;

*
Prefix name
It is recommended to use English abbreviations, but Chinese can also be used (but Chinese is not recommended); * Try to use Avoid the situation where the prefix
with the same name corresponds to the namespace of a different URI, which will easily mislead users; * Try to declare in the
root element All namespaces; * If the element where an attribute is located belongs to an explicitly declared namespace, there is generally no need to add a prefix to the attribute.

URI

(Uniform Resource Identifier): Uniform resource identifier.

URI is the URL and Superset of URN.

URL

(Uniform Resource Locater, unified format resource locator): used to mark the location of a resource on the network, It is commonly referred to as a URL.

URNUniform Resource Name,统一格式资源名称):表示Internet上某个持久(persistent)的资源,格式相对自由。如:“myURN: IT”表示本示例内部使用的名称。

示例:

IT部门使用.xml

<?xml version="1.0" encoding="GB2312" standalone="yes"?>
<资料>   
<设备 编号="联想6515b">      
<生产商>联想集团</生产商>      
<地址>北京市中关村127号</地址>   
</设备></资料>

建筑部门使用.xml

<?xml version="1.0" encoding="GB2312" standalone="yes" ?>
<资料>
   <设备 编号="中联F001">
      <生产商>中联重科</生产商>
      <地址>湖南省长沙市新开铺113号</地址>
   </设备>
</资料>

错误的部门融合.xml

<?xml version="1.0" encoding="GB2312" standalone="yes"?>
<资料>
   <设备 编号="联想6515b" 编号="中联F001">
      <设备名>笔记本</设备名>
      <生产商>联想集团</生产商>
      <地址>北京市中关村127号</地址>
      <设备名>起重机</设备名>
      <生产商>中联重科</生产商>
      <地址>湖南省长沙市新开铺113号</地址>
   </设备>
</资料>

正确的部门融合.xml

<?xml version="1.0" encoding="GB2312" standalone="yes"?>
<资料 xmlns:IT="http://www.lenovo.com" xmlns:建筑="myURN:中联">
   <设备 IT:编号="联想6515b" 建筑:编号="中联F001">
      <IT:设备名>笔记本</IT:设备名>
      <IT:生产商>联想集团</IT:生产商>
      <IT:地址>北京市中关村127号</IT:地址>
      <建筑:设备名>起重机</建筑:设备名>
      <建筑:生产商>中联重科</建筑:生产商>
      <建筑:地址>湖南省长沙市新开铺113号</建筑:地址>
   </设备>
</资料>

The above is the detailed content of Sample code sharing about namespaces in XML. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn