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

EXSLT extension function

Subject: EXSLT extension function
From: Chris Loschen <closchen@xxxxxxxxxxxxxxxxxx>
Date: Fri, 30 Jul 2004 17:22:57 -0400
javax.xml.transform.transformerexception elemtempl
Hi again everybody!

I haven't seen my question on the list yet, but I did manage to figure it out with some more
Google searching. The syntax should have been like this instead:


<xsl:variable name="time">
<xsl:variable name="hours" select="format-number(date:hour-in-day(),'00')"/>
<xsl:variable name="minutes" select="format-number(date:minute-in-hour(),'00')"/>
<xsl:value-of select="concat($hours,$minutes)"/>
</xsl:variable>


Now I'm running into another problem, this time with xalan:write. Here's the situation: I have a very large
file which I need to parse piece by piece, so I'm looping through <BillHeader> and <Bill> (many times)
and finally <BillTrailer> elements. In each case, the XSLT is run on a single <BillHeader>, <Bill>, or
<BillTrailer> rather than on the entire XML document, which could be several hundred megabytes. So far,
so good, but as it turns out, the <BillTrailer> output needs to replicate most of what's in the <BillHeader>
output. The solution I'm trying to use is to write out the <BillHeader> normally, but also to an XML document
which can then get called back in when we get to the <BillTrailer>.


The file is getting written out more or less as expected, and has the good data, but then the later process
can't find the file again. The cause appears to be that my filesystem has spaces in the names (d--n that
Windows!) so the file isn't getting written out to c:\Documents and Settings\ etc. but to c:\Documents%20and%20Settings
etc. -- I have a complete tree built up on my C drive with all of the spaces replaced with %20s. Then the
later process looks in the current directory and the file isn't there.


So, I think I understand what's happening, but I don't have a way around it -- any suggestions out there? Thanks!

To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: EXSLT extension function

Hi everybody!

I'm trying to pull in the system time (I'll want the date as well, but one thing at a time...)
to my XSLT stylesheet. It looked like the EXSLT functions had just what I need, and
they're supposedly supported by my XSLT processor (Xalan-J 2.6). But I'm getting this
error:


javax.xml.transform.TransformerException: ElemTemplateElement error: date:hour-in-day

I might have the namespace wrong or perhaps I'm not calling the extension function
correctly? I've done a Google search without finding anything. Anybody have any
ideas? Thanks!


Here is a fragment of the stylesheet (I know it's not well-formed -- I'm just copying the relevant section):

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        xmlns:date="http://exslt.org/dates-and-times"
        extension-element-prefixes="date">

<xsl:output method="xml" version="1.0" omit-xml-declaration="yes" indent="yes" />

<xsl:template match="BillHeader">
        <xsl:variable name="time">
                <xsl:variable name="hours">
                        <xsl:call-template name="date:hour-in-day"/>
                </xsl:variable>
                <xsl:variable name="minutes">
                        <xsl:call-template name="date:minute-in-hour"/>
                </xsl:variable>
                <xsl:value-of select="concat($hours,$minutes)"/>
        </xsl:variable>

etc.

Yours,

Chris Loschen
closchen@xxxxxxxxxxxxxxxxxx
781-718-3017 (cell)



Yours,


Chris Loschen
closchen@xxxxxxxxxxxxxxxxxx
781-718-3017 (cell)

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.