xsl-list
[Top] [All Lists]

RE: [xsl] processing multiple values in a single attribute

2009-05-15 18:15:21

In XSLT 2.0 you can do 

<xsl:for-each select="tokenize(@FAULTS, ' ')">

to iterate over the values.

If you're stuck with XSLT 1.0, there's str:tokenize in the EXSLT library
(www.exslt.org)

Regards,

Michael Kay
http://www.saxonica.com/
http://twitter.com/michaelhkay 

-----Original Message-----
From: Charlie O [mailto:charlieo0(_at_)comcast(_dot_)net] 
Sent: 15 May 2009 22:17
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] processing multiple values in a single attribute

I could help with a problem I haven't been confronted with 
until now. I am converting SGML into well-formed XML, then 
using XSLT to restructure/re-tag the XML to a different DTD.

I need to convert each value of single attribute to an XML structure. 
I'm not really sure where to start. I'm using XSL 1.0. I 
started with a for-each for the attribute FAULTS itself, but 
that's not the result I need. I basically need to traverse 
through each value of FAULTS

Here is my input element:

<FAULT-REF FAULTS="PF01 PF02 PF03 PF04 PF05 PF06 PF07 PF08 
PF09 PF10 PF11">

I need transfrom each value of "FAULTS" (PF01, PF02, etc)  into this:


<statemanipulation>
    <variableref name="PF01"/>
        <fault fault-code="PF01" fault-state="ok"/> 
</statemanipulation> <statemanipulation>
    <variableref name="PF02"/>
        <fault fault-code="PF02" fault-state="ok"/> 
</statemanipulation> <statemanipulation>
    <variableref name="PF03"/>
        <fault fault-code="PF03" fault-state="ok"/> 
</statemanipulation> ..
..
..
etc.



Any help would be much appreciated.
This list has been a huge benefit to me. Thanks to the 
contributors here, I've had many "AHA" moments and I want to 
thank everyone for there assistance in the past.

Charles Flanders


--~------------------------------------------------------------------
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>
--~--



--~------------------------------------------------------------------
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>
--~--