Finding xmlns with xsl/xpath
I'm trying to obtain a list of information for the root element of an xml document using a transformation. The pieces I can't figure out are:

How do I obtain the default namespace url?

How can I obtain a list of every xmlns prefix and its related url?

Here's 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>
</xsl:stylesheet>

This transformation is being done in the browser. Basically what I'm expecting 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? 
Finding xmlns with xsl/xpath
===

I'm trying to obtain a list of information for the root element of an xml document using a transformation. The pieces I can't figure out are:

How do I obtain the default namespace url?

How can I obtain a list of every xmlns prefix and its related url?

Here's 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>
</xsl:stylesheet>

This transformation is being done in the browser. Basically what I'm expecting 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? 