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

Re: Pattern Matching in XSl - find groups defined in o

Subject: Re: Pattern Matching in XSl - find groups defined in one Xml in another Xml.
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Wed, 29 Aug 2012 12:29:09 -0400
Re:  Pattern Matching in XSl - find groups defined in o
Richard,

This is an idiom we use to filter out values that have whitespace only.

normalize-space('   ') returns '', which (coerced to a Boolean
false) fails a test.

So regex-group(1)[normalize-space(.)] returns an empty sequence when the
value of regex-group(1) is an empty string or only whitespace.

Ken is going to a little extra trouble here to avoid getting

found-key=" "

when $thisGroupedAlarm/@equipment has " ".

In other words, it's defensive programming of the sort you learn to
write when you have to handle data sets that are not well-controlled (an
unfortunate fact of life). You can skip it if you know that your data is
good, and won't be throwing up such cases, or more generally if garbage-in/garbage-out is fine for you.


Cheers,
Wendell

On 8/29/2012 12:16 PM, Kerry, Richard wrote:
Regarding Ken's solutions from last Wednesday (repeated below), why
is it :

<xsl:analyze-string select="$thisAlarm/@equipment"
regex="^{$thisGroupedAlarm/@equipment}$"> <xsl:matching-substring>
<xsl:for-each select="regex-group(1)[normalize-space(.)]">
<xsl:attribute name="found-key" select="."/> </xsl:for-each>
</xsl:matching-substring> </xsl:analyze-string>

rather than

<xsl:analyze-string select="$thisAlarm/@equipment"
regex="^{$thisGroupedAlarm/@equipment}$"> <xsl:matching-substring>
<xsl:attribute name="found-key" select="regex-group(1)"/>
</xsl:matching-substring> </xsl:analyze-string>

?

What does the [normalize-space(.)] predicate do for us ?


Uncertainly, Richard.


PS. By the way, this does seem to give the right results. I'm only
now getting back to looking at it and working out how it works,
having had a few days off over the (UK) Bank Holiday weekend.

-- ====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Direct Phone: 301/315-9635 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ======================================================================

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.