XML Base学习笔记

王朝other·作者佚名  2006-01-09
宽屏版  字体: |||超大  

XML Base学习笔记

张小根

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

2、目前只有三个有关XML的规范是基于XML Base的,将其作为他们标准引用的一部分:XLink、XML InfoSet、Cannonical XML。其他的很少或者基本上和XML Base无关。XML Namespace使用了URI但不是通过xml:base属性来解析的。XPath没有使用相对URI引用,所以也没有使用XML Base,XSLT使用了与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属性所指定的。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有