home *** CD-ROM | disk | FTP | other *** search
/ Enter 2004 June / ENTER.ISO / files / xampp-win32-1.4.5-installer.exe / xampp / xml_schema.xsl < prev    next >
Encoding:
Extensible Markup Language  |  2004-03-24  |  3.5 KB  |  95 lines

  1. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  2. <!--
  3.      @(#) $Id: xml_schema.xsl,v 1.1 2002/09/05 08:47:58 lsmith Exp $
  4.   -->
  5. <xsl:template match="/">
  6.     <!--  -->
  7.     <html><head><title>Metabase DB Documentation</title>
  8.     <STYLE>
  9.     .titlemini { font-family: Arial, Helvetica, sans-serif; font-size: 15px; font-weight: normal; color: rgb(133, 133, 133); text-decoration: none; letter-spacing: 1px; line-height: 95%; }
  10.     .textmini { font-family: Arial, Helvetica, sans-serif; font-size: 10px; font-weight: normal; color: rgb(133, 133, 133); text-decoration: none; }
  11.     .tablemain { border: solid 0px; margin: solid 0px; }
  12.     .tableheader { padding: 3px; border: solid 0px; margin: 0px; background-color: rgb(235, 235, 235); font-family: Arial, Helvetica, sans-serif; font-size: 11px; color: rgb(133, 133, 133); font-weight: bold; text-decoration: none; }
  13.     .tablebody { padding: 3px; border-top: solid 1px; border-left: solid 1px; border-bottom: solid 1px; border-right: solid 1px; border-color: rgb(210, 210, 210); margin: solid 0px; font-family: Arial, Helvetica, sans-serif; font-size: 11px; color: rgb(133, 133, 133); text-decoration: none; }
  14.     </STYLE>
  15.     </head>
  16.     <body>
  17.     <!-- -->
  18.     <br/><span class="titlemini">database
  19.     <xsl:value-of select="/database/name"/></span><br/><br/>
  20.     <TABLE class="tablemain">
  21.     <xsl:for-each select="/database/table">
  22.         <xsl:call-template name="showtable"/>
  23.     </xsl:for-each>
  24.     </TABLE>
  25.     <!-- -->
  26.     </body></html>
  27.     <!-- -->
  28. </xsl:template>
  29.  
  30. <xsl:template name="showtable">
  31.     <tr><td colspan="4" class="tableheader"> <span class="titlemini">table
  32.         <xsl:value-of select="name"/></span> </td></tr>
  33.     <tr><td colspan="4"><span class="textmini">
  34.         <xsl:value-of select="comment"/></span></td></tr>
  35.  
  36.     <tr><td class="tableheader">field</td>
  37.     <td class="tableheader">type</td>
  38.     <td class="tableheader">comment</td>
  39.     <td class="tableheader">attributes</td>
  40.     </tr>
  41.  
  42.     <xsl:for-each select="descendant::declaration/field">
  43.         <xsl:call-template name="showfield"/>
  44.     </xsl:for-each>
  45.  
  46.     <tr><td colspan="2" height="18">  </td> </tr>
  47. </xsl:template>
  48.  
  49. <xsl:template name="showfield">
  50.     <tr><td class="tablebody"><span class="textmini">
  51.     <xsl:value-of select="name"/></span></td>
  52.     <td class="tablebody"><span class="textmini">
  53.     <xsl:value-of select="type"/>
  54.     <xsl:for-each select="descendant::length"><xsl:call-template name="showlength"/>
  55.     </xsl:for-each>
  56.     </span></td>
  57.  
  58.     <td class="tablebody"><span class="textmini">
  59.     <xsl:value-of select="comment"/></span></td>
  60.  
  61.     <td class="tablebody"><span class="textmini">
  62.     <xsl:for-each select="descendant::default"><xsl:call-template name="showdefault"/>
  63.     </xsl:for-each>
  64.  
  65.     <xsl:for-each select="descendant::notnull"><xsl:call-template name="shownotnull"/>
  66.     </xsl:for-each>
  67.  
  68.     <xsl:variable name="curfield" select="current()/name"/>
  69.  
  70.     <xsl:for-each select="following-sibling::index">
  71.          <xsl:if test="$curfield=field/name">
  72.          <br/>index <xsl:value-of select="name"/>
  73.             <xsl:if test="unique"> unique</xsl:if>
  74.          </xsl:if>
  75.  
  76.     </xsl:for-each>
  77.  
  78.     </span></td>
  79.  
  80.     </tr>
  81. </xsl:template>
  82.  
  83. <xsl:template name="showlength">(<xsl:value-of select="//length"/>)
  84. </xsl:template>
  85.  
  86. <xsl:template name="showdefault">
  87.     default=<xsl:value-of select="//default"/>
  88. </xsl:template>
  89.  
  90. <xsl:template name="shownotnull">
  91.     notnull=<xsl:value-of select="//notnull"/>
  92. </xsl:template>
  93.  
  94. </xsl:stylesheet>
  95.