text()" vs. "node()"

[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: "*|@*|text()" vs. "node()"

Subject: Re: "*|@*|text()" vs. "node()"
From: Jörg Heinicke <joerg.heinicke@xxxxxx>
Date: Thu, 04 Oct 2001 17:44:36 +0200
Re:  "*|@*|text()" vs. "node()"
David Carlisle wrote:

But when will <xsl:template match="@href"> be selected?


A template is only executed if its match attribute matches a node in the current node list (and has highest priority/import precedence)

Since attributes are not in the default selection of apply-templates
this template will only fire if you explictly include the attribute axis
in some apply-templates. But I thought you said that you were not
selecting attributes when you got the error.

As it uses xsl:attribute, then it should generate a runtime error if it
is not immediately after a new element node has been started in the
result tree. But if templates are not applied to attributes, then this
can never happen.


There are a few more templates which apply @href, but they all create a new element in the result tree. As I said the stylesheet worked before changing the first template to "node()". So there must be an "auto-apply". I really tested it with <xsl:apply-templates select="node()"/> in the first template.

You can try it out with Xalan.

Not without a full (small) example stylesheet and source doc, I can't.


This will work with every xml and xsl. You only need an <xsl:attribute> without a new element.


<?xml version="1.0"?>
<root/>




<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   <xsl:template match="root">
       <xsl:attribute name="test">test</xsl:attribute>
   </xsl:template>
</xsl:stylesheet>


I tried it with the current version 2.2.D11.


Joerg

--

System Development
VIRBUS AG
Fon +49(0)341-979-7435
Fax +49(0)341-979-7409
joerg.heinicke@xxxxxxxxx
www.virbus.de


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



Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.