Denis,
Something like this (untested)?

  <xsl:variable name="os.ok" select="
          not(@os) or 
          not($os) or
          contains(concat($sep, @os, $sep),
          concat($sep, $os, $sep)) or

          (contains(concat($sep, @os, $sep),
           concat($sep, 'mac', $sep))  or 
           contains(concat($sep, @os, $sep),
           concat($sep, 'unix', $sep)) and
          $os = 'MacOrUnix')           or

          @os = ''"/>

Just keep adding ors and ands until you've taken care of every
combination ;-)

David

-----Original Message-----
From: Bradford, Denis [mailto:[EMAIL PROTECTED]]
Sent: Friday, December 07, 2001 9:31 AM
To: [EMAIL PROTECTED]
Subject: RE: DOCBOOK-APPS: Using profile.xsl to filter conditionalized
documents


> -----Original Message-----
> From: Jirka Kosek
> saxon -o xsample.xml sample.xml profile.xsl "os=Windows" "attr=os"
"val=UNIX"

This didn't work for me - result still omits both Windows and UNIX
content.
I'm working with arch, not os, but should be the same.

> Implementing user-friendly way ("os=Windows;UNIX") is not so easy as
> XSLT doesn't have data types like array or list.

Is this just a limitation on the command line? What if I could
anticipate
combinations, and 'hardwired' them with parameters like "WindowsUNIXMAC"
 in myprofile.xsl. Could I then customize the <xsl:template match="*">
template to generate Windows, UNIX, and MAC conditions in the same
result?

Sorry if this is a dumb question: that profiling template is such a
mystery
to me, I thought somebody who actually understands how it works might be
able to say if my idea is worth pursuing.

Thanks,
Denis

Reply via email to