我对人们如何使用此功能感兴趣:什么领域,什么关系(如果调查问题不合适,请道歉)。
XML自然地使用包含来表示树;但它也可以使用引用ID的IDREF来表示图形:许多元素可以引用相同的元素(multi-ref);嵌套元素可以指祖先(循环)。使用ID和IDREF也可能很方便,因此XML结构与另一种存储格式匹配,例如,数据库外键。
你用ID / IDREF表示什么?
编辑还包括来自XML Schema的<key>/<keyref>
。
答案 0 :(得分:2)
我主要使用XML进行发布,而不是存储数据,因此我使用ID / IDREF进行链接和交叉引用(其中带有IDREF的元素的内容将从具有ID的元素中提取)。
答案 1 :(得分:2)
我使用XML进行序列化,因此我使用ID / IDREF来中断循环并防止重复序列化。我还考虑使用它来“预先声明”对附加到我的图形但未作为其一部分序列化的外部对象的引用。
这些方法的问题在于,难以使序列化框架(即JAX-B)在运行时动态确定对象是应该就地序列化还是作为参考。