1
0
mirror of https://gitlab.gnome.org/GNOME/libxslt synced 2025-08-07 10:42:55 +03:00
Files
libxslt/tests/XSLTMark/priority.xsl
Daniel Veillard fb0a57cf03 Jumbo patch, extended regression tests and fixed regression results:
- configure.in tests/Makefile.am tests/XSLTMark/* tests/multiple:
  added the XSLTMark in the regression tests as well as multiple
  output test from Ankh
- libxslt/functions.c libxslt/keys.c libxslt/transform.c
  libxslt/variables.c libxslt/xsltutils.c: applied William M. Brack
  patches and fixed a memory leak
- tests/docbook/result/html/*.html : updated the results after
  William's patch
- tests/xmlspec/REC-xml-20001006-review.html
  tests/xmlspec/REC-xml-20001006.html: libxml now don't invent
  an HTML doctype when serializing HTML result, but adds the
  encoding in ALT
Daniel
2001-04-02 15:13:28 +00:00

52 lines
1.4 KiB
XML

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output encoding="utf-8"/>
<xsl:template match="node" mode="keep">
<node key="{@key}">
<xsl:if test="left">
<left>
<xsl:apply-templates select="left/node" mode="keep"/>
</left>
</xsl:if>
<xsl:if test="right">
<right>
<xsl:apply-templates select="right/node" mode="keep"/>
</right>
</xsl:if>
</node>
</xsl:template>
<xsl:template match="*"/>
<xsl:template match="node">
<xsl:choose>
<xsl:when test="(left and not(right)) or (left/node/@key &lt; right/node/@key)">
<node key="{left/node/@key}">
<left>
<xsl:apply-templates select="left/node"/>
</left>
<xsl:if test="right">
<right>
<xsl:apply-templates select="right/node" mode="keep"/>
</right>
</xsl:if>
</node>
</xsl:when>
<xsl:when test="right">
<node key="{right/node/@key}">
<xsl:if test="left">
<left>
<xsl:apply-templates select="left/node" mode="keep"/>
</left>
</xsl:if>
<right>
<xsl:apply-templates select="right/node"/>
</right>
</node>
</xsl:when>
<xsl:otherwise>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>