xsl-list
[Top] [All Lists]

Re: [xsl] XSLT3 deep-equal() question

2020-03-27 11:50:29

On 27.03.2020 17:43, Alan Painter alan(_dot_)painter(_at_)gmail(_dot_)com wrote:
Hello XSLT Community,

I'm Using XSLT3 (Saxon 9.9 HE).

I'm wondering if it's reasonable to expect deep-equal() to always
return true in the following scenario.  I suspect "yes" but wondering
what corner cases that I might encounter.

We'll be pushing some data-oriented source documents, with no external
entities, through templates which are all in a mode defined from
"shallow-copy" similar to the below.

What I'm wondering under what conditions of source documents that the
following stylesheet would return "false" rather than "true".  (Again,
excluding external entities.) I'm hoping that the list of conditions
is nil or very small.

Thanks for any help.

<xsl:stylesheet
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
    xmlns:xs="http://www.w3.org/2001/XMLSchema";
    version="3.0">

  <xsl:mode name="a" on-no-match="shallow-copy"/>

  <xsl:output method="text" />

  <xsl:template match="/" >
      <xsl:variable name="afterApply">
          <xsl:apply-templates select="/" mode="a"/>
      </xsl:variable>
      <xsl:sequence select="deep-equal(/, $afterApply) => string()" />
  </xsl:template>

</xsl:stylesheet>


Are there any templates other than the built-in ones for the mode "a"?
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--
<Prev in Thread] Current Thread [Next in Thread>