|
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 |