|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: testing for attribute-only
Hi Trevor,
Probably you want something like
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output method="text" />
<xsl:template match="/root">
<xsl:apply-templates select="a" />
</xsl:template>
<xsl:template match="a">
<xsl:if test="not(@*) and not(node())">
<xsl:value-of select="position()" /> empty element
</xsl:if>
<xsl:if test="@* and not(node())">
<xsl:value-of select="position()" /> only attributes
</xsl:if>
<xsl:if test="not(@*) and node()">
<xsl:value-of select="position()" /> no attribute, but has child nodes
</xsl:if>
<xsl:if test="@* and node()">
<xsl:value-of select="position()" /> has attribute and also child nodes
</xsl:if>
</xsl:template>
</xsl:stylesheet>
The XML I used is
<root>
<a></a>
<a docref="123456"/>
<a>some text</a>
<a case="2"><elementary>my dear Watson</elementary></a>
</root>
This is just a dummy example to illustrate the concept. I have used
position() function to see for which "a" node the output is coming.
Regards,
Mukul
On 8/28/05, Trevor Nicholls <trevor@xxxxxxxxxxxxxxxxxx> wrote:
> Hello
>
> Is there a concise test for the context node that will distinguish between
a
> node that has attributes at most:
>
> <a><a/>
> <a docref="123456"/>
>
> and a node that has more than attributes?
>
> <a>some text</a>
> <a case="2"><elementary>my dear Watson</elementary><a/>
>
> I have been inadvertently dropping a few dozen of the latter type in trying
> to clean up several thousand of the former in my input documents.
>
> Cheers
> Trevor
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








