[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: rendering marginal XML
> > <msgSent> > > <time>time sent</time> > > <origin>me@xxxxxxxx</origin> > > <r>you@xxxxxxxxx</r> > > <recieved>time recieved</recieved> > > <status>Any error messages, etc</status> > > <r>you2@xxxxxxxxx</r> > > <recieved>time recieved</recieved> > > <status>Any error messages, etc</status> > > (this repeats for each recipient) > > </msgSent> > > (this repeats for each message) > > > > The problem is the <recieved> and <status> tags refer to the > > imediately preceding <r> tag. > > If the structure is sufficiently regular you can add the necessary > <recipient> element by doing > > <xsl:template match="r"> > <recipient> > <name><xsl:value-of select="."/></name> > <received><xsl:value-of > select="following-sibling::recieved[1]"/></received> > <status><xsl:value-of > select="following-sibling::status[1]"/></status> > </recipient> > </xsl:template> > Or, to deal with missing Status elements: <xsl:template match="r"> <xsl:if test="string(following-sibling::*[2]/self::*[name(.)='status'])"> <recipient> <name><xsl:value-of select="."/></name> <received><xsl:value-of select="following-sibling::recieved[1]"/></received> <status><xsl:value-of select="following-sibling::status[1]"/></status> </recipient> </xsl:if> </xsl:template> David. -- David McNally Software Engineer Moody's Investors Service XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|