调查:你是如何使用ID / IDREF的? (或key / keyref)

时间:2009-07-09 06:26:09

标签: xml xsd dtd cycle

我对人们如何使用此功能感兴趣:什么领域,什么关系(如果调查问题不合适,请道歉)。

XML自然地使用包含来表示树;但它也可以使用引用ID的IDREF来表示图形:许多元素可以引用相同的元素(multi-ref);嵌套元素可以指祖先(循环)。使用ID和IDREF也可能很方便,因此XML结构与另一种存储格式匹配,例如,数据库外键。

用ID / IDREF表示什么?

编辑还包括来自XML Schema的<key>/<keyref>

2 个答案:

答案 0 :(得分:2)

我主要使用XML进行发布,而不是存储数据,因此我使用ID / IDREF进行链接和交叉引用(其中带有IDREF的元素的内容将从具有ID的元素中提取)。

答案 1 :(得分:2)

我使用XML进行序列化,因此我使用ID / IDREF来中断循环并防止重复序列化。我还考虑使用它来“预先声明”对附加到我的图形但未作为其一部分序列化的外部对象的引用。

这些方法的问题在于,难以使序列化框架(即JAX-B)在运行时动态确定对象是应该就地序列化还是作为参考。