| <!-- |
| /* |
| ******************************************************************************* |
| * Copyright (C) 2008-2012, International Business Machines Corporation and * |
| * others. All Rights Reserved. * |
| ******************************************************************************* |
| * This is the XSLT for the API Report. |
| */ |
| --> |
| <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> |
| <xsl:param name="leftVer" /> |
| <xsl:param name="rightVer" /> |
| <xsl:param name="dateTime" /> |
| <xsl:param name="rightMilestone" /> |
| <xsl:param name="leftMilestone" /> |
| <xsl:param name="nul" /> |
| <xsl:param name="ourYear" /> |
| |
| <xsl:output method="html" version="4.0" doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN" |
| doctype-system="http://www.w3.org/TR/html4/loose.dtd" |
| omit-xml-declaration="yes" encoding="utf-8" indent="yes"/> |
| |
| |
| <xsl:template match="/"> |
| <html> |
| <xsl:comment> |
| Copyright (C) <xsl:value-of select="$ourYear" />, International Business Machines Corporation, All Rights Reserved. |
| </xsl:comment> |
| <head> |
| <title>ICU4C API Comparison: <xsl:value-of select="$leftVer"/><xsl:value-of select="$leftMilestone" /> with <xsl:value-of select="$rightVer" /><xsl:value-of select="$rightMilestone" /> </title> |
| <link rel="stylesheet" href="icu4c.css" type="text/css" /> |
| </head> |
| |
| <body> |
| |
| <a name="#_top"></a> |
| |
| <h1>ICU4C API Comparison: <xsl:value-of select="$leftVer"/><xsl:value-of select="$leftMilestone" /> with <xsl:value-of select="$rightVer" /><xsl:value-of select="$rightMilestone" /> </h1> |
| |
| <div id="toc"> |
| <ul> |
| <li><a href="#removed">Removed from <xsl:value-of select="$leftVer"/></a></li> |
| <li><a href="#deprecated">Deprecated or Obsoleted in <xsl:value-of select="$rightVer" /></a></li> |
| <li><a href="#changed">Changed in <xsl:value-of select="$rightVer" /></a></li> |
| <li><a href="#promoted">Promoted to stable in <xsl:value-of select="$rightVer" /></a></li> |
| <li><a href="#added">Added in <xsl:value-of select="$rightVer" /></a></li> |
| <li><a href="#other">Other existing drafts in <xsl:value-of select="$rightVer" /></a></li> |
| <li><a href="#purevirtual">Signature Simplifications</a> <sup style='background-color: yellow; font-size: smallest;'>(new)</sup></li> |
| </ul> |
| <hr /> |
| </div> |
| |
| <a name="removed"></a> |
| <h2>Removed from <xsl:value-of select="$leftVer"/> </h2> |
| <xsl:call-template name="genTable"> |
| <xsl:with-param name="nodes" select="/list/func[@rightStatus=$nul]"/> |
| </xsl:call-template> |
| <P/><a href="#_top">(jump back to top)</a><hr/> |
| |
| <a name="deprecated"></a> |
| <h2>Deprecated or Obsoleted in <xsl:value-of select="$rightVer" /></h2> |
| <xsl:call-template name="genTable"> |
| <xsl:with-param name="nodes" select="/list/func[(@rightStatus='Deprecated' and @leftStatus!='Deprecated') or (@rightStatus='Obsolete' and @leftStatus!='Obsolete')]"/> |
| </xsl:call-template> |
| <P/><a href="#_top">(jump back to top)</a><hr/> |
| |
| <a name="changed"></a> |
| <h2>Changed in <xsl:value-of select="$rightVer" /> (old, new)</h2> |
| <xsl:call-template name="genTable"> |
| <xsl:with-param name="nodes" select="/list/func[(@leftStatus != $nul) and (@rightStatus != $nul) and ( (@leftStatus != @rightStatus) or (@leftVersion != @rightVersion) ) and not ( (@leftStatus = 'Draft') and (@rightStatus = 'Stable') and (@rightVersion = $rightVer) )]"/> |
| </xsl:call-template> |
| <P/><a href="#_top">(jump back to top)</a><hr/> |
| |
| <a name="promoted"></a> |
| <h2>Promoted to stable in <xsl:value-of select="$rightVer" /></h2> |
| <xsl:call-template name="genTable"> |
| <xsl:with-param name="nodes" select="/list/func[@leftStatus != 'Stable' and @rightStatus = 'Stable']"/> |
| </xsl:call-template> |
| <P/><a href="#_top">(jump back to top)</a><hr/> |
| |
| <a name="added"></a> |
| <h2>Added in <xsl:value-of select="$rightVer" /></h2> |
| <xsl:call-template name="genTable"> |
| <xsl:with-param name="nodes" select="/list/func[@leftStatus=$nul]"/> |
| </xsl:call-template> |
| <P/><a href="#_top">(jump back to top)</a><hr/> |
| |
| <a name="other"></a> |
| <h2>Other existing drafts in <xsl:value-of select="$rightVer" /></h2> |
| <div class='other'> |
| <xsl:call-template name="infoTable"> <!-- note: note genTable --> |
| <xsl:with-param name="nodes" select="/list/func[@rightStatus = 'Draft' and @rightVersion != $rightVer]"/> |
| </xsl:call-template> |
| </div> |
| <P/><a href="#_top">(jump back to top)</a><hr/> |
| |
| <a name="purevirtual"></a> |
| <h2>Signature Simplifications</h2> |
| <i>This section shows cases where the signature was "simplified" for the sake of comparison. The simplified form is in bold, followed by |
| all possible variations in "original" form.</i> |
| <div class='other'> |
| <ul> |
| <xsl:for-each select="/list/simplifications/simplification"> |
| <li><b><xsl:value-of select="base" /></b> |
| <br /> |
| <xsl:for-each select="change"> |
| <xsl:value-of select="text()" /><br /> |
| </xsl:for-each> |
| </li> |
| </xsl:for-each> |
| </ul> |
| </div> |
| <P/><a href="#_top">(jump back to top)</a><hr/> |
| <!-- |
| |
| --> |
| |
| <p><i><font size="-1">Contents generated by StableAPI tool on <xsl:value-of select="$dateTime" /><br/>Copyright (C) <xsl:value-of select="$ourYear" />, International Business Machines Corporation, All Rights Reserved.</font></i></p> |
| </body> |
| </html> |
| </xsl:template> |
| |
| <xsl:template name="genTable"> |
| <xsl:param name="nodes" /> |
| <table class='genTable' BORDER="1"> |
| <THEAD> |
| <tr> |
| <th> <xsl:value-of select="'File'" /> </th> |
| <th> <xsl:value-of select="'API'" /> </th> |
| <th> <xsl:value-of select="$leftVer" /> </th> |
| <th> <xsl:value-of select="$rightVer" /> </th> |
| </tr> |
| </THEAD> |
| |
| <xsl:for-each select="$nodes"> |
| <xsl:sort select="@file" /> |
| |
| <tr> |
| <xsl:attribute name="class"> |
| <xsl:value-of select="'row'"/> |
| <xsl:value-of select="(position() mod 2)"/> |
| <!-- |
| <xsl:choose> |
| <xsl:when test="(position() mod 2) = 0"><xsl:value-of select="row0" /></xsl:when> |
| <xsl:otherwise><xsl:value-of select="row1" /></xsl:otherwise> |
| </xsl:choose> |
| --> |
| </xsl:attribute> |
| <td class='file'> <xsl:value-of select="@file" /> </td> |
| <td class='proto'> <xsl:value-of disable-output-escaping="yes" select="@prototype" /> </td> |
| <td> |
| <xsl:attribute name="class"> |
| <xsl:if test ="@leftStatus = 'Stable'"> |
| <xsl:value-of select="'stabchange'" /> |
| </xsl:if> |
| </xsl:attribute> |
| <xsl:if test = "@leftStatus = 'Draft' and @rightStatus = 'Stable' and @leftVersion = @rightVersion"> |
| <xsl:attribute name="colspan">2</xsl:attribute> |
| <xsl:attribute name="align">center</xsl:attribute> |
| </xsl:if> |
| |
| <xsl:value-of select="@leftStatus" /><xsl:if test = "@leftStatus = 'Draft' and @rightStatus = 'Stable' and @leftVersion = @rightVersion">→Stable</xsl:if> |
| <xsl:if test="@leftVersion != '' and @leftVersion != '.'"> |
| <br/> |
| <xsl:value-of select="@leftVersion" /> |
| </xsl:if> |
| </td> |
| <xsl:if test = "@leftStatus != 'Draft' or @rightStatus != 'Stable' or @leftVersion != @rightVersion"> |
| <td> <xsl:value-of select="@rightStatus" /> |
| <br/> |
| <span> |
| <xsl:attribute name="class"> |
| <xsl:if test ="@leftVersion != @rightVersion and @leftVersion != '' and @rightVersion != '' and @rightVersion != '.'"> |
| <xsl:value-of select="'verchange'" /> |
| </xsl:if> |
| </xsl:attribute> |
| <xsl:if test="@rightVersion != '.'"> |
| <span> |
| <xsl:value-of select="@rightVersion" /> |
| </span> |
| </xsl:if> |
| <xsl:if test ="@leftVersion != @rightVersion and @leftVersion != '' and @rightVersion != '' and @rightStatus = 'Stable' and not ( (@leftStatus = 'Draft') and (@rightStatus = 'Stable') and (@rightVersion = $rightVer) )"> |
| <br/><b title='A stable API changed version.' class='bigwarn'>(changed)</b> |
| </xsl:if> |
| <xsl:if test ="@rightStatus = 'Draft' and @rightVersion != $rightVer"> |
| <br/><b title='A draft API has the wrong version.' class='bigwarn'>(should be <xsl:value-of select="$rightVer"/>)</b> |
| </xsl:if> |
| <xsl:if test="@leftStatus = 'None' and @rightVersion = '' and @rightStatus != 'Internal' and @rightStatus != 'Deprecated'"> |
| <br/><b title='A new API was introduced that was not tagged.' class='bigwarn'>(untagged)</b> |
| </xsl:if> |
| </span> |
| </td> |
| </xsl:if> |
| <xsl:if test = "@rightStatus = 'Stable' and @rightVersion = $rightVer"> |
| <td class='bornstable'> |
| <b title='A new API was introduced as stable in $rightVer.' class='bigwarn'>(Born Stable)</b> |
| </td> |
| </xsl:if> |
| </tr> |
| </xsl:for-each> |
| </table> |
| </xsl:template> |
| |
| <xsl:template name="infoTable"> |
| <xsl:param name="nodes" /> |
| <table class='genTable' BORDER="1"> |
| <THEAD> |
| <tr> |
| <th> <xsl:value-of select="'File'" /> </th> |
| <th> <xsl:value-of select="'API'" /> </th> |
| <th> <xsl:value-of select="$leftVer" /> </th> |
| <th> <xsl:value-of select="$rightVer" /> </th> |
| </tr> |
| </THEAD> |
| |
| <xsl:for-each select="$nodes"> |
| <xsl:sort select="@file" /> |
| |
| <tr> |
| <xsl:attribute name="class"> |
| <xsl:value-of select="'row'"/> |
| <xsl:value-of select="(position() mod 2)"/> |
| <!-- |
| <xsl:choose> |
| <xsl:when test="(position() mod 2) = 0"><xsl:value-of select="row0" /></xsl:when> |
| <xsl:otherwise><xsl:value-of select="row1" /></xsl:otherwise> |
| </xsl:choose> |
| --> |
| </xsl:attribute> |
| <td class='file'> <xsl:value-of select="@file" /> </td> |
| <td class='proto'> <xsl:value-of disable-output-escaping="yes" select="@prototype" /> </td> |
| <td> |
| <xsl:attribute name="class"> |
| <xsl:if test ="@leftStatus = 'Stable'"> |
| <xsl:value-of select="'stabchange'" /> |
| </xsl:if> |
| </xsl:attribute> |
| |
| <xsl:if test = "@leftStatus = @rightStatus and @leftVersion = @rightVersion"> |
| <xsl:attribute name="colspan">2</xsl:attribute> |
| <xsl:attribute name="align">center</xsl:attribute> |
| </xsl:if> |
| |
| <xsl:value-of select="@leftStatus" /> |
| <br/> <xsl:value-of select="@leftVersion" /> |
| </td> |
| <xsl:if test = "@leftStatus != @rightStatus or @leftVersion != @rightVersion"> |
| <td> <xsl:value-of select="@rightStatus" /> |
| <br/> |
| <span> |
| <xsl:attribute name="class"> |
| <xsl:if test ="@leftVersion != @rightVersion and @leftVersion != '' and @rightVersion != '' and @rightVersion != '.'"> |
| <xsl:value-of select="'verchange'" /> |
| </xsl:if> |
| </xsl:attribute> |
| <span> |
| <xsl:if test = "@rightVersion != '.'"> |
| <xsl:value-of select="@rightVersion" /> |
| </xsl:if> |
| </span> |
| <!-- |
| <xsl:if test ="@leftVersion != @rightVersion and @leftVersion != '' and @rightVersion != '' and @rightStatus = 'Stable'"> |
| <br/><b title='A stable API changed version.' class='bigwarn'>(changed)</b> |
| </xsl:if> |
| <xsl:if test ="@rightStatus = 'Draft' and @rightVersion != $rightVer"> |
| <br/><b title='A draft API has the wrong version.' class='bigwarn'>(should be <xsl:value-of select="$rightVer"/>)</b> |
| </xsl:if> |
| <xsl:if test="@leftStatus = 'None' and @rightVersion = ''"> |
| <br/><b title='A new API was introduced that was not tagged.' class='bigwarn'>(untagged)</b> |
| </xsl:if> |
| --> |
| </span> |
| </td> |
| </xsl:if> |
| </tr> |
| </xsl:for-each> |
| </table> |
| </xsl:template> |
| |
| |
| <xsl:template name="pureVirtualTable"> |
| <xsl:param name="nodes" /> |
| <table class='genTable' BORDER="1"> |
| <!-- |
| <THEAD> |
| <tr> |
| <th> <xsl:value-of select="'File'" /> </th> |
| <th> <xsl:value-of select="'API'" /> </th> |
| <th> <xsl:value-of select="$leftVer" /> </th> |
| <th> <xsl:value-of select="$rightVer" /> </th> |
| </tr> |
| </THEAD> |
| --> |
| |
| <xsl:for-each select="$nodes"> |
| <xsl:sort select="@file" /> |
| |
| <tr> |
| <xsl:attribute name="class"> |
| <xsl:value-of select="'row'"/> |
| <xsl:value-of select="(position() mod 2)"/> |
| <!-- |
| <xsl:choose> |
| <xsl:when test="(position() mod 2) = 0"><xsl:value-of select="row0" /></xsl:when> |
| <xsl:otherwise><xsl:value-of select="row1" /></xsl:otherwise> |
| </xsl:choose> |
| --> |
| </xsl:attribute> |
| <td class='file'> <xsl:value-of select="@file" /> </td> |
| <td class='proto'> <xsl:value-of disable-output-escaping="yes" select="@prototype" /> </td> |
| <td> |
| <xsl:attribute name="class"> |
| <xsl:if test ="@leftStatus = 'Stable'"> |
| <xsl:value-of select="'stabchange'" /> |
| </xsl:if> |
| </xsl:attribute> |
| |
| <xsl:if test = "@leftStatus = @rightStatus and @leftVersion = @rightVersion"> |
| <xsl:attribute name="colspan">2</xsl:attribute> |
| <xsl:attribute name="align">center</xsl:attribute> |
| </xsl:if> |
| |
| <xsl:value-of select="@leftStatus" /> |
| <br/> <xsl:value-of select="@leftVersion" /> |
| </td> |
| <xsl:if test = "@leftStatus != @rightStatus or @leftVersion != @rightVersion"> |
| <td> <xsl:value-of select="@rightStatus" /> |
| <br/> |
| <span> |
| <xsl:attribute name="class"> |
| <xsl:if test ="@leftVersion != @rightVersion and @leftVersion != '' and @rightVersion != ''"> |
| <xsl:value-of select="'verchange'" /> |
| </xsl:if> |
| </xsl:attribute> |
| <span> |
| <xsl:value-of select="@rightVersion" /> |
| </span> |
| <!-- |
| <xsl:if test ="@leftVersion != @rightVersion and @leftVersion != '' and @rightVersion != '' and @rightStatus = 'Stable'"> |
| <br/><b title='A stable API changed version.' class='bigwarn'>(changed)</b> |
| </xsl:if> |
| <xsl:if test ="@rightStatus = 'Draft' and @rightVersion != $rightVer"> |
| <br/><b title='A draft API has the wrong version.' class='bigwarn'>(should be <xsl:value-of select="$rightVer"/>)</b> |
| </xsl:if> |
| <xsl:if test="@leftStatus = 'None' and @rightVersion = ''"> |
| <br/><b title='A new API was introduced that was not tagged.' class='bigwarn'>(untagged)</b> |
| </xsl:if> |
| --> |
| </span> |
| </td> |
| </xsl:if> |
| </tr> |
| </xsl:for-each> |
| </table> |
| </xsl:template> |
| |
| </xsl:stylesheet> |
| |
| |
| |
| |