Subject: AW: [xsl] It's possible to give external parameters in xslt? From: <christof.hoeke@xxxxxxx> Date: Mon, 29 Mar 2004 17:02:16 +0200 |
hi, XSL: you need to put an xsl:param element in the xsl stylesheet: <xsl:param name="p1" select="'default value of not set from java'"/> this can be used exactly like xsl:variable's: <xsl:value-of select="$p1"/> -> default value of not set from java JAVA: in your java code you just need to call transformer2.setParameter(paramname, paramvalue) so e.g. transformer2.setParameter("p1", "hi there") then the output would be <xsl:value-of select="$p1"/> -> hi there i did not run the example, so there might be a typo but this is the way it works. just look into the javax.xml.transform javadoc to find the docs for setParameter. chris > -----Urspr|ngliche Nachricht----- > Von: Roberta Granata [mailto:robgranata@xxxxxxxxxxx] > Gesendet: Montag, 29. Mdrz 2004 16:54 > An: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Betreff: RE: [xsl] It's possible to give external parameters in xslt? > > > Hi, > this is my xml document : > > <?xml version="1.0" ?> > <ROOT> > <Group>Group</Group> > <Name>Name</Name> > <TitleName>TitleName</TitleName> > <SubTitleName>Sub</SubTitleName> > <Chapter> > > <ChapterHead> > <ChapterName>ChapterName</ChapterName> > <ChapterNameText>ChapterNameTest > </ChapterNameText> > </ChapterHead> > > <ChapterLine> > <Paragraph>Paragraph</Paragraph> > <TextLine>TextLine</TextLine> > </ChapterLine> > > </Chapter> > > </ROOT> > > #------------------ > and this is the xsl : > > <?xml version="1.0" encoding="iso-8859-1" ?> > <xsl:stylesheet > xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > version="1.0"> > > <xsl:output method="text" encoding="ISO-8859-1"/> > <xsl:output media-type="text/plain"/> > > > <xsl:template match="ROOT"> > <xsl:apply-templates select="Group | Name | > TitleName | SubTitleName | Chapter"/> > </xsl:template> > > <xsl:template match="Group"> > <xsl:value-of select="."/> > <xsl:text> > > </xsl:text> > </xsl:template> > > <xsl:template match="Name"> > <xsl:value-of select="."/> > <xsl:text> > > </xsl:text> > </xsl:template> > > <xsl:template match="TitleName"> > <xsl:value-of select="."/> > <xsl:text> > > </xsl:text> > </xsl:template> > > <xsl:template match="SubTitleName"> > <xsl:value-of select="."/> > <xsl:text> > > </xsl:text> > </xsl:template> > > <xsl:template match="Chapter"> > <xsl:apply-templates select="ChapterHead"/> > <xsl:apply-templates select="ChapterLine"/> > <xsl:text> > > </xsl:text> > </xsl:template> > > <xsl:template match="ChapterHead"> > <xsl:apply-templates select="ChapterName"/> > <xsl:apply-templates select="ChapterNameText"/> > <xsl:text> > > </xsl:text> > </xsl:template> > > <xsl:template match="ChapterLine"> > <i><xsl:apply-templates select="Paragraph"/></i> > <xsl:text> </xsl:text> > <xsl:apply-templates select="TextLine"/> > <xsl:text> > > </xsl:text> > </xsl:template> > > <xsl:template match="ChapterName"> > <xsl:value-of select="."/> > </xsl:template> > > <xsl:template match="ChapterNameText"> > <xsl:value-of select="."/> > <xsl:text> </xsl:text> > </xsl:template> > > <xsl:template match="Paragraph"> > <xsl:value-of select="."/> > </xsl:template> > > <xsl:template match="TextLine"> > <xsl:value-of select="."/> > </xsl:template> > > </xsl:stylesheet> > > #------------------------------------------------- > And i use the java code found in the xalan examples to > do the transformation : > > > import java.io.FileNotFoundException; > import java.io.FileOutputStream; > import java.io.IOException; > > import javax.xml.transform.Transformer; > import > javax.xml.transform.TransformerConfigurationException; > import javax.xml.transform.TransformerException; > import javax.xml.transform.TransformerFactory; > import javax.xml.transform.stream.StreamResult; > import javax.xml.transform.stream.StreamSource; > > /** > * Use the TraX interface to perform a transformation > in the simplest manner possible > * (3 statements). > */ > public class TransformXml2Html > { > public static void main(String[] args) > throws TransformerException, > TransformerConfigurationException, > FileNotFoundException, IOException > { > > TransformerFactory tFactory = > TransformerFactory.newInstance(); > > Transformer transformer2 = > tFactory.newTransformer(new > StreamSource("GeneralTxt.xsl")); > transformer2.transform(new StreamSource("xxx.xml"), > new StreamResult(new FileOutputStream("xxx.txt"))); > > transformer2.transform(new StreamSource("xxx.xml"), > new StreamResult(new FileOutputStream("xxx.txt"))); > System.out.println("************* The result is in > xxx.txt *************"); > } > } > > #------------------------------------------------ > > I tried to insert external parameters in the xsl code > without success. How i can do that? > > Thanks in advance > ro > > > > --- cknell@xxxxxxxxxx wrote: > > It's possible to do > that ? > > Yes. > > > and how? > > It depends on how you are doing the > > transformation (what XSLT processor are you using?). > > -- > > Charles Knell > > cknell@xxxxxxxxxx - email > > > > > > > > -----Original Message----- > > From: Roberta Granata <robgranata@xxxxxxxxxxx> > > Sent: Mon, 29 Mar 2004 14:53:11 +0100 (BST) > > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > > Subject: [xsl] It's possible to give external > > parameters in xslt? > > > > Hello all, > > > > I' m new in xslt , and i have a problem when i > > convert > > an xml document in a txt document by xslt to give > > external parameters.It's possible to do that ? and > > how? > > > > Thanks in advance > > > > ro > > > > > > > > > > > > > > > > > ___________________________________________________________ > > WIN FREE WORLDWIDE FLIGHTS - nominate a cafe in the > > Yahoo! Mail Internet Cafe Awards > > www.yahoo.co.uk/internetcafes > > > > > > > > ___________________________________________________________ > WIN FREE WORLDWIDE FLIGHTS - nominate a cafe in the Yahoo! > Mail Internet Cafe Awards www.yahoo.co.uk/internetcafes
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] changing the namespace of, marc gratacos | Thread | [xsl] Flatten a sequence to a strin, Andrew Welch |
Re: [xsl] changing the namespace of, marc gratacos | Date | RE: [xsl] Crash the Microsoft Brows, Pieter Reint Siegers |
Month |