|
|||
7.4 XML Base
在HTML链接中,当指定链接的相对路径时,基础路径一般是当前路径,但人们可以用BASE元素显式指定相对路径的基路径,在进行路径解析时,浏览器将BASE指定的路径与相对路径连接起来,形成资源的绝对路径。例如:
当链接Student List激活时,将显示资源"http://www.htmllink.com/student.htm"。 在XML链接中,可以发现实现相同的功能的类似机制,这就是XML Base,简称为XBase。但是XML Base不仅限于XML链接领域,它还可以用于指定相对URI的其他应用。 XML Base的指定是通过元素的xml:base属性指定的,前缀xml是用于表示命名空间http://www.w3.org/XML/1998/namespace,类似地,可以用其他前缀代替该命名空间,但考虑到文档的可读性,不提倡这样做。XML Base的作用范围是包括其所有后代节点的整个元素,除非在后代元素指定了新的XML Base。 作为一个有效的(validated)XML文件,xml:base属性应该在DTD中声明。下面是一个可能的DTD声明。
下面是一个利用上面的DTD定义的元素实例。
在上面的例子中,BOOK元素内的CHAPTER子元素的XML
Base是"http://www.xml.net.cn/book/chapters/",而在BOOK元素的其他地方,无论是CHAPTER元素前后,XML
Base仍然是"http://www.xml.net.cn/book/"。此时BOOK元素的xml:base作用范围出现了一个洞,这与许多程序设计语言中非局部变量的作用范围是一致的。 |