Oh, a little mistake made by Jeni?
> Or you could store the relevant attribute names in a separate XML
> structure somewhere, e.g.:
>
> --- definitions.xml ---
> <attgroup name="coreattrs">
> <attribute name="id" />
> <attribute name="class" />
> <attribute name="style" />
> <attribute name="title" />
> </attgroup>
> ---
>
> With the above structure, you could retrieve the list of coreattrs
> through something like:
>
[...]
> <xsl:variable name="coreattrs"
> select="document('definitions.xml')//attgroup[@name =
> 'coreattrs']/attribute" />
>
> And then copy all those attributes whose name is equal to one of the
> @names of the attribute elements stored in the $coreattrs variable:
>
> <xsl:template match="p">
> <p>
> <xsl:copy-of select="@*[name() = $coreattrs]" />
> </p>
> </xsl:template>
$coreattrs is a node-set of nodes whose string-value is ... the empty string.
You wanted to compare with the name attribute.
So either
document('definitions.xml')//attgroup[@name = 'coreattrs']/attribute/@name
or
<xsl:copy-of select="@*[name() = $coreattrs/@name]" />
(Hoping not making another mistake myself ;-)
Cheers,
Oliver
/-------------------------------------------------------------------\
| ob|do Dipl.Inf. Oliver Becker |
| --+-- E-Mail: obecker@xxxxxxxxxxxxxxxxxxxxxxx |
| op|qo WWW: http://www.informatik.hu-berlin.de/~obecker |
\-------------------------------------------------------------------/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|
Oliver Becker - Mon, 12 Feb 2001 11:46:31 -0500 (EST)
Oliver Becker - Tue, 13 Feb 2001 07:21:21 -0500 (EST) <=
|
|