XML Base学习笔记

类别:.NET开发 点击:0 评论:0 推荐:

XML Base学习笔记

张小根

1、XML Base提供了一种通过显式的指定一个基准URI(base URI),并通过此base URI来解析指向外部资源的相对URI的方式。具体是通过指定XML元素的xml:base属性来实现的。

2、目前只有三个有关XML的规范是基于XML Base的,将其作为他们标准引用的一部分:XLinkXML InfoSetCannonical XML。其他的很少或者基本上和XML Base无关。XML Namespace使用了URI但不是通过xml:base属性来解析的。XPath没有使用相对URI引用,所以也没有使用XML BaseXSLT使用了与XML Base不兼容的基URI的方式。

3、以下是一个例子:

<?xml version="1.0"?>
<doc xml:base="http://example.org/today/"
     xmlns:xlink="http://www.w3.org/1999/xlink">
  <head>
    <title>Virtual Library</title>
  </head>
  <body>
    <paragraph>See <link xlink:type="simple" xlink:href="new.xml">what's  new</link>!</paragraph>
    <paragraph>Check out the hot picks of the day!</paragraph>
    <olist xml:base="/hotpicks/">
      <item>
        <link xlink:type="simple" xlink:href="pick1.xml">Hot Pick #1</link>
      </item>
      <item>
        <link xlink:type="simple" xlink:href="pick2.xml">Hot Pick #2</link>
      </item>
      <item>
        <link xlink:type="simple" xlink:href="pick3.xml">Hot Pick #3</link>
      </item>
    </olist>
  </body>
</doc>

本例中的URIs被解析为下列完整的URIs

Ø        "what's new"被解析为URI "http://example.org/today/new.xml"

Ø        "Hot Pick #1"被解析为URI "http://example.org/hotpicks/pick1.xml"

Ø        "Hot Pick #2"被解析为URI "http://example.org/hotpicks/pick2.xml"

Ø        "Hot Pick #3"被解析为URI "http://example.org/hotpicks/pick3.xml"

4、基准URI一定是绝对URI,是根据RFC 2396中的规则计算得到的URI,通过xml:base属性指定的值是基准URI信息,并且xml:base的值可以是绝对URI,也可以是相对URI

5、某个具体元素的基准URI是由该元素的xml:base属性指定的,如果该元素没有指定xml:base属性,则是由该元素的父元素的URI指定的,如果父元素也没有指定xml:base的话,则是由该文档的xml:base属性所指定的。

本文地址:http://com.8s8s.com/it/it44465.htm