• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

子把瓢总

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

命名空间

1. XML 命名空间提供避免元素命名冲突的方法。当不同的xml文件里包含相同的标签但不同含义,又恰恰在同一个文件里被引用时就分辨不出这个标签的含义了,使用命名空间来区分就不会存在歧义了,

1)xmlns (xmlns="http://www.w3schools.com")-- specifies thedefaultnamespace declaration.
This declaration tells the schema-validator that all the elements used in this XML document are declared in the "http://www.w3schools.com"
namespace.这个是定义了默认命名空间,所有不带前缀的元素都是使用这个默认命名空间里的元素。

2)xmlns:xsi (xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance")-- indicates that the elements and data types used in the schema come from the " http://www.w3.org/2001/XMLSchema-instance " namespace. It also specifies that the elements and data types that come from the " http://www.w3.org/2001/XMLSchema-instance " namespaceshould be prefixed with xsi.这个同样声明了可以使用的命名空间,但是使用时需要指明xsi前缀,比如:<xsi:ss>使用xsi命名空间</xsi:ss> (ss应该是xsi里真实定义的schema).

3) targetNamespace (targetNamespace="http://www.w3schools.com")这个是把当前文档声明成一个命名空间,类似java文件中的package。但这只是声明而没有使用。如果使用xmlns:target定义跟targetNamespace一样的值,则是定义了target前缀的命名空间就是使用当前文档定义的命名空间。如:<schema xmlns="http://www.w3.org/2001/SchemaXML targetNamespace="http://www.example.com/name" xmlns:target="http://www.example.com/name">

 

 

2、xsi是http://www.w3.org/2001/XMLSchema-instance的别名。
这样用于下面元素的时候可以这样<xsi:element />而不用带上长长的uri。
有了命名空间以后,在同一级元素就可以使用同一个元素名称而不会混乱:
<xsi1:element />
< xsi2:element />

 

3、XML Schema提供了两个在实例文档中使用的特殊属性,用于指出模式文档的位置。这两个属性是:xsi:schemaLocation和xsi:noNamespaceSchemaLocation,前者用于声明了目标名称空间的模式文档,后者用于没有目标名称空间的模式文档,它们通常在实例文档中使用。

xsi:schemaLocation属性的值由一个URI引用对组成,两个URI之间以空白符分隔。第一个URI是名称空间的名字,第二个URI给出模式文档的位置,模式处理器将从这个位置读取模式文档,该模式文档的目标名称空间必须与第一个URI相匹配。

posted on 2014-12-10 13:46  子把瓢总  阅读(280)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3