如何从第二个XML文档引用一个XML文档

时间:2009-07-21 19:26:17

标签: xml reference

在关系数据库中,主键和外键的使用通常用于链接不同表中的记录。我想知道我是否可以用XML文档做同样的事情。也就是说,我希望一个XML文档包含一个元素,其值“指向”第二个XML文档的“主键”或类似的东西(可能是根节点?)。这个想法是,它将成为第二个文档的参考(类似于外键)。

我的动机是我不想将所有内容存储在单个文件/文档中(出于多种原因,包括数据冗余),而是存储在单独的文件中。这个link或多或少地描述了我想要完成的事情,并提出了一些替代方案,但它仅限于将所有内容放在一个文件中(我不想拥有)。

也许XML的分层性质与关系数据库的区别太大,我想要做的事情没有意义。

假设有一种方法可以做到这一点,首先要有一个使用某种XML标准的解决方案。理想情况下,这也会导致一些工具支持(在我的情况下,在Visual Studio的XML编辑器中将是理想的情况)。没有基于标准的解决方案,如果问题的“微软解决方案”也可以。最后,如果不存在标准或MS解决方案,我会好奇地听到有关自定义解决方案的想法(甚至反馈说我正在尝试做的只是不起作用)。

谢谢!

2 个答案:

答案 0 :(得分:1)

传统的解决方案是使用网址。如果文件都存在于同一个地方,相对URL将非常好。导航链接就像打开URL一样简单。

如果你想指向目标文档中的内容,有W3C标准 - XPointer和XLink - 但我不认为它们得到工具的良好支持。您可能只是将这些链接写为URL和元素ID或XPath表达式的组合 - 您可以将ID或XPath放在URL的片段标识符中。

答案 1 :(得分:0)

XInclude一个文件到另一个?最后我看,.NET不支持XIncudes,但有一个开源XInclude.NET project,它增加了支持。