Subversion-Projekte lars-tiefland.php_share

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 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>