Re: [xml-dev] combining XMLEvent lists

From
Michael Kay <>
To
Date
2010-09-28T22:09:14Z
ID
<>
Thread
Re: [xml-dev] combining XMLEvent lists
> Right, StAX events. Hm, ok, it seems I'm a little bit hard of
> understanding, but how do I create an XMLEventReader out of a
> List<XMLEvent>?
>

In essence, your XMLEventReader implementation contains a List<XMLEvent> 
list and and an int position, and you implement the seven methods of the 
interface something like this:

close()
          - no-op

getElementText()
           step position forwards through the list, accumulating text 
events in a StringBuffer until you reach the matching EndElement event, 
then return the contents of the StringBuffer

getProperty(java.lang.String name)
           no-op

  boolean    hasNext()
           test if position is at the end of the list

  XMLEvent    nextEvent()
           return list[position++]

  XMLEvent    nextTag()
          increment position until a START_ELEMENT or END_ELEMENT is 
reached.

  XMLEvent    peek()
          return list[position+1] with some error checking.

Not really very difficult.

Michael Kay
Saxonica