Thanks Joseph,
I know this (see my working example at the end of my message). But the strangeness is that when the input elements are based on a default namespace (no prefix) which is established using xsi:noNamespaceLocation, the template works fine. But if the default namespace is established using xmlns="...", again no prefix, with an xsi:schemaLocation, the template doesn't work. I would expect both these cases to behave identically since the namespace prefix is null for both cases. And as I pointed out when Turbo XML performs the transformation I get the proper result, even though it uses Xalan. I believe there is something more subtle going on here. Any ideas?
p.s. As you pointed out privately, the xsi:schemaLocation or xsi:noNameSpaceSchema location is not related to the namespace problem, but only is used to establish the loading location of the schema that defines the default namespace.
XPath syntax is namespace sensitive and does not have the concept default namespaces. To match a namespaced element or attribute, your pattern must specify the namespace as well as the localname. Change your stylesheet to use <xsl:template match="targetNamespace:this">
and make sure a declaration binding targetNamespace to " http://junk.com/Test" is in scope at that point in the stylesheet.
(A good XSLT tutorial ought to contain discussion/examples of this.)
-- ------------------------------------------------------------------------- Jason Winshell, Principal Consulting Engineer [EMAIL PROTECTED] Bear River Associates, Inc. http://www.bearriver.com
