xsl-list
[Top] [All Lists]

RE: identifying elements by contents of an attribute

2003-03-28 01:04:37
Hi,

I believe this is very easy, but I just can't figure out how to do it.
I need to identify elements according to the value of a 
specific attribute.

The XML document looks like this:

<?xml version="1.0" encoding="ISO-8859-1"?>
<INPUT>

      <VERSION Type="Key"> 1.0 </VERSION>

    <HEADER Type="Block">
              <DATE Type="Key"> 06.03.2003 </DATE>
              <USER Type="Key"> D. Brauer </USER>
      </HEADER>

</INPUT>

For different values of the attribute "Type"  (i.e. "Block", "Key")
differnet templates should be applied. These have to access 
the name and
contents of the matched element respectively.
Can anybody give me a hint on this?

<http://www.w3.org/TR/xslt> and <http://www.w3.org/TR/xpath> most probably can. 
Anyhow, I didn't quite get what you were after, but just write templates with 
predicates

<xsl:template match="*[(_at_)Type = 'Key']">
  <xsl:value-of select="name()" />: <xsl:value-of select="." />
  ...
<xsl:template match="*[(_at_)Type = 'Block']">
  <xsl:apply-templates select="*" />
  ...

An so forth.

Cheers,

Jarno - Skinny Puppy: VX Gas Attack

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



<Prev in Thread] Current Thread [Next in Thread>