如何使用 xpointer 从另一个文档链接到特定节点 [英] how to use xpointer to link to specific node from another document

查看:35
本文介绍了如何使用 xpointer 从另一个文档链接到特定节点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have two xml files. and I want to refer the value of a node from the other xml file.

示例: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 文件似乎没有任何与之关联的样式信息.文档树如下所示.

When I execute 2.xml, I get a error saying This XML file does not appear to have any style information associated with it. The document tree is shown below.

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

我能得到一些帮助来解决这个问题吗.

Can I get some help in resolving the issue.

谢谢

推荐答案

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

Use a dummy stylesheet to resolve the error:

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

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

Use a DTD to declare the ID attributes of the book elements as type ID:

<!ATTLIST book id ID #IMPLIED>

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

Save it as something like ids.dtd, then use a doctype in 1.xml to reference it:

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

参考资料

这篇关于如何使用 xpointer 从另一个文档链接到特定节点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆