Phase 1: the parser converts character entities into characters. Phase 2: the
XSLT processor manipulates characters. Phase 3: the XSLT processor passes
characters to the serializer for output, which escapes them if they need
escaping. There's no way that phase 3 can be influenced by what happened in
phase 1.
Michael Kay
Saxonica
> On 15 Feb 2024, at 15:52, rick@xxxxxxxxxxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> Hi All,
>
> I have this as the input:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE subtask [
> <!ENTITY lt "&">
> <!ENTITY gt ">">
> <!ENTITY amp "&">
> ]>
>
> <subtask>
> <title>General Information</title>
> <prcitem1>
> <prcitem>
> <para>This document provides < repair instructions & for
the Fire Extinguisher components.</para>
> </prcitem>
> </prcitem1>
> </subtask>
>
> I want all of the entities to be resolved when I transform the file. This is
my stylesheet:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> xmlns:xs="http://www.w3.org/2001/XMLSchema"
> xmlns:math="http://www.w3.org/2005/xpath-functions/math"
> exclude-result-prefixes="xs math"
> version="3.0" expand-text="yes">
>
> <xsl:output indent="yes"/>
>
> <xsl:template match="/">
> <xsl:apply-templates/>
> </xsl:template>
>
> <xsl:mode on-no-match="shallow-copy"/>
>
> </xsl:stylesheet>
>
> This is my output:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <subtask>
> <title>General Information</title>
> <prcitem1>
> <prcitem>
> <para>This document provides < repair instructions & for the
Fire Extinguisher components.</para>
> </prcitem>
> </prcitem1>
> </subtask>
>
> I was thinking that my $lt; should have been substituted with &, etc.
Does it not matter because these are bvalidb XML entities? Thank you.
>
> Rick
> XSL-List info and archive <http://www.mulberrytech.com/xsl/xsl-list>
> EasyUnsubscribe <http://lists.mulberrytech.com/unsub/xsl-list/3500899> (by
email <>)
|