如何使用 xpointer 从另一个文档链接到特定节点 [英] how to use xpointer to link to specific node from another document
问题描述
我有两个 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屋!