This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: rendering marginal XML


David,
That wouldn't deal with
<msgs>
<msgSent>
	<time>time sent</time>
	<origin>me@here.com</origin>
	<r>you1@there.com</r>
    <aFewOtherVariousTagsThatAppear />
	<recieved>1time recieved</recieved>
    <orDoNotAppear />
    <basedOnSeveralConditions />
    <orDoNotAppear />
    <basedOnSeveralConditions />
	<status>Any error messages, etc</status>
	<r>you2@there.com</r>
	<recieved>2time recieved</recieved>
    <orDoNotAppear />
    <basedOnSeveralConditions />
	<r>you3@there.com</r>
	<recieved>3time recieved</recieved>
    <orDoNotAppear />
    <basedOnSeveralConditions />
    <orDoNotAppear />
    <basedOnSeveralConditions />
    <orDoNotAppear />
    <basedOnSeveralConditions />
	<r>you4@there.com</r>
	<recieved>4time recieved</recieved>
	<status>Any error messages, etc</status>
	<r>you5@there.com</r>
	<recieved>5time recieved</recieved>
    <aFewOtherVariousTagsThatAppear />
    <orDoNotAppear />
    <basedOnSeveralConditions />
</msgSent>
</msgs>	

Ciao Chris

XML/XSL Portal
http://www.bayes.co.uk/xml


> -----Original Message-----
> From: owner-xsl-list@lists.mulberrytech.com 
> [mailto:owner-xsl-list@lists.mulberrytech.com] On Behalf Of 
> McNally, David
> Sent: 26 October 2001 21:09
> To: 'xsl-list@lists.mulberrytech.com'
> Subject: RE: [xsl] rendering marginal XML
> 
> 
> > > <msgSent>
> > > 	<time>time sent</time>
> > > 	<origin>me@here.com</origin>
> > > 	<r>you@there.com</r>
> > > 	<recieved>time recieved</recieved>
> > > 	<status>Any error messages, etc</status>
> > > 	<r>you2@there.com</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
> 
> 


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]