Subject: [xsl] How to generate a path expression which shows the namespace that each element on the path belongs to and the namespace that each namespace prefix is bound to? From: "Roger L Costello costello@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Fri, 5 Feb 2021 16:36:31 -0000 |
Hi Folks, I have an XHTML document. Here is an example: <html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns="http://www.w3.org/TR/REC-html40"> <head> <title>Example</title> </head> <body> <p> <o:p></o:p> </p> </body> </html> I want to show the path to each element. I can iterate over all nodes and use ancestor-or-self along with string-join to show the path: <xsl:for-each select="//*"> <xsl:value-of select="string-join(for $i in (ancestor-or-self::*) return name($i), '/')"/> </xsl:for-each> Here is one of the paths that is generated: html/body/p/o:p Unfortunately, that path expression is missing crucial information: - html, body, p are in the http://www.w3.org/TR/REC-html40 namespace - the "o" prefix is bound to the urn:schemas-microsoft-com:office:office namespace It is vital that I have that information because I want to generate XHTML instances from the path expressions. For example, for the above path expression I will generate: <html xmlns="http://www.w3.org/TR/REC-html40" xmlns:o="urn:schemas-microsoft-com:office:office"> <body> <p> <o:p></o:p> </p> </body> </html> How to generate a path expression which shows the namespace that each element on the path belongs to and the namespace that each namespace prefix is bound to? /Roger
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Re: Pluralsight Free Weekend:, Dimitre Novatchev dn | Thread | Re: [xsl] How to generate a path ex, Michael Kay mike@xxx |
[xsl] Re: Pluralsight Free Weekend:, Dimitre Novatchev dn | Date | Re: [xsl] How to generate a path ex, Michael Kay mike@xxx |
Month |