Pergunta

<!DOCTYPE inventory [
<!ELEMENT book (title,author)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT author (#PCDATA)>
<!ATTLIST book year CDATA #IMPLIED>
<!ATTLIST book myId ID #REQUIRED>
<!ATTLIST book myIdRef IDREF #IMPLIED>
]>
<inventory>
    <book year="2000" myId="1">
        <title>Snow Crash</title>
        <author>Neal Stephenson</author>
    </book>
    <book myId="3" myIdRef="1"/>
</inventory>

O JDom tem capacidade de fazer algo como:

Element root = doc.getRootElement();
List children = root.getChildren();
for(Object node:children){
  Element book = (Element) node;
  System.out.println(book.getAttributeValue("year")); 
}

/*
  So print:
    2000 
    2000
*/

Ou qualquer outra instalação relacionada com a ID e IDREF ??

Foi útil?

Solução

aqui eu encontrei algo para responder a sua pergunta. Tanto quanto eu entendo, JDom não tem um apoio directo, mas não há o pacote org.jdom.contrib.ids que

Fornece suporte para documentos permitindo olhando para cima elementos usando o valor de seu atributo de ID

Eu encontrei a biblioteca aqui (não é o local principal, talvez alguém sabe a URL do repositório para essa biblioteca)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top