Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我对人们如何使用此功能感兴趣:什么领域,什么关系(如果调查问题不合适,请道歉)。
XML 自然地使用包含来表示树;但它也可以表示图,使用引用 ID 的 IDREF:许多元素可以引用同一个元素(多引用);嵌套元素可以引用祖先(循环)。使用 ID 和 IDREF 也可能很方便,因此 XML 结构可以匹配另一种存储格式,例如数据库外键。
你用 ID/IDREF 代表什么?
编辑还包括<key>/<keyref>来自 XML Schema。
<key>/<keyref>
我主要使用 XML 进行发布,而不是存储数据,因此我使用 ID/IDREF 进行链接和交叉引用(其中 IDREF 元素的内容将从具有 ID 的元素中提取)。
我使用 XML 进行序列化,因此我使用 ID/IDREF 来打破循环并防止重复序列化。我还考虑过使用它来“预先声明”对附加到我的图表但未作为其中一部分序列化的外部对象的引用。
这些方法的问题在于很难哄骗序列化框架(即 JAX-B)在运行时动态确定对象是否应该就地序列化或作为参考。