XML 命名空间 概述

Xml中为了对同名的元素进行限定,w3c提出了命名空间的规范。

简单的说命名空间就是给每个元素加上限定名,从而对同名元素进行区分。

 

一 命名空间声明的两种方式

  1 带有前缀的声明

    <ElementName xmlns:prefixname="URI"></ElementName>

     命名空间实际上是作为一个元素属性,被声明的。其有效范围包括当前元素,以及所有的子元素。

     xmlns:声明命名空间的属性名

     prefixname:前缀名。

     URI:命名空间。实际上是一个统一资源定位符,这里只是为了定义命名空间的唯一性,才使用URI。实际上XML文档再被解析的时候,并不去连接到URI指定的位置

  2 不带前缀名的默认命名空间声明

     <ElementName xmlns="URI"></ElementName>

   3 URI为空的命名空间声明

    <ElementName xmlns=""></ElementName>

    此种方式是指定此元素,不属于任何命名空间。

 

二  几点说明

   1  利用带有前缀名的声明方式,在元素上声明了命名空间后,并不是这个元素以及其子元素就属于此命名空间,而仅仅说明此命名空间的有效范围。如果要制定元素的命名空间,必须要在元素上指定前缀名,例如:

    <Books xmlns:book="http://www.youkuaiyun.com/book">

         <book:book>

            <name>jsp</name>

         </book:book>

    </Books>

   在上面的设定中<book>元素的命名空间是“http://www.youkuaiyun.com/book”。但是,<name>元素的命名空间并不是“http://www.youkuaiyun.com/book”。如果要设定<name>的命名空间,必须指定前缀名。

   2 不带前缀名的默认命名空间的声明方式,在元素上声明了命名空间后,那么当前元素以及其子元素都属于此命名空间。

 

三 举例说明元素的命名空间

<?xml version="1.0" encoding="UTF-8"?>
<books xmlns="http://www.baidu.com/book" xmlns:people="http://www.baidu.com/people" >
 <people:book>
  <people:name>JPS STUDY</people:name>
  <author>sunxin</author>
 </people:book>
 <book>
  <name>JPS STUDY2</name>
  <author>sunxin2</author>
 </book>
 <book xmlns="">
  <name>JPS STUDY3</name>
  <author>sunxin3</author>
 </book>
 <author>
  <name>sunxin</name>
  <age age="28"></age>
 </author>
</books>

我们来看看上面的元素的命名空间

 <books> 默认命名空间 http://www.baidu.com/book

 <people:book> 指定的命名空间 http://www.baidu.com/people

 <book> 默认的命名空间 http://www.baidu.com/book

 <book xmlns=""> 因为默认命名空间被屏蔽,所以不属于任何的命名空间

 <author> 默认命名空间 http://www.baidu.com/book

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值