Annotation of embedaddon/libxml2/doc/api.xsl, revision 1.1.1.1

1.1       misho       1: <?xml version="1.0"?>
                      2: <!-- this stylesheet builds the API*.html , it works based on libxml2-refs.xml
                      3:   -->
                      4: <xsl:stylesheet version="1.0"
                      5:   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                      6:   xmlns:exsl="http://exslt.org/common"
                      7:   extension-element-prefixes="exsl"
                      8:   exclude-result-prefixes="exsl">
                      9: 
                     10:   <!-- Import the rest of the site stylesheets -->
                     11:   <xsl:import href="site.xsl"/>
                     12: 
                     13:   <!-- Generate XHTML-1.0 transitional -->
                     14:   <xsl:output method="xml" encoding="UTF-8" indent="yes"
                     15:       doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
                     16:       doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
                     17: 
                     18:   <xsl:variable name="href_base" select="''"/>
                     19:   <xsl:variable name="apirefs" select="document('libxml2-refs.xml')"/>
                     20:   <xsl:variable name="module" select="$apirefs/apirefs/@name"/>
                     21:   <xsl:key name="refhref" match="reference" use="@name"/>
                     22: 
                     23:   <xsl:template match="ref" mode="anchor">
                     24:     <xsl:variable name="name" select="@name"/>
                     25:     <xsl:for-each select="document('libxml2-refs.xml')">
                     26:        <a href="{key('refhref', $name)/@href}"><xsl:value-of select="$name"/></a><br/>
                     27:     </xsl:for-each>
                     28:   </xsl:template>
                     29:   <xsl:template match="type" mode="reflist">
                     30:     <h2>Type <xsl:value-of select="@name"/>:</h2>
                     31:     <p>
                     32:       <xsl:for-each select="ref">
                     33:         <xsl:apply-templates mode="anchor" select="."/>
                     34:        <xsl:text>
                     35: </xsl:text>
                     36:       </xsl:for-each>
                     37:     </p>
                     38:   </xsl:template>
                     39:   <xsl:template match="letter" mode="reflist">
                     40:     <h2>Letter <xsl:value-of select="@name"/>:</h2>
                     41:     <p>
                     42:       <xsl:for-each select="ref">
                     43:         <xsl:apply-templates mode="anchor" select="."/>
                     44:        <xsl:text>
                     45: </xsl:text>
                     46:       </xsl:for-each>
                     47:     </p>
                     48:   </xsl:template>
                     49:   <xsl:template match="file" mode="reflist">
                     50:     <h2><a name="{@name}">Module <xsl:value-of select="@name"/></a>:</h2>
                     51:     <p>
                     52:       <xsl:for-each select="ref">
                     53:         <xsl:apply-templates mode="anchor" select="."/>
                     54:        <xsl:text>
                     55: </xsl:text>
                     56:       </xsl:for-each>
                     57:     </p>
                     58:   </xsl:template>
                     59:   <xsl:template match="letter" mode="wordlist">
                     60:     <h2>Letter <xsl:value-of select="@name"/>:</h2>
                     61:     <dl>
                     62:       <xsl:for-each select="word">
                     63:         <dt><xsl:value-of select="@name"/></dt>
                     64:        <dd>
                     65:        <xsl:for-each select="ref">
                     66:          <xsl:apply-templates mode="anchor" select="."/>
                     67:          <xsl:text>
                     68: </xsl:text>
                     69:        </xsl:for-each>
                     70:        </dd>
                     71:       </xsl:for-each>
                     72:     </dl>
                     73:   </xsl:template>
                     74: 
                     75:   <xsl:template match="constructors">
                     76:     <xsl:message>Generating API Constructors</xsl:message>
                     77:     <xsl:variable name="title">List of constructors for <xsl:value-of select="$module"/></xsl:variable>
                     78:     <xsl:document href="APIconstructors.html" method="xml" encoding="UTF-8"
                     79:       doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
                     80:       doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
                     81:       <html>
                     82:         <head>
                     83:         <xsl:call-template name="style"/>
                     84:        <xsl:element name="title">
                     85:          <xsl:value-of select="$title"/>
                     86:        </xsl:element>
                     87:         </head>
                     88:         <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
                     89:           <xsl:call-template name="titlebox">
                     90:            <xsl:with-param name="title" select="$title"/>
                     91:          </xsl:call-template>
                     92:           <table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
                     93:             <tr>
                     94:               <td bgcolor="#8b7765">
                     95:                 <table border="0" cellspacing="0" cellpadding="2" width="100%">
                     96:                   <tr>
                     97:                     <td valign="top" width="200" bgcolor="#8b7765">
                     98:                       <xsl:call-template name="develtoc"/>
                     99:                     </td>
                    100:                     <td valign="top" bgcolor="#8b7765">
                    101:                       <table border="0" cellspacing="0" cellpadding="1" width="100%">
                    102:                         <tr>
                    103:                           <td>
                    104:                             <table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
                    105:                               <tr>
                    106:                                 <td>
                    107:                                   <table border="0" cellpadding="3" cellspacing="1" width="100%">
                    108:                                     <tr>
                    109:                                       <td bgcolor="#fffacd">
                    110:                                        <xsl:apply-templates mode="reflist" select="type"/>
                    111:                                        <p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
                    112:                                       </td>
                    113:                                     </tr>
                    114:                                   </table>
                    115:                                 </td>
                    116:                               </tr>
                    117:                             </table>
                    118:                           </td>
                    119:                         </tr>
                    120:                       </table>
                    121:                     </td>
                    122:                   </tr>
                    123:                 </table>
                    124:               </td>
                    125:             </tr>
                    126:           </table>
                    127:         </body>
                    128:       </html>
                    129:     </xsl:document>
                    130:   </xsl:template>
                    131:   <xsl:template match="files">
                    132:     <xsl:message>Generating API List of synbols per file</xsl:message>
                    133:     <xsl:variable name="title">List of Symbols per Module for <xsl:value-of select="$module"/></xsl:variable>
                    134:     <xsl:document href="APIfiles.html" method="xml" encoding="UTF-8"
                    135:       doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
                    136:       doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
                    137:       <html>
                    138:         <head>
                    139:         <xsl:call-template name="style"/>
                    140:        <xsl:element name="title">
                    141:          <xsl:value-of select="$title"/>
                    142:        </xsl:element>
                    143:         </head>
                    144:         <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
                    145:           <xsl:call-template name="titlebox">
                    146:            <xsl:with-param name="title" select="$title"/>
                    147:          </xsl:call-template>
                    148:           <table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
                    149:             <tr>
                    150:               <td bgcolor="#8b7765">
                    151:                 <table border="0" cellspacing="0" cellpadding="2" width="100%">
                    152:                   <tr>
                    153:                     <td valign="top" width="200" bgcolor="#8b7765">
                    154:                       <xsl:call-template name="develtoc"/>
                    155:                     </td>
                    156:                     <td valign="top" bgcolor="#8b7765">
                    157:                       <table border="0" cellspacing="0" cellpadding="1" width="100%">
                    158:                         <tr>
                    159:                           <td>
                    160:                             <table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
                    161:                               <tr>
                    162:                                 <td>
                    163:                                   <table border="0" cellpadding="3" cellspacing="1" width="100%">
                    164:                                     <tr>
                    165:                                       <td bgcolor="#fffacd">
                    166:                                        <xsl:apply-templates mode="reflist" select="file"/>
                    167:                                        <p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
                    168:                                       </td>
                    169:                                     </tr>
                    170:                                   </table>
                    171:                                 </td>
                    172:                               </tr>
                    173:                             </table>
                    174:                           </td>
                    175:                         </tr>
                    176:                       </table>
                    177:                     </td>
                    178:                   </tr>
                    179:                 </table>
                    180:               </td>
                    181:             </tr>
                    182:           </table>
                    183:         </body>
                    184:       </html>
                    185:     </xsl:document>
                    186:   </xsl:template>
                    187:   <xsl:template match="functions">
                    188:     <xsl:message>Generating API Functions by Type</xsl:message>
                    189:     <xsl:variable name="title">List of function manipulating types in <xsl:value-of select="$module"/></xsl:variable>
                    190:     <xsl:document href="APIfunctions.html" method="xml" encoding="UTF-8"
                    191:       doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
                    192:       doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
                    193:       <html>
                    194:         <head>
                    195:         <xsl:call-template name="style"/>
                    196:        <xsl:element name="title">
                    197:          <xsl:value-of select="$title"/>
                    198:        </xsl:element>
                    199:         </head>
                    200:         <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
                    201:           <xsl:call-template name="titlebox">
                    202:            <xsl:with-param name="title" select="$title"/>
                    203:          </xsl:call-template>
                    204:           <table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
                    205:             <tr>
                    206:               <td bgcolor="#8b7765">
                    207:                 <table border="0" cellspacing="0" cellpadding="2" width="100%">
                    208:                   <tr>
                    209:                     <td valign="top" width="200" bgcolor="#8b7765">
                    210:                       <xsl:call-template name="develtoc"/>
                    211:                     </td>
                    212:                     <td valign="top" bgcolor="#8b7765">
                    213:                       <table border="0" cellspacing="0" cellpadding="1" width="100%">
                    214:                         <tr>
                    215:                           <td>
                    216:                             <table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
                    217:                               <tr>
                    218:                                 <td>
                    219:                                   <table border="0" cellpadding="3" cellspacing="1" width="100%">
                    220:                                     <tr>
                    221:                                       <td bgcolor="#fffacd">
                    222:                                        <xsl:apply-templates mode="reflist" select="type"/>
                    223:                                        <p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
                    224:                                       </td>
                    225:                                     </tr>
                    226:                                   </table>
                    227:                                 </td>
                    228:                               </tr>
                    229:                             </table>
                    230:                           </td>
                    231:                         </tr>
                    232:                       </table>
                    233:                     </td>
                    234:                   </tr>
                    235:                 </table>
                    236:               </td>
                    237:             </tr>
                    238:           </table>
                    239:         </body>
                    240:       </html>
                    241:     </xsl:document>
                    242:   </xsl:template>
                    243:   <xsl:template match="alpha">
                    244:     <xsl:message>Generating API Alphabetic list</xsl:message>
                    245:     <xsl:variable name="title">Alphabetic List of Symbols in <xsl:value-of select="$module"/></xsl:variable>
                    246:     <xsl:document href="APIsymbols.html" method="xml" encoding="UTF-8"
                    247:       doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
                    248:       doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
                    249:       <html>
                    250:         <head>
                    251:         <xsl:call-template name="style"/>
                    252:        <xsl:element name="title">
                    253:          <xsl:value-of select="$title"/>
                    254:        </xsl:element>
                    255:         </head>
                    256:         <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
                    257:           <xsl:call-template name="titlebox">
                    258:            <xsl:with-param name="title" select="$title"/>
                    259:          </xsl:call-template>
                    260:           <table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
                    261:             <tr>
                    262:               <td bgcolor="#8b7765">
                    263:                 <table border="0" cellspacing="0" cellpadding="2" width="100%">
                    264:                   <tr>
                    265:                     <td valign="top" width="200" bgcolor="#8b7765">
                    266:                       <xsl:call-template name="develtoc"/>
                    267:                     </td>
                    268:                     <td valign="top" bgcolor="#8b7765">
                    269:                       <table border="0" cellspacing="0" cellpadding="1" width="100%">
                    270:                         <tr>
                    271:                           <td>
                    272:                             <table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
                    273:                               <tr>
                    274:                                 <td>
                    275:                                   <table border="0" cellpadding="3" cellspacing="1" width="100%">
                    276:                                     <tr>
                    277:                                       <td bgcolor="#fffacd">
                    278:                                        <xsl:apply-templates mode="reflist" select="letter"/>
                    279:                                        <p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
                    280:                                       </td>
                    281:                                     </tr>
                    282:                                   </table>
                    283:                                 </td>
                    284:                               </tr>
                    285:                             </table>
                    286:                           </td>
                    287:                         </tr>
                    288:                       </table>
                    289:                     </td>
                    290:                   </tr>
                    291:                 </table>
                    292:               </td>
                    293:             </tr>
                    294:           </table>
                    295:         </body>
                    296:       </html>
                    297:     </xsl:document>
                    298:   </xsl:template>
                    299:   <xsl:template name="apichunks">
                    300:     <h2 align="center">
                    301:     <xsl:for-each select="/apirefs/index/chunks/chunk">
                    302:       <xsl:variable name="name" select="@name"/>
                    303:       <xsl:variable name="start" select="@start"/>
                    304:       <xsl:variable name="end" select="@end"/>
                    305:       <xsl:variable name="block" select="concat($start, '-', $end)"/>
                    306:       <a href="API{$name}.html"><xsl:value-of select="$block"/></a>
                    307:       <xsl:text>
                    308: </xsl:text>
                    309:     </xsl:for-each>
                    310:     </h2>
                    311:   </xsl:template>
                    312:   <xsl:template match="chunk">
                    313:     <xsl:variable name="name" select="@name"/>
                    314:     <xsl:variable name="start" select="@start"/>
                    315:     <xsl:variable name="end" select="@end"/>
                    316:     <xsl:variable name="block" select="concat($start, '-', $end)"/>
                    317:     <xsl:variable name="target" select="/apirefs/index/chunk[@name = $name]"/>
                    318:     <xsl:variable name="title">API Alphabetic Index <xsl:value-of select="$block"/> for <xsl:value-of select="$module"/></xsl:variable>
                    319:     <xsl:document href="API{$name}.html" method="xml" encoding="UTF-8"
                    320:       doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
                    321:       doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
                    322:       <html>
                    323:         <head>
                    324:         <xsl:call-template name="style"/>
                    325:        <xsl:element name="title">
                    326:          <xsl:value-of select="$title"/>
                    327:        </xsl:element>
                    328:         </head>
                    329:         <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
                    330:           <xsl:call-template name="titlebox">
                    331:            <xsl:with-param name="title" select="$title"/>
                    332:          </xsl:call-template>
                    333:           <table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
                    334:             <tr>
                    335:               <td bgcolor="#8b7765">
                    336:                 <table border="0" cellspacing="0" cellpadding="2" width="100%">
                    337:                   <tr>
                    338:                     <td valign="top" width="200" bgcolor="#8b7765">
                    339:                       <xsl:call-template name="develtoc"/>
                    340:                     </td>
                    341:                     <td valign="top" bgcolor="#8b7765">
                    342:                       <table border="0" cellspacing="0" cellpadding="1" width="100%">
                    343:                         <tr>
                    344:                           <td>
                    345:                             <table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
                    346:                               <tr>
                    347:                                 <td>
                    348:                                   <table border="0" cellpadding="3" cellspacing="1" width="100%">
                    349:                                     <tr>
                    350:                                       <td bgcolor="#fffacd">
                    351:                                        <xsl:call-template name="apichunks"/>
                    352:                                        <xsl:apply-templates mode="wordlist"
                    353:                                                   select="$target/letter"/>
                    354:                                        <xsl:call-template name="apichunks"/>
                    355:                                        <p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
                    356:                                       </td>
                    357:                                     </tr>
                    358:                                   </table>
                    359:                                 </td>
                    360:                               </tr>
                    361:                             </table>
                    362:                           </td>
                    363:                         </tr>
                    364:                       </table>
                    365:                     </td>
                    366:                   </tr>
                    367:                 </table>
                    368:               </td>
                    369:             </tr>
                    370:           </table>
                    371:         </body>
                    372:       </html>
                    373:     </xsl:document>
                    374:   </xsl:template>
                    375: 
                    376:   <xsl:template match="index">
                    377:     <xsl:message>Generating API Index</xsl:message>
                    378:     <xsl:apply-templates select="chunks/chunk"/>
                    379:   </xsl:template>
                    380: 
                    381:   <xsl:template match="apirefs">
                    382:     <xsl:message>Generating API Cross References</xsl:message>
                    383:     <xsl:apply-templates select="constructors"/>
                    384:     <xsl:apply-templates select="functions"/>
                    385:     <xsl:apply-templates select="alpha"/>
                    386:     <xsl:apply-templates select="files"/>
                    387:     <xsl:apply-templates select="index"/>
                    388:   </xsl:template>
                    389: 
                    390:   <xsl:template match="/">
                    391:     <xsl:apply-templates select="$apirefs/apirefs"/>
                    392:   </xsl:template>
                    393: 
                    394: </xsl:stylesheet>

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>