I am trying to get a list of information for the root element of an XML document using a transform. The parts that I cannot understand are as follows:
How to get the default namespace url?
How can I get a list of each xmlns prefix and its associated URL?
Here is my xml file:
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="/example.xsl"?> <foo:mytag xmlns="http://default.example.com/" xmlns:foo="http://foo.example.com/" xmlns:bar="http://bar.example.com"> </foo:mytag>
And here is my xsl file:
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output doctype-public="-//W3C//DTD XHTML 1.1//EN" doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" encoding="UTF-8" indent="yes" method="xml" omit-xml-declaration="no" version="1.0" /> <xsl:template match="/"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> </head> <body> default namespace - <b>???</b><br /> full tag name - <b><xsl:value-of select="name(*)"/></b><br /> xmlns for tag - <b><xsl:value-of select="namespace-uri(*)"/></b><br /> tag prefix - <b>???</b><br /> tag name - <b><xsl:value-of select="local-name(*)"/></b><br /> List of xmlns - <br /> ???? </body> </html> </xsl:template>
This conversion is performed in the browser. Basically what I expect as a result:
default namespace - http://default.example.com/ full tag name - foo:mytag xmlns for tag - http://foo.example.com/ tag prefix - foo tag name - mytag List of xmlns - - http://default.example.com/ foo - http://foo.example.com/ bar - http://bar.example.com/
Am I missing something obvious to fill in the missing data?
source share