[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Measure the length of an XML document in bytes

Subject: Re: Measure the length of an XML document in bytes
From: Mukul Gandhi <gandhi.mukul@xxxxxxxxx>
Date: Fri, 5 Aug 2005 16:34:48 +0530
xml file length
You can configure Xalan-J in XMLSpy 2005 EE as follows:

In Tools | Options | XSL

Specify in "External Transformation Program"
java org.apache.xalan.xslt.Process -in %1 -xsl %3 -out %2 -param
filename node.xml

Xalan-J's JAR file should be in JVM's CLASSPATH.

(The namespace of Java class need not be changed)

Regards,
Mukul

On 8/5/05, Khorasani, Houman <houman_khorasani@xxxxxxxxxxxxxx> wrote:
> Hello Mukul,
>
> Very nice example.  Indeed I could try to convince the project manager
> with this solution.
>
> However we are right now using just the built-in XSLT processor of
> XMLSpy 2004. And I have to present them the demo with that.
>
> What do I have to do in order to use the class with XMLSpy?  I guess the
> namespace below has to be changed, right?
>
> xmlns:my-class="xalan://MyPackage.Utility"
> ...
> File Size : <xsl:value-of select="my-class:getFileSize($filename)" />
> bytes
>
>
> Many Thanks,
> Houman
>
>
> -----Original Message-----
> From: Mukul Gandhi [mailto:gandhi.mukul@xxxxxxxxx]
> Sent: 05 August 2005 05:13
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: Re:  Measure the length of an XML document in bytes
>
> Hi Houman,
>   I just finished writing a Java extension function which determines
> file size in bytes (as reported by Windows). Below is the Java code,
> XSLT stylesheet and Xalan command line. With this stylesheet, we can
> pass the file name from command line.
>
> Java file
> -----------
> package MyPackage;
>
> import java.io.File;
>
> public class Utility {
>
>  public static long getFileSize(String filename) {
>    File file = new File(filename);
>    return file.length();
>  }
> }
>
> XSLT stylesheet
> -----------------------
> <?xml version="1.0" encoding="UTF-8"?>
> <xsl:stylesheet version="1.0"
>                xmlns:my-class="xalan://MyPackage.Utility"
>                xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
>
> <xsl:output method="text" />
>
> <xsl:param name="filename" />
>
> <xsl:template match="/">
>  File Size : <xsl:value-of select="my-class:getFileSize($filename)" />
> bytes
> </xsl:template>
>
> </xsl:stylesheet>
>
> Xalan Command Line
> ------------------------------
> C:\xml\xsleg\xslt>java org.apache.xalan.xslt.Process -in file_size.xsl
> -xsl file
> _size.xsl -PARAM filename node.xml
>
>  File Size : 111 bytes
>
> But sorry, if this is not what you want. Just thought of sharing the
> code.
>
> Regards,
> Mukul
>
> On 8/4/05, Khorasani, Houman <houman_khorasani@xxxxxxxxxxxxxx> wrote:
> > Hi Mukul,
> >
> > Interesting idea. However I am stuck between two middlewares.  I have
> to
> > use plain XSLT's. There won't be any java involved.
> >
> > Actually, I read the customers req. and it says lengths of the
> > characters are good enough. So I don't need to know the length in
> bytes.
> >
> > So if I would use string-length() like this
> >
> > <xsl:value-of select="string-length(*)"/>
> >
> > I would get just the length of the first value.
> > I wish I could use it like that:
> >
> > <xsl:value-of select="string-length(<xsl:copy-of select="*"/>)"/>
> >
> > But this is not possible.
> > Any ideas how to count the length of a document character by
> character?
> >
> > Many thanks,
> > Houman

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.