如何使用xpointer链接到另一个文档中的特定节点

时间:2012-11-25 11:24:04

标签: xml xpointer

我有两个xml文件。我想从另一个xml文件中引用一个节点的值。

示例:1.xml

<?xml version="1.0"?>
<catalog>
   <book id="bk101">
      <author>Gambardella, Matthew</author>
      <title>XML Developer's Guide</title>
      <genre>Computer</genre>
      <price>44.95</price>
      <publish_date>2000-10-01</publish_date>
      <description>An in-depth look at creating applications 
      with XML.</description>
   </book>
   <book id="bk102">
      <author>Ralls, Kim</author>
      <title>Midnight Rain</title>
      <genre>Fantasy</genre>
      <price>5.95</price>
      <publish_date>2000-12-16</publish_date>
      <description>A former architect battles corporate zombies, 
      an evil sorceress, and her own childhood to become queen 
      of the world.</description>
   </book>
   <book id="bk103">
      <author>Corets, Eva</author>
      <title>Maeve Ascendant</title>
      <genre>Fantasy</genre>
      <price>5.95</price>
      <publish_date>2000-11-17</publish_date>
      <description>After the collapse of a nanotechnology 
      society in England, the young survivors lay the 
      foundation for a new society.</description>
   </book>
</catalog>

2.xml是

<?xml version="1.0" encoding="ISO-8859-1"?>
<doc xmlns:xi="http://www.w3.org/2003/XInclude">
<xi:include href="1.xml" xpointer="bk101"/>
</doc>

当我执行2.xml时,我收到错误消息 此XML文件似乎没有与之关联的任何样式信息。文档树如下所示。

<doc><xi:include href="book.xml" xpointer="bk101"/></doc>

我能否在解决问题方面获得一些帮助。

由于

1 个答案:

答案 0 :(得分:0)

使用虚拟样式表来解决错误:

<?xml-stylesheet href="http://www.w3.org/StyleSheets/TR/W3C-REC.css"?>

使用DTD将book元素的ID属性声明为类型ID:

<!ATTLIST book id ID #IMPLIED>

将其另存为ids.dtd,然后使用1.xml中的doctype来引用它:

<?xml version="1.0"?>
<!DOCTYPE id-list SYSTEM "ids.dtd">

<强>参考