[xsl] Namespace(?) question

Subject: [xsl] Namespace(?) question
From: <sthomas2@xxxxxxx>
Date: Wed, 7 Mar 2007 09:08:06 -0500
Sorry to bother everyone with a question whose answer is probably in the
FAQ, but I couldn't find it there.

My input document (which happens to be a schema) has the following form:


  <xs:complexType name="ChildClass">
    <!-- details omitted ->

  <xs:element name="ParentClass">
        <xs:element name="Property" type="pfx:ChildClass"/>


As part of its processing, my transform needs to identify all
complexType nodes that are referenced as types elsewhere in the
document. In the example above, I need to identify ChildClass because it
is a complexType that is referenced by the "type" attribute within the

I would expect the following to work:

<xsl:template match="/">
    <!-- do something useful ->

But, at least with Saxon6.5.5 it selects nothing. It seems like a
namespace problem, since removing pfx: from the type (and defining a
default namespace) makes the transform work as I expect it to. I suppose
I could play around with local-name() and get the transform to work, but
that doesn't seem like the right approach. I was thinking (hoping?) that
XSL would handle the namespace resolution automatically, but clearly I
am wrong. Or perhaps my select is wrong, and it just happens to work by
coincidence without namespace prefixes. In any case, I would welcome

Many thanks for your patience and thanks in advance for any assistance,


Current Thread