xsl-list
[Top] [All Lists]

Re: [xsl] Create XML from XPath expressions

2009-08-18 06:59:28
Hello,

There are many open questions.

E.g. the desired <item> element: Is it supposed to be created from the <Path> information?

Or: How can I know that <Path>/item/street/@type</Path> is an attribute of the immediately preceding <Path>/item/street</Path> and not of some earlier <item>?

You could first process each <Difference> element by parsing the <Path> to create elements and attributes, like

<item><street>2020 Washington Ave.</street></item>
<item><street type="business"/></item>
<item><zip>90210</zip></item>
<item><city>Los Angeles</city></item>

As far as I can see, this is the only data that is specified by the source document. Combining this into a single <item> is an assumption and could be handled according to the assumed logic in a second step.

- Michael Müller-Hillebrand

PS: Which software creates such a diff report?

Am 18.08.2009 um 10:19 schrieb Heiko Niemann:

Hello,

I've an xml diff result that looks similar to this:

<XmlDiffResult>

<Difference>
<Type>update</Type>
<Path>/item/street</Path>
<NodeType>Element</NodeType>
<NodeName>street</NodeName>
<NewValue>2020 Washington Ave.</NewValue>
</Difference>

<Difference>
<Type>insert</Type>
<Path>/item/street/@type</Path>
<NodeType>Attribute</NodeType>
<NodeName>type</NodeName>
<NewValue>business</NewValue>
</Difference>

<Difference>
<Type>update</Type>
<Path>/item/zip</Path>
<NodeType>Element</NodeType>
<NodeName>zip</NodeName>
<NewValue>90210</NewValue>
</Difference>

<Difference>
<Type>update</Type>
<Path>/item/city</Path>
<NodeType>Element</NodeType>
<NodeName>city</NodeName>
<NewValue>Los Angeles</NewValue>
</Difference>

</XmlDiffResult>


Now I want to build a new xml based on the XPath expressions in each Path
element just using XSLT. So the result should look like this:


<data>

<item>
 <street type="business">2020 Washington Ave.</street>
 <zip>90210</zip>
 <city>Los Angeles</city>
</item>

</data>


I have different processors and extensions available and I have tried
several approaches. Also available are the xml files I compared to get the
diff result.

Thank you for your help and ideas.

Heiko

--
_______________________________________________________________
Michael Müller-Hillebrand: Dokumentations-Technologie
Adobe Certified Expert, FrameMaker
Lösungen und Training, FrameScript, XML/XSL, Unicode
Blog: http://cap-studio.de/ - Tel. +49 (9131) 28747






--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>