两个完全不同的JAXB注释类,相同的@XmlElement名称。可能?

时间:2012-07-11 10:06:09

标签: java xml jaxb

我们有一个现有的文档树。我们想在一个元素中包含这个树中的一些元素。

根据树中的位置,元素将包含非常不同的内容。

所以我有一个DocumentPromptLanguage类和一个DocumentRouterLanguage类。他们有不同的父母和不同的孩子,但在XML中,他们都被称为<language>

这可能没有适配器,或者XML表示是否必须按元素名称消除歧义?

样品:

<?xml version="1.0" encoding="utf-8"?>
<doc>
    <info>
        <language>
            <iso639>en</iso639>
            <value>This is a sample document</value>
        </language>
        <language>
            <iso639>es</iso639>
            <value>Se trata de un documento de muestra</value>
        </language>
    </info>
    <someElement>
        <route>
            <language>
                <iso639>en</iso639>
                <possibleValues>Yes|No|Maybe</possibleValues>
                <prefix>For</prefix>
            </language>
            <language>
                <iso639>es</iso639>
                <possibleValues>sí|not|tal vez</possibleValues>
                <prefix>para</prefix>
            </language>
            <when>Tuesday</when>
            <afterTime>17.30</afterTime>
            <goto></goto>
        </route>
    </someElement>
</doc>

1 个答案:

答案 0 :(得分:1)

是映射到route元素的类可以具有映射到@XmlElement(name="language")的属性,因此该类可以映射到info元素。这是因为映射的范围是类。