[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: limit a string to a certain word count
I am using java to do these transforms.
Not sure if it supports 1 or 2, but I noticed that my XSL has the following XML header: <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> What is the 2.0 equivilant? Just: <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> ? Thanks again- Matt try { TransformerFactory transformFactory = TransformerFactory.newInstance(); // Get params from URL. Transformer transformer = null; StreamSource xmlSource = null; StreamSource xslSource = null; // Get the XML input document. if (xmlReader != null ) xmlSource = new StreamSource(xmlReader); // Get the stylesheet. if (xslReader != null ) xslSource = new StreamSource(xslReader); System.out.println(" xslSource = "+xslSource); System.out.println(" xmlSource = "+xmlSource); if (xmlSource != null) // We have an XML input document. { if (xslSource == null) // If no stylesheet, look for PI in XML input document. { System.out.println("stylesheet was null, getting associated stylesheet"); String media= null; String title = null; String charset = null; xslSource = (StreamSource) transformFactory.getAssociatedStylesheet(xmlSource, media, title, charset); } if (xslSource != null) // Now do we have a stylesheet? { System.out.println("Creating transformer from xsl source"); transformer = transformFactory.newTransformer(xslSource); // setParameters(transformer, request); // Set stylesheet params. // Perform the transformation. System.out.println("doing transform and outputting to writer"); transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); transformer.transform(xmlSource, new StreamResult(out)); } else { out.write("Missing stylesheet"); } } else { out.write("Missing XML input document"); } } catch (Exception e) { e.printStackTrace(new PrintWriter(out)); } On 3/13/07, Kamal Bhatt <kbhatt@xxxxxxxxx> wrote: Michael Kay wrote: > You mean, truncate it to a certain number of words? > > In XSLT 2.0, that's > > tokenize($in, '\W')[position() = 1 to $n] > > where $in is your input string and $n is the number of words. > > It's a fair bit harder in XSLT 1.0 (most things are). > Depends if your 1.0 parser supports str:tokenize (a EXSLT function). If it does, then it not a "fair bit harder" but it will be "a wee bit harder" :)
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|