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

Re: match multiple values for an attribute

Subject: Re: match multiple values for an attribute
From: Florent Georges <darkman_spam@xxxxxxxx>
Date: Wed, 30 Aug 2006 10:27:44 +0200 (CEST)
xml multiple values
Jeff Sese wrote:

  Hi

> I have an xml with elements like these:

> <par @style="font-family: some.font.name; some.more.string">some
> text</par>

> and i have an variable in my xsl file like this:

> <xsl:variable name="fonts" as="xs:string+"
> select="('font1','font2')"/>

> i want to match the text nodes that are child of an
> element with a style attribute that matches any of the
> fonts in $fonts. What is the xpath expression that can do
> that?

  It depends.  The most simple way is to use contains().  It
is not the a perfect way, but it can be acceptable if the
font names are complex enough and you know you'll never have
them as substring of @style but for font names.

  It depends also if you use XSLT 1.0 or 2.0, and if you
have EXSLT support for regexp.

  In the worst case (plain XSLT 1.0 and you must to match
exactly the format of @style), you'll have to parse the
string.  For example:

    named template STYLE-MATCH-FONT-P:
      input: string
      return: boolean
      if not(string)
        return FALSE
      else
        property <- substring-before($string, ';')
        name <- normalize-space(substring-before($property, ':'))
        if $name = 'font-familiy'
          value <- normalize-space(substring-after($property, ':'))
          if $value = $fonts
            return TRUE
          else
            return FALSE
        else
          STYLE-MATCH-FONT-P(substring-after($string, ';'))

  You'll have to adapt it to your precise problem: can
'font-family' appear several times in the string?, can its
value contain several font names?, etc.

  Reagrds,

--drkm






















	
 p4.vert.ukl.yahoo.com uncompressed/chunked Wed Aug 30 08:13:42 GMT 2006 
	
		
___________________________________________________________________________ 
Yahoo! Mail riinvente le mail ! Dicouvrez le nouveau Yahoo! Mail et son interface rivolutionnaire.
http://fr.mail.yahoo.com

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-2007 All Rights Reserved.