2010-11-22 43 views
4

我有一個我需要解析的XML格式。一個例子文件列表如下:如何描述節點中的引用到另一個引用?

<?xml version="1.0" encoding="UTF-8"> 
<root> 
    <parent name="example1"> 
    <childdef ref="1" type="a" /> 
    <childdef ref="3" type="c" /> 
    </parent> 

    <parent name="example2"> 
    <childdef ref="1" type="b" /> 
    <childdef ref="2" type="b" /> 
    </parent> 

    <child id="1" name="Child 1" /> 
    <child id="2" name="Child 2" /> 
    <child id="3" name="Child 3" /> 
    <child id="4" name="Child 4" /> 
</root> 

parent元件包含至少一個childdef元件,其是指一個子元素。你必須使用一個參考,因爲一個孩子可以被幾個父母參考(見孩子1)。

如果我現在使用XML映射器(例如JAXB實現),我想從Parent1到Child 1有一個Object引用。現在我只有引用id作爲屬性。

是否可以在XSD中定義此對象引用?

回答

5

是的,這是可能的。請參閱@XmlID@XmlIDREF。它們對應於XML類型xsd:idxsd:idref。但請記住,只有字符串可以是ID。

+0

謝謝!這將幫助我。是否可以指定引用的對象的類型?現在JAXB只給出一個對象... – guerda 2010-12-01 10:32:37

+0

我不明白。 '@ XmlIDREF'可以位於具有'@ XmlID'的任何類型的字段上。 – musiKk 2010-12-01 10:50:36