On Wed, 2023-02-08 at 01:38 +0000, BR Chrisman brchrisman@xxxxxxxxx
wrote:
> One example, inside a template:
> <foo bar="baz"/>
> and
> <xsl:element name="foo">
> B <xsl:attribute name="bar">baz</xsl:attribute>
> </xsl:element>
>
> are equivalent (*).
> (*) I might be missing something here in the example... possible, but
> my
> point isn't about whether this example is identically equivalent./.
> just
> about whether there's been an effort to provide a canonicalization
> transform.
There are differences indeed, in the handling of namespaces between
these two examples.
I think with XSLT 3 at least, you can turn literal element constructors
into element constructors (the xsl:element form), with careful use of
exclude-result-prefixes.
But not the other way round - consider
<xsl:element name="{$name}">
for example. You can't write
<{$name}>
to make an element, as that's not well-formed XML syntax.
So likely you're stuck handling all of XSLT. But, why are you
processing XSLT with XSLT in this way? Sounds interesting, tell us
more! :)
liam
--
Liam Quin,B https://www.delightfulcomputing.com/
Available for XML/Document/Information Architecture/XSLT/
XSL/XQuery/Web/Text Processing/A11Y training, work & consulting.
Barefoot Web-slave, antique illustrations: B http://www.fromoldbooks.org
|