Skip to Content.
Sympa Menu

xom-interest - [XOM-interest] Re: [xml-dev] Underwhelmed (WAS: [xml-dev] XOM micro tutorial)

xom-interest AT lists.ibiblio.org

Subject: XOM API for Processing XML with Java

List archive

Chronological Thread  
  • From: John Cowan <jcowan AT reutershealth.com>
  • To: elharo AT metalab.unc.edu (Elliotte Rusty Harold)
  • Cc: jcowan AT reutershealth.com (John Cowan), xml-dev AT lists.xml.org, xom-interest AT lists.ibiblio.org (Xom Interest)
  • Subject: [XOM-interest] Re: [xml-dev] Underwhelmed (WAS: [xml-dev] XOM micro tutorial)
  • Date: Wed, 25 Sep 2002 12:15:59 -0400 (EDT)

(Porting discussion from xml-dev)

Elliotte Rusty Harold scripsit:

> >In any case, this stuff is trivial under XOM. You invoke a Builder
> >from a StringReader, get the document element, detach it, and insert
> >it into the main document where you want it to go. This works because
> >XOM nodes, unlike DOM nodes, can freely be ported from one document
> >to another without doing anything magic and expensive to them.
>
> Hmm, you know now that you mention it, this isn't so trivial. The one
> element you can't detach is the root element because that would make
> its document malformed. If this is a common use-case, I'll need to
> figure out how to support that.

I finally see how to do this:

Document main = new Builder().build("main.xml");
Document aux = new Builder().build("aux.xml");
Element holder = main.getChild(1).getChild(3).getChild(5); //
whatever
Element auxroot = aux.getRootElement();
aux.setRootElement(new Element("bogus"));
holder.appendChild(auxroot);

This should work nicely, though I have not tested it: get the root element
of the auxiliary document, then change its root to a newly created element,
and then append the now Document-less tree. The aux document is still sound,
though semantically meaningless: it can be allowed to become garbage.

--
Her he asked if O'Hare Doctor tidings sent from far John Cowan
coast and she with grameful sigh him answered that www.ccil.org/~cowan
O'Hare Doctor in heaven was. Sad was the man that word www.reutershealth.com
to hear that him so heavied in bowels ruthful. All
jcowan AT reutershealth.com
she there told him, ruing death for friend so young,
algate sore unwilling God's rightwiseness to withsay. _Ulysses_, "Oxen"




Archive powered by MHonArc 2.6.24.

Top of Page