Hi all, I wish to turn the following CDATA input:
<xml>
<![CDATA[
<!--#set var="t.news.1.title" value="This is the title"-->
<!--#set var="t.news.1.image_small" value="smallimage"-->
<!--#set var="t.news.1.image_large" value="largeimage"-->
<!--#set var="t.news.2.title" value=""-->
<!--#set var="t.news.2.image_small" value=""-->
<!--#set var="t.news.2.image_large" value=""-->
<!--#set var="t.news.3.title" value=""-->
<!--#set var="t.news.3.image_small" value=""-->
<!--#set var="t.news.3.image_large" value=""-->
]]>
</xml>
Into XML as follows using XSLT 2:
<ts>
<group num="1">
<var name="t.news.1.title" value="This is the title"/>
<var name="t.news.1.image_small" value="smallimage"/>
<var name="t.news.1.image_large" value="largeimage"/>
</group>
<group num="2">
etc.....
</group>
</ts>
I have used the analyze-string function to do a regex match on the HTML
comments, it then extracts the values of 'var' and 'value' to create:
<ts>
<var name="t.news.1.title" value="This is the title"/>
<var name="t.news.1.image_small" value="smallimage"/>
<var name="t.news.1.image_large" value="largeimage"/>
etc.....
</ts>
To add the grouping I will need to do another pass over this data however I
am finding it complex to extract the numerical data from the string at @name
and it seems unnecessary complex. I have also tried nesting
xsl:analyze-string elements to create a group first then the individual
variables. Can anyone recommend the correct way to do this?
Thanks in advance
Tom
_________________________________________________________________
Download the new Windows Live Toolbar, including Desktop search!
http://toolbar.live.com/?mkt=en-gb
--~------------------------------------------------------------------
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>
--~--