Jirka asked:
And how does this template looks. It must contain <xsl:apply-templates/>
in order to invoke templates for child nodes including PI nodes.
As you see in my <xsl:template match="*" mode="hh-alias">, it does
call <xsl:apply-templates select="*" mode="hh-alias"/>.
*** At this point, I realized this is the problematic line.
The select expression "*" does not catch processing instructions.
If I say simply <xsl:apply-templates/>, the processing does not seem
to recurse correctly. I only get output from the root node.
I don't know why. Perhaps someone can teach me why.
When I tried this I was successful:
<xsl:apply-templates mode-"hh-alias"/>
The following also works:
<xsl:apply-templates select="*|processing-instruction()"
mode-"hh-alias"/>
So the XSL lesson I learned was that "*" does not match processing
instructions.
But I still don't know why the simple rule <xsl:apply-templates/> does not
recurse into child nodes.
-Taro