|
Subject: Re: [xsl] How do you get Attributes in Processing Instructions using IE6 From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx> Date: Tue, 30 Apr 2002 16:55:31 +0100 |
Hi Lori,
> I have the following processing instructions throughout my xml file:
> <?FRAME LABEL='Introduction to IADS' SHOWNO='N'?>
>
> I need to be able to get the value of the LABEL attribute
> (Introduction to IADS). I am using IE 6.0. I can match the
> processing instruction, but I can't seem to get the individual
> attribute values. I have tried <xsl:value-of select="@label"/>, but
> this doesn't seem to work.
The "attributes" in processing instructions aren't actually attributes
-- they just look like them. Noramally people refer to these kinds of
"attributes" as "pseudo-attributes" to emphasise that fact. As far as
the XPath data model is concerned, the only information you can get
about a processing instruction is its target (or name -- 'FRAME' in
this case), its value ("LABEL='Introduction to IADS' SHOWNO='N'") and
its location in the node tree.
Pulling the pseudo-attributes out of the processing instruction, then,
involves the same kind of code as you'd use to parse any structured
string. To get the value of the LABEL pseudo-attribute, for example,
you could use:
<xsl:template match="pi('FRAME')">
<A name='{substring-before(
substring-after(., "LABEL='"), "'")}">
<xsl:value-of select="." />
</A>
</xsl:template>
(This assumes that you're using apostrophes rather than double-quotes
around the values of the pseudo-attribute.)
Cheers,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] How do you get Attributes in, Bolen, Lori Contrac | Thread | RE: [xsl] How do you get Attribute, Michael Kay |
| Re: [xsl] problem w/ namespaces, David N Bertoni/Camb | Date | Re: [xsl] Embedding javascript code, Greg Faron |
| Month |