[jdom-interest] Creating a pure text file using XSL
Brett McLaughlin
brett at newinstance.com
Thu Nov 8 13:35:55 PST 2001
Try replacing <p> with <xsl:text> and see what happens.
---
Brett McLaughlin <http://www.newInstance.com>
Lutris Technologies <http://www.lutris.com>
Author, "Java and XML" <http://www.oreilly.com/catalog/javaxml2>
----- Original Message -----
From: "Jay Burgess" <jburgess at delanotech.com>
To: <jdom-interest at jdom.org>
Sent: Thursday, November 08, 2001 3:07 PM
Subject: [jdom-interest] Creating a pure text file using XSL
> I've asked this question on an XSL list, and now it's not clear to me
> whether it's an XSL issue, or an issue with my use of JDOM. Here goes:
>
> I've got the following code snippet in my .XSL file:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
> <xsl:output method="text" indent="yes" omit-xml-declaration="yes" />
> <xsl:param name="FILENAME"/>
> <xsl:template match="page">
> <xsl:choose>
> <xsl:when test="$FILENAME != ''">
> <p>http://YOURMACHINE/<xsl:value-of select="$FILENAME"/></p>
> </xsl:when>
> <xsl:otherwise>...
>
> It outputs something like:
>
> <p>http://YOURMACHINE/page1.html</p>
> <p>http://YOURMACHINE/page2.html</p>
> <p>http://YOURMACHINE/page3.html</p>
>
> But what I really want is just a plain text file containing one URL string
> per line, without the <p></p>, like:
>
> http://YOURMACHINE/page1.html
> http://YOURMACHINE/page2.html
> http://YOURMACHINE/page3.html
>
> (Again, these aren't HREF's. They're simply URL strings, with no XML/HTML
> markup around them.)
>
> Is this possible with XSL?
>
> Here's the relevant Java code using JDOM, in case that's where I'm doing
> something wrong:
>
> JDOMSource source = new JDOMSource(new
Document(element.detach()));
> JDOMResult result = new JDOMResult();
> XMLOutputter outputter = new XMLOutputter(" ", true);
> outputter.setTextNormalize(true);
> outputter.setOmitDeclaration(true);
> outputter.setNewlines(false);
> transformer.setParameter("FILENAME", fileName);
> transformer.transform(source, result);
> outputter.output(result.getDocument(), packageFile);
>
> Finally, for reference, if I remove the <p></p> in my XSL file, I get a
> stack trace, which starts off like:
>
> [java] javax.xml.transform.TransformerException
> [java] at
> org.apache.xalan.transformer.TransformerImpl.transformNode(Tr
> ansformerImpl.java:1151)
> [java] at
> org.apache.xalan.transformer.TransformerImpl.transform(Transf
> ormerImpl.java:590)
> [java] at
> org.apache.xalan.transformer.TransformerImpl.transform(Transf
> ormerImpl.java:1037)
> [java] at
> org.apache.xalan.transformer.TransformerImpl.transform(Transf
> ormerImpl.java:1015)
> [java] at XMLConfig.parse(Unknown Source)
> [java] at XMLConfig.parse(Unknown Source)
> [java] at XMLConfig.parse(Unknown Source)
> [java] at XMLConfig.main(Unknown Source)
> [java] ---------
> [java] java.util.EmptyStackException
> [java] at java.util.Stack.peek(Stack.java:82)
> [java] at
org.jdom.input.SAXHandler.characters(SAXHandler.java:483)
> [java] at
> org.xml.sax.helpers.XMLFilterImpl.characters(XMLFilterImpl.ja
> va:614)
> [java] at
> org.apache.xalan.transformer.ResultTreeHandler.characters(Res
> ultTreeHandler.java:471)
> [java] at
> org.apache.xalan.templates.ElemTextLiteral.execute(ElemTextLi
> teral.java:256)
> [java] at
> org.apache.xalan.transformer.TransformerImpl.executeChildTemp
> lates(TransformerImpl.java:2096)
> [java] at
> org.apache.xalan.templates.ElemChoose.execute(ElemChoose.java
> :164)
> [java] at
> org.apache.xalan.templates.ElemApplyTemplates.transformSelect
> edNodes(ElemApplyTemplates.java:423)
> [java] at
> org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApp
> lyTemplates.java:226)
> [java] at
> org.apache.xalan.transformer.TransformerImpl.executeChildTemp
> lates(TransformerImpl.java:2096)
> [java] at
> org.apache.xalan.transformer.TransformerImpl.applyTemplateToN
> ode(TransformerImpl.java:1927)
> [java] at
> org.apache.xalan.transformer.TransformerImpl.transformNode(Tr
> ansformerImpl.java:1120)
> [java] at
> org.apache.xalan.transformer.TransformerImpl.transform(Transf
> ormerImpl.java:590)
> [java] at
> org.apache.xalan.transformer.TransformerImpl.transform(Transf
> ormerImpl.java:1037)
> [java] at
> org.apache.xalan.transformer.TransformerImpl.transform(Transf
> ormerImpl.java:1015)
> [java] at XMLConfig.parse(Unknown Source)
> [java] at XMLConfig.parse(Unknown Source)
> [java] at XMLConfig.parse(Unknown Source)
> [java] at XMLConfig.main(Unknown Source)
> [java] javax.xml.transform.TransformerException
> [java] at
> org.apache.xalan.transformer.TransformerImpl.transformNode(Tr
> ansformerImpl.java:1151)
> [java] at
> org.apache.xalan.transformer.TransformerImpl.transform(Transf
> ormerImpl.java:590)
> [java] at
> org.apache.xalan.transformer.TransformerImpl.transform(Transf
> ormerImpl.java:1037)
> [java] at
> org.apache.xalan.transformer.TransformerImpl.transform(Transf
> ormerImpl.java:1015)
> [java] at XMLConfig.parse(Unknown Source)
> [java] at XMLConfig.parse(Unknown Source)
> [java] at XMLConfig.parse(Unknown Source)
> [java] at XMLConfig.main(Unknown Source)
> [java] ---------
> [java] java.util.EmptyStackException
> [java] at java.util.Stack.peek(Stack.java:82)
> [java] at
org.jdom.input.SAXHandler.characters(SAXHandler.java:483)
> [java] at
> org.xml.sax.helpers.XMLFilterImpl.characters(XMLFilterImpl.ja
> va:614)
>
> Thanks.
>
> Jay
>
>
> _______________________________________________
> To control your jdom-interest membership:
>
http://lists.denveronline.net/mailman/options/jdom-interest/youraddr@yourhos
t.com
More information about the jdom-interest
mailing list