Subject: RE: xmlns attr for element nodes creating problem with xslt
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Mon, 23 Apr 2007 13:08:17 +0100
|
It's rather unorthodox to treat the presence of a namespace declaration as
significant if there are no elements or attributes in your document actually
using that namespace: this isn't the way namespaces were intended to be
used. However, it can be done:
<xsl:copy-of select="//INDEX[namespace::doc='http://xmlns.oracle.com/ku']"/>
What you can't do is to treat namespace declarations as attributes. In the
XPath data model, namespaces and attributes are quite different things, that
just happen to share a similar surface syntax.
Also: who allocated the namespace "http://xmlns.oracle.com/ku" and what does
it mean? Namespaces in "oracle.com" should (as a matter of etiquette and
good design practice) be allocated only by Oracle Corp as the owner of the
domain name.
Michael Kay
http://www.saxonica.com/
> -----Original Message-----
> From: Dhanu Ubale [mailto:dhanu.u@xxxxxxxxx]
> Sent: 23 April 2007 12:40
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: xmlns attr for element nodes creating problem with xslt
>
> Hi all,
> I m facing a small issue. I have a xml file for which i have
> written a xsl file to transform to another xml(demo.xml).I am
> not able to select the nodes which have xmlns attribute. Can
> u tell me what has to be done.Snapshot of files:
> xml file:
> <ROWSET>
> <ROW>
> <INDEX version="1.0" >
> <SCHEMA>AD Design</SCHEMA>
> <NAME>AD_FILES_N1I</NAME>
> </INDEX>
> <INDEX version="1.0" xmlns:doc="http://xmlns.oracle.com/ku">
> <SCHEMA>AD Design</SCHEMA>
> <NAME>AD_FILES_N1I</NAME>
> </INDEX>
> </ROWSET>
> </ROW>
>
> xsl File
>
> <?xml version='1.0' encoding='utf-8' ?>
> <xsl:stylesheet
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> version="1.0"> <xsl:output method="xml"/> <xsl:template
> match="/ROWSET"> <xsl:apply-templates select="ROW/INDEX"/>
> </xsl:template> <xsl:template match="ROW/INDEX"> <xsl:copy-of
> select="."/> </xsl:template> </xsl:stylesheet>
>
>
> O/P xml:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <INDEX version="1.0" >
> <SCHEMA>AD Design</SCHEMA>
> <NAME>AD_FILES_N1I</NAME>
> </INDEX>
|