[xsl] How to Parse String with Escaped XML Markup?

Subject: [xsl] How to Parse String with Escaped XML Markup?
From: "Eliot Kimber ekimber@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 15 Jan 2021 14:57:55 -0000
I researched this question in this list but I didn't find a recent response so
I'm asking it again.

My specific requirement is to take the value of an Oxygen deleted content
processing instruction and parse it back into elements in the context of an
XSLT 3 transform.

The PI is:

<?oxy_delete author="ekimber" timestamp="20210115T085216-0600"
content="&lt;body&gt;&lt;p&gt;&lt;ul
id=&quot;ul_c5k_mhh_34b&quot;&gt;&lt;li&gt;li one&lt;/li&gt;&lt;li&gt;li
two&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;&lt;/body&gt;"?>

What I'm failing to work out is how to convert the value of the @content
pseudo-attribute back into a proper XML string that I can pass to
parse-xml().

I tried just using replace() to change the various named character references
to their characters but I ran into a use/mention problem with quotes that I
was unable to resolve at the end of the day, which made me think that perhaps
there's a better way or am I just not thinking clearly about how to handle
this kind of string in the context of an XSLT transform?

Thanks,

Elioto;?

--
Eliot Kimber
http://contrext.com

Current Thread