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

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: To Buy, or to Build? That is the q...





> Allen Chang wrote:
> 
> The task: updating versions of my own XML documents,
> Question #1: Can I find/buy something ready to use, or do I have to
> write a little tool?
> 
> I need to {add and replace} {names and values} of {elements and
> attributes}.
> 
> For example, my document would have something like
> 
> <Level1>
>   <Level2>
>     <Element1 attribute1="attribute1ValueA">
>        element1ValueA
>     <Element1/>
>     <Element1 attribute1="attribute1ValueB">
>        element1ValueB
>     <Element1/>
>   <Level2/>
> <Level1/>
> 
> To convert an older version of this kind of document to a newer
> version, I need to be able to add attributes or whole new elements, or
> replace (which would include "delete") Element1, attribute1,
> attribute1ValueA or element1ValueA.
> 
> Notice the elements are nested, and can be repeating (like
> "Element1"). I mentioned this since I heard some of the tools wouldn't
> handle it.
> 
> Question #2: If I do write it, I think I would need to use
> instruction/mapping statements similar to SQL statements, right?
> 
I would strongly recommend investigating XSLT [1] for this:

Advantages - it's stable, there are free, mature implementations for C,
COM and java, and it does precisely what you want.

Disadvantages - verbose XML syntax (which is however great for
generating XSLT with XSLT), and the best way of doing this task will be
to use a template model program, which is a bit of a mind-stretch for
procedural programmers.

But you'll enjoy it!

Francis.

[1] http://www.w3.org/TR/xslt