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

Re: Re: UTF characters

Subject: Re: Re: UTF characters
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Wed, 31 Mar 2010 08:42:26 -0400
Re:  Re: UTF characters
At 2010-03-31 18:07 +0530, Siddhi Thakkar wrote:
Hi again,
Here is an example of the query asked earlier, suppose I have two
paragraphs:

PARA1: <p>INTRODUCTION- This is plain text</p> PARA2: <p>INTRODUCTION- This is text with UTF character b& </p>

AND if write something like:
<xsl:template match="p">
   <xsl:if test="contains(text(),'INTRODUCTION')">
       <!--do something-->
   </xsl:if>
</xsl:template>
Both the paragraphs will enter this xsl:if loop.
Similarly, I would like to write a function or
template which enters the xsl:if loop only if it
comes across a UTF character, and please note
that the input can have any UTF from its generic family.

Now it sounds like you are asking about character encoding and not character sets. That is a very different question from your first question:

I would like to know if there are any built-in
ways in XSLT for the processor to know about
the unicode characters in input xml. Could you please help?

All XML processing is based on Unicode characters and is independent of the character encoding used to represent those Unicode characters. By the time XSLT is acting on the source node tree, any knowledge or awareness of the character set used to encode the Unicode characters is long gone.

But perhaps you are asking "does the text contain
characters outside of those found in the ASCII
table?" ... which I see as a third question.

Both your PARA1 and PARA2 examples are encoded
using UTF.  Both contain characters in
Unicode.  Only PARA2 has characters that are outside of the ASCII table.

 <xsl:template match="p">
   <xsl:if test="string-to-codepoints(.) > 127">
      <!--the string has a non-ASCII character-->
   </xsl:if>
 </xsl:template>

This works because of the use of ">" to test a
node set against a scalar value ... the test is
true if *any* of the comparisons is true.  The
test is false only when all of the tests are false.

I hope this helps.

. . . . . . . . . Ken


-- XSLT/XQuery training: San Carlos, California 2010-04-26/30 Principles of XSLT for XQuery Writers: San Francisco,CA 2010-05-03 XSLT/XQuery training: Ottawa, Canada 2010-05-10/14 XSLT/XQuery/UBL/Code List training: Trondheim,Norway 2010-06-02/11 Vote for your XML training: http://www.CraneSoftwrights.com/s/i/ Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/ G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx Male Cancer Awareness Nov'07 http://www.CraneSoftwrights.com/s/bc Legal business disclaimers: http://www.CraneSoftwrights.com/legal

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.