[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] spirit an xml element away and bring it back


Subject: RE: [xsl] spirit an xml element away and bring it back
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Tue, 22 Aug 2006 08:33:28 +0100

There's nothing in standard XSLT, but you could use saxon:serialize() (and
of course saxon:parse() on the receiving end).

Michael Kay
http://www.saxonica.com/ 

> -----Original Message-----
> From: Frank Marent [mailto:frank.marent@xxxxxxxxxxx] 
> Sent: 22 August 2006 06:35
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] spirit an xml element away and bring it back
> 
> hello.
> 
> we are trying (for a rountripping of xml documents between 
> arbortext editor and adobe framemaker) to spirit mathml code 
> away from xml arbortext editor documents (to open in adobe 
> framemaker) and let the mathml code reappear again when 
> returning to xml arbortext editor.
> 
> the best would be to hide the mathml code in an attribute and 
> let it also reappear again from that, but we could only make 
> *one* way (hiding the code) and only in a *processing 
> instruction* by this xslt
> fragment:
> 
>    ...
>    <xsl:template match="FormulaEntity">
>      <FormulaEntity>
>        <xsl:text disable-output-escaping="yes">&lt;?MATH </xsl:text>
>        <xsl:apply-templates/>
>        <xsl:text disable-output-escaping="yes"> ?&gt;</xsl:text>
>      </FormulaEntity>
>    </xsl:template>
>    ...
> 
> i wonder if there is any way to to spirit an xml element with 
> all descendants away, hiding it in an attribute and bring it 
> back to stage after that. our xml input code would be like:
> 
> <FormulaEntity>
>    <m:math>
>      <m:mrow>
>        <m:mroot>
>          <m:mrow>
>            <m:mn>5</m:mn>
>          </m:mrow>
>          <m:mrow>
>            <m:mn>2</m:mn>
>          </m:mrow>
>        </m:mroot>
>      </m:mrow>
>    </m:math>
> </FormulaEntity>
> 
> we have to store the <m:math> element and the best would be 
> to have after that something like:
> 
> <FormulaEntity
> MathML="&lt;m:math&gt;&lt;m:mrow&gt;&lt;m:mroot&gt;&lt;m:mrow&
> gt;&lt;m:m
> n&gt;5&lt;/m:mn&gt;&lt;/m:mrow&gt;&lt;m:mrow&gt;&lt;m:mn&gt;2&lt;/
> m:mn&gt;&lt;/m:mrow&gt;&lt;/m:mroot&gt;&lt;/m:mrow&gt;&lt;/m:m
> ath&gt;">
> 
> and bringing the code back to the input code.
> 
> is there any solution in xslt for that? for tips many thanks 
> in advance.
> 
> frank


Current Thread
Keywords