OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   About SAX Filters

[ Lists Home | Date Index | Thread Index ]


All examples available on XML filters show how to convert
<foo>foo</foo> to <bar>foo</bar>.
What they do is, in startElement(name, ...), check
if name is foo and call handler's startElement with name
as bar.

I am looking for a way to convert
<foo>foo</foo> to
<foo><bar>foo</bar></foo>

ie., insert XML elements.
The problem is with generating sax events:
Am I supposed to do
  if name is foo
   then
     startElement foo
     startElement bar
   end-if
and similarly for endElement.

I  can do this provided the xml I providing as replacement
is known in advance, i can generate sax events at design
time. What if I dont know that xml. For example,
   startElement(name, ...)
   {
     if (name is foo) 
     then
           Element e = transform(foo)
           // Now how do I generate
           // eventsnt 'e'
           // note that it is more than
           // one level deep.
   }

In other words, is there a way to push new xml fragment
back into the input source so that the parser continues
reading it as if it were originally available in that
xml source. I am looking for a parser-independant soln.

thanks!
--st




 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS