Subject: Re: [xsl] How to Parse String with Escaped XML Markup? From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Fri, 15 Jan 2021 15:56:42 -0000 |
The reason this works is that saxon:get-pseudo-attribute() expands entity and character references found in the PI content, so the resulting string contains angle brackets in place of "& lt ; " and "& gt ;". Michael Kay Saxonica > On 15 Jan 2021, at 15:36, Eliot Kimber ekimber@xxxxxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > > Yes, I'm using the Saxon extension function to get the value of the @content pseudo-attribute. > > What I didn't realize was that parse-xml and parse-xml-fragment() will handle the string as it comes, so this works: > > <xsl:variable name="rawMarkup" select="saxon:get-pseudo-attribute('content')/> > <xsl:variable name="deletedContent" as="element()"> > <deletedContent xmlns=""> > <xsl:sequence select="parse-xml-fragment($rawMarkup)/> > </deletedContent> > </xsl:variable> > > So it's all good. > > Cheers, > > E. > > -- > Eliot Kimber > http://contrext.com > > > o;?On 1/15/21, 9:22 AM, "Martin Honnen martin.honnen@xxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > > Am 15.01.2021 um 15:58 schrieb Eliot Kimber ekimber@xxxxxxxxxxxx: >> 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="<body><p><ul id="ul_c5k_mhh_34b"><li>li one</li><li>li two</li></ul></p></body>"?> >> >> 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 think Saxon PE and EE have an extension function to access the pseudo > attributes of a processing instruction value. > > So inside of oXygen with Saxon PE or EE this should be easz.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] How to Parse String with , Eliot Kimber ekimber | Thread | Re: [xsl] How to Parse String with , Liam R. E. Quin liam |
Re: [xsl] How to Parse String with , Eliot Kimber ekimber | Date | Re: [xsl] How to Parse String with , Liam R. E. Quin liam |
Month |