我想通过id或其他方式将这两个片段连接在一起..我有两种方式
<SigmodRecord>
<issue>
<volume>11</volume>
<number>1</number>
<articles>
<article> <id>1</id> .... </article>
<article> <id>2</id>.... </article>
<article> <id>3</id>.... </article>
<article> <id>4</id> ..... </article>
</articles>
</issue>
</SigmodRecord>
<SigmodRecord>
<authors><id>1</id>...</authors>
<authors><id>2</id> ...</authors>
<authors><id>3</id>... </authors>
<authors><id>4</id>....</authors>
</SigmodRecord>
第一个问题是,如果我已经拥有大量数据,这将通过添加元素来增加文件大小 或者另一种方式是属性和 但是我需要一些更精简和有效的方法,如果提前感谢提及这个问题how xsd can represent different xml file?
答案 0 :(得分:1)
如果您想通过id加入,那么您可以在文章节点[authorIdRef]中拥有一个属性。此属性可用于链接到包含实际数据的作者节点[uniqueId]。
例如,
<article authorIdRef="author1"> ... </article>
...
...
<authors>
<author uniqueId="author1"> .... </author>
</authors
请注意,在上述情况下,数据的验证(链接作者是否存在)完全由xml的使用者完成。例如,可能有一个authorIdRef="author1"
但是作者节点没有作者将uniqueId
作为author1
。
需要相应地修改模式以反映其他属性。