XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
Giuseppe CardonSubject: Creating an expression - xalan-javascript problem
Author: Giuseppe Cardon
Date: 23 May 2005 11:46 AM
I have a problem. I have to create with a "for-each" statement an expression that is made dinamically. To solve this problem I have written a javascript code and my application use as processor Xalan with this path com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl

When I try to execute I have this error:

Error:Could not find class "UserSpace"
Fatal Error:Can't compile the stylesheet

This is the way as I declare the space

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:xalan="http://xml.apache.org/xalan"
xmlns:user="userSpace" >

<xalan:component prefix="user" functions="resetExp,getExp,addCondition">
<xalan:script lang="javascript">

var express;

function resetExp() {
... }

function getExp(){
.. }

function addCondition(act,gateway){

... }

I'm thinkin also to not use a script but how can I build an expression adding each iteration a "condition" without using a script ??

Postnext
Ivan PedruzziSubject: Creating an expression - xalan-javascript problem
Author: Ivan Pedruzzi
Date: 23 May 2005 04:13 PM
Hi Giuseppe,

You should tell us more about the logic you are trying to implement.
May be you don't need extensions at all.

Hope this helps
Ivan Pedruzzi
Stylus Studio Team

Postnext
Giuseppe CardonSubject: Creating an expression - xalan-javascript problem
Author: Giuseppe Cardon
Date: 24 May 2005 03:57 AM
I have a <for each> cycle. At each iteration I have an ID and I have to create a logic expression with all the elements of the iteration .. something like that : (textID1=Costant)AND(textID2=Costant)AND ...

So I have two problem:
1) An IF condition at the beginning because the first iteration don't have the logic prefix
2) I have to add peace of text at each iteration

With a javascript it's very simple of course, but than I have the problem of before. I hope I was clear. Tankz, Giuseppe

This is a part of the javascript function addCondition (I have also a resetExpression to begin the expression and a getExpression to return the value of the expression):

function addCondition(id,gateway){

if (gateway=="XOR") {

if(express==""){
express = "(status" + id + "==1)" ;
return true;
}

else{
express = express + "AND(status" + id + "==1)" ;
return true;
}
}

Posttop
Ivan PedruzziSubject: Creating an expression - xalan-javascript problem
Author: Ivan Pedruzzi
Date: 24 May 2005 07:05 PM
Hi Giuseppe,

You should be able to achive the same result using a recursive template.
The following XSLT iterates concatenates a string using only books
with bookid even.

Hope this helps
Ivan Pedruzzi
Stylus Studio Team

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
<xsl:apply-templates select="books/book[1]" mode="recursive"/>
</xsl:template>

<xsl:template match="book" mode="recursive">
<xsl:param name="expr"/>

<xsl:variable name="token" select="concat('(status', @bookid, '==1)')"/>

<xsl:variable name="localExpr">
<xsl:choose>
<xsl:when test="@bookid mod 2 = 0">
<xsl:choose>
<xsl:when test="string-length($expr) = 0">
<xsl:value-of select="$token"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="concat($expr, ' AND ', $token)"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$expr"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>


<xsl:apply-templates select="following-sibling::book[1]" mode="recursive">
<xsl:with-param name="expr" select="$localExpr"/>
</xsl:apply-templates>

<xsl:if test="count(following-sibling::book[1]) = 0">
<xsl:value-of select="$expr"/>
</xsl:if>
</xsl:template>
</xsl:stylesheet>

 
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.