xsl-list
[Top] [All Lists]

Re: [xsl] XSLT 1.0 serializer for XML

2010-08-19 11:14:53
It has been done in XSLT 1.0 too:
http://lenzconsulting.com/xml-to-string/xml-to-string.xsl

Thanks for the pointer.
I modified serialize-demo.xml to use xml-to-string.xsl and it
produced identical output in the browser.


The XSLT/XPath data model does not know any CDATA sections respectively
does not distinguish between "normal" text nodes and CDATA section
nodes, like the W3C DOM does. So XSLT operates on a tree model where
there are only text nodes.

So what does this section of xml-to-string.xsl do then?
  <xsl:template name="escape-markup-characters">
    <xsl:param name="text"/>
...
    <xsl:call-template name="replace-string">
      <xsl:with-param name="text" select="$ltEscaped"/>
      <xsl:with-param name="replace" select="']]>'"/>
      <xsl:with-param name="with" select="']]&amp;gt;'"/>
    </xsl:call-template>
  </xsl:template>

It cannot see the "]]>", correct?


Another question,   <xsl:template name="isDeclaredAbove">
does a recursive search to determine whether a namespace is declared
above the current element.

This seems to work in serialize.xsl and does the same job:
     <xsl:if test="not(.=../../namespace::*) and name()!='xml'">

Is it correct?


Mit besten Gruessen / Best wishes,

Hermann Stamm-Wilbrandt
Developer, XML Compiler, L3
WebSphere DataPower SOA Appliances
----------------------------------------------------------------------
IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Martin Jetter
Geschaeftsfuehrung: Dirk Wittkopp
Sitz der Gesellschaft: Boeblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294



From:       Martin Honnen <Martin(_dot_)Honnen(_at_)gmx(_dot_)de>
To:         xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Date:       08/19/2010 05:40 PM
Subject:    Re: [xsl] XSLT 1.0 serializer for XML



Hermann Stamm-Wilbrandt wrote:

in another thread Florent posted [1] a link to a XML serializer written
in pure XSLT [2].
That serializer is written in XSLT 2.0 and cannot be used in browsers;
they do support XSLT 1.0 only.

It has been done in XSLT 1.0 too:
http://lenzconsulting.com/xml-to-string/xml-to-string.xsl

With Michael's help I got the differentiation of the 6 XML node types

Question 3:
Is it correct, that a stylesheet cannot have access to the CDATA
sections?
(I think the parser removes them)

The XSLT/XPath data model does not know any CDATA sections respectively
does not distinguish between "normal" text nodes and CDATA section
nodes, like the W3C DOM does. So XSLT operates on a tree model where
there are only text nodes.



--

             Martin Honnen
             http://msmvps.com/blogs/martin_honnen/

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--




--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>