Subject: Re: one xsl file for two parsings From: Joseph Vallot <jvallot@xxxxxxxxxxxxxx> Date: Tue, 04 Apr 2000 17:22:02 +0200 |
I tried to think by myself (!) and found a part of the answer. Since I am not sure it is correctly written, or if there is a better way, here is what I've done. Joseph Vallot a écrit : > > I want to write an xsl file to process several xml files, and result > (parsing) > would depend on a given field value, and I don't see how to do that. > > Example: > > xml #1 would be > === > <?xml version="1.0"?> > <mymsg> > <qty>123</qty> > <type>new</type> > <code>5173</code> > </mymsg> > === > and parsed into > === > <?xml version="1.0"?> > <new> > <qty>123</qty> > <code>5173</code> > </new> > === > > when xml #2 would be > === > <?xml version="1.0"?> > <mymsg> > <qty>123</qty> > <type>cancel</type> > <code>5173</code> > </mymsg> > === > and parsed into > === > <?xml version="1.0"?> > <cancel> > <code>5173</code> > </cancel> > === > > In this example, parsing depend on <type> value. xsl I wrote is : === <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/mymsg"> <xsl:choose> <xsl:when test="./type='new'"> <NEW> <xsl:apply-templates mode="new" /> </NEW> </xsl:when> <xsl:when test="./type='cancel'"> <CANCEL> <xsl:apply-templates mode="cancel" /> </CANCEL> </xsl:when> </xsl:choose> </xsl:template> <xsl:template match="/mymsg/*" mode="new"> (new) <xsl:copy><xsl:value-of select="." /></xsl:copy> </xsl:template> <xsl:template match="/mymsg/*" mode="cancel"> (cancel) <xsl:copy><xsl:value-of select="." /></xsl:copy> </xsl:template> </xsl:stylesheet> === note : "(new)" and "(cancel)" strings are just here to see where parser goes ! questions are : 1. is it the fastest/best/etc way to do that ? 2. how do I filter out some initial nodes (<type> has to be dropped) Thank you in advance -- Joseph XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: one xsl file for two parsings, Dan Morrison | Thread | Re: one xsl file for two parsings, Dan Morrison |
RE: efficient filtering of XML file, Narahari, Sateesh | Date | RE: <xsl:choose> <xsl:when> problem, Medina, Edward |
Month |