Subject: RE: [xsl] xsl split string From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Sun, 11 Dec 2005 23:58:02 -0000 |
In XSLT 2.0, use the tokenize() function. With XSLT 1.0, try the str:tokenize template found at http://www.exslt.org/ Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Philippe LAPLANCHE [mailto:philippe.laplanche@xxxxxxxxxxxx] > Sent: 11 December 2005 20:13 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] xsl split string > > Hi > > I have to transform this "compressed" xml : > > <root fields="CHP-CODE|CHP-TABLE|CHP-LIBELLE"> > <update xi="5" xk="5" a="CHP-ORDRE" b="champs" c="Ordre"/> > </root> > > > Into this : > > <page> > <sql:execute-query xmlns:sql="http://apache.org/cocoon/SQL/2.0"> > <sql:querry> > UPDATE `config` > SET `CHP-CODE`='CHP-ORDRE', > `CHP-TABLE`='champs', > `CHP-LIBELLE`='Ordre' > WHERE UID='5' > </sql:querry> > </sql:execute-query> > </page> > > My problem is that I don't know how to extract CHP-CODE, > CHP-TABLE and CHP-LIBELLE from the fields attribute of the > root node. I have to do something generic that would work if > the fields attribute is longer. > > For now I have this stylesheet. I just don't know how to > complete the part where I put ...... > > <xsl:template match="/root"> > <page> > <xsl:apply-templates select="*"/> > </page> > </xsl:template> > > <xsl:template match="update"> > <sql:execute-query > xmlns:sql="http://apache.org/cocoon/SQL/2.0"> > <sql:query> > UPDATE `config` > SET <xsl:apply-templates > select="@*[not(name()='xk' or name()='xi')]" mode="update"/> > WHERE <xsl:apply-templates > select="@xk" mode="update"/> > </sql:query> > </sql:execute-query> > </xsl:template> > > <xsl:template match="@*" mode="update"> > `..........` = '<xsl:value-of select="."/>' > <xsl:if test="not(position()=last())">,</xsl:if> > </xsl:template> > > > Philippe
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] xsl split string, Philippe LAPLANCHE | Thread | RE: [xsl] xsl split string, Philippe LAPLANCHE |
Re: [xsl] <empty /> vs <empty></emp, drkm | Date | RE: [xsl] <empty /> vs <empty></emp, Michael Kay |
Month |