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

Validating/enforcing a list of names (Was: Re: Detecti

Subject: Validating/enforcing a list of names (Was: Re: Detecting presence of attributes )
From: Dimitre Novatchev <dnovatchev@xxxxxxxxx>
Date: Mon, 5 Feb 2001 21:36:50 -0800 (PST)
validating last names
Well done, Jeni!

Why don't we call it with a proper name -- isn't this a general method
of validating and enforcing a list of valid names?

I haven't seen this before -- shall we call it "the Tennison method"?

:o)))

Cheers,
Dimitre.

Jeni Tennison wrote:
Well, inspired by Dimitre's insight about id(), here's a solution that
doesn't involve recursive templates, as long as you don't mind
repeating in the stylesheet the list of allowed options:

<?xml version="1.0"?>
<!DOCTYPE xsl:stylesheet [
<!ATTLIST thesis:opt id ID #REQUIRED>
]>
<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:thesis="http://www.silmaril.ie/thesis"
                exclude-result-prefixes="thesis">

<thesis:opts>
  <thesis:opt id="foo" />
  <thesis:opt id="bar" />
</thesis:opts>

<xsl:template match="thesis">
   <xsl:text>Options: </xsl:text>
   <xsl:variable name="options" select="@options" />
   <!-- change the context to the stylesheet document -->
   <xsl:for-each select="document('')/*">
      <!-- get the id attributes of any options identified by ID -->
      <xsl:for-each select="id($options)/@id">
         <xsl:value-of select="." />
         <xsl:if test="position() != last()">, </xsl:if>
      </xsl:for-each>
   </xsl:for-each>
</xsl:template>

</xsl:stylesheet>

It has the advantage that you can deal with bad values (e.g. if
'blort' wasn't actually allowed) within the stylesheet - if that's an
advantage.

Cheers,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/



__________________________________________________
Do You Yahoo!?
Yahoo! Auctions - Buy the things you want at great prices.
http://auctions.yahoo.com/

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


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.