from a Yahoo! and XML geek

Quick Links: Consulting | Book info | Brain Attic | Home

Push Button Paradise

Micah Dubinko

Fri, 13 May 2005

Parsing CSS in XSLT 2.0

If you need to take apart CSS, say a style attribute, XSLT 2.0 is a pretty handy tool.

<xsl:variable name="rules" select="tokenize(replace(@style, '( )|(;$)', ''), ';')"/>

The replace call gets rid of any spaces, as well as a trailing semicolon, should one exist. Next, the tokenize call splits up the rules at each semicolon. Since there's no trailing semicolon, you don't get an empty string at the end of the resulting sequence.

I'm fortunate enough to be working with regular, fairly simple CSS. Note that this will fail in more complex cases with quoted values like font names containing spaces, or compound values like border: 42px outset teal. -m

P.S. I've been looking at examples like these, except better written, from Mike Kay et.al. in xsl-list for more than a year now, and things still haven't soaked in--until I started writing code with it.

Update: I was asking around on xsl-list, and Mike Kay himself clued me in to a whole new section of XSLT 2.0 that I wasn't even aware existed: analyze-text. Wow. How long until someone writes Text Processing in XSLT?

posted at: 22:55 | under: 2005-05 | 0 comment(s)




Syndicate: RSS feed

What am I reading?
Don Quixote
Self-Editing for Fiction Writers
The Complete Joy of Homebrewing
Analog magazine
Compilers
TAOCP


What am I browsing?
BlogFour
Blake Ross
Brianstorms
Caveat Lector
Claus Wahlers
Copia
Cringely
David Temkin
Dave Hyatt
Groklaw
Mark Birbeck
M.David
Miguel de Icaza
Mitch Kapor
Norm Walsh
Omar Tazi
Sean McGrath
Sjoerd Visscher
Ted Leung
Tom Bradford
Wil Wheaton


Archives:
Link

Powered by PyBlosxom