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 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
edel roosterSubject: REGEX in XSL
Author: edel rooster
Date: 28 Jan 2005 10:38 AM
Hi
I'm using the Apache XSLT processor Xalan to transform XML documents - unfortunately
I am restricted to this processor for various reasons but the main one is
that I am working with very large XML documents and it's seems to be the only processor
to be able to cope with huge documents.

Unfortunately Xalan implements Xpath 1.0 - one of my tasks involves flushing out
some unwanted data - I thought regular expressions could solve my problem until I realised
that only XPath 2.0 supports regexs.

I'm wondering if there is another way around this in Xpath 1.0??

Many thanks
Edel

Postnext
Ivan PedruzziSubject: REGEX in XSL
Author: Ivan Pedruzzi
Date: 28 Jan 2005 11:18 AM
Hi Edel,

Could you show us an example of input and the desired output?


Ivan

Postnext
edel roosterSubject: REGEX in XSL
Author: edel rooster
Date: 28 Jan 2005 11:26 AM
Sure...
<xsl:for-each select="TermList/Term">
<xsl:variable name="term">
<xsl:value-of select="String"/>
</xsl:variable>

Here I want to check if the $term contains (\w,\s) - i.e. a character, followed by a comma and a space.
If it doesn't then I want to output the $term
<variant value="{$term}"/>

</xsl:for-each>

Help much appreciated

Postnext
Ivan PedruzziSubject: REGEX in XSL
Author: Ivan Pedruzzi
Date: 28 Jan 2005 12:45 PM

If you running on XalanJ (with JVM 1.4 or above) You could use a java extension
Here is an example:

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

<xsl:template match="/">
<xsl:value-of select="java:replaceAll('aaaa', '[a-z]','Q') "/>
</xsl:template>
</xsl:stylesheet>

Postnext
edel roosterSubject: REGEX in XSL
Author: edel rooster
Date: 31 Jan 2005 04:42 AM
Sure...
<xsl:for-each select="TermList/Term">
<xsl:variable name="term">
<xsl:value-of select="String"/>
</xsl:variable>

Here I want to check if the $term contains (\w,\s) - i.e. a character, followed by a comma and a space.
If it doesn't then I want to output the $term
<variant value="{$term}"/>

</xsl:for-each>

Help much appreciated

Posttop
Ivan PedruzziSubject: REGEX in XSL
Author: Ivan Pedruzzi
Date: 31 Jan 2005 03:29 PM


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

<xsl:template match="/">

<xsl:variable name="term" select="'a, '"/>

<xsl:if test="java:matches($term, '\w,\s')">
<xsl:value-of select="$term"/>
</xsl:if>

</xsl:template>
</xsl:stylesheet>

 
Topic Page 1 2 3 4 5 6 7 8 9 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.