Re: [xsl] How to retain the end tag when outputting an emptyelement?

Subject: Re: [xsl] How to retain the end tag when outputting an emptyelement?
From: "Martin Honnen martin.honnen@xxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 17 Jun 2022 13:16:02 -0000
Am 17.06.2022 um 14:45 schrieb Roger L Costello costello@xxxxxxxxx:
Thanks Martin.



It doesn't seem to be working.



I added this namespace declaration: xmlns:saxon="http://saxon.sf.net";
I think the namespace ends with a slash, so that is missing



And added the attribute: <xsl:output method="xml" saxon:canonical="yes" />




I am still getting <test/>



I am using SAXON EE 10.1



Suggestions?



/Roger



-----Original Message-----

From: Martin Honnen martin.honnen@xxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>

Sent: Friday, June 17, 2022 8:24 AM

To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx

Subject: [EXT] Re: [xsl] How to retain the end tag when outputting an emptyelement?





Am 17.06.2022 um 14:15 schrieb Roger L Costello costello@xxxxxxxxx:

Hi Folks,
For this element:
<test>foo</test>
The following XSLT:
      <xsl:template match="*">
          <xsl:element name="{name(.)}">
              <xsl:apply-templates />
          </xsl:element>
      </xsl:template>
      <xsl:template match="text()" />
Outputs this:
<test/>
How do I get the XSLT processor to output both the start tag and the end tag:
<test></test>
That is a serialization feature/requirement, I think in Saxon PE/EE you

can ensure that with canonical serialization

https://www.saxonica.com/html/documentation11/extensions/output-extras/serialization-parameters.html

but of course that does some other normalization as well.

Current Thread