File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / libxml2 / doc / site.xsl
Revision 1.1.1.2 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Mon Jul 22 01:22:23 2013 UTC (10 years, 11 months ago) by misho
Branches: libxml2, MAIN
CVS tags: v2_9_1p0, v2_9_1, v2_8_0p0, v2_8_0, HEAD
2.8.0

    1: <?xml version="1.0"?>
    2: <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    3:   <xsl:output method="xml" encoding="UTF-8" indent="yes"
    4:       doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
    5:       doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
    6: 
    7:   <xsl:variable name="href_base" select="''"/>
    8:   <xsl:variable name="menu_name">Main Menu</xsl:variable>
    9: <!--
   10:  - returns the filename associated to an ID in the original file
   11:  -->
   12:   <xsl:template name="tocfilename">
   13:     <xsl:param name="name" select="string(@href)"/>
   14:     <xsl:choose>
   15:       <xsl:when test="$name = '#Introducti'">
   16:         <xsl:text>intro.html</xsl:text>
   17:       </xsl:when>
   18:       <xsl:when test="$name = '#Documentat'">
   19:         <xsl:text>docs.html</xsl:text>
   20:       </xsl:when>
   21:       <xsl:when test="$name = '#Reporting'">
   22:         <xsl:text>bugs.html</xsl:text>
   23:       </xsl:when>
   24:       <xsl:when test="$name = '#help'">
   25:         <xsl:text>help.html</xsl:text>
   26:       </xsl:when>
   27:       <xsl:when test="$name = '#Help'">
   28:         <xsl:text>help.html</xsl:text>
   29:       </xsl:when>
   30:       <xsl:when test="$name = '#Downloads'">
   31:         <xsl:text>downloads.html</xsl:text>
   32:       </xsl:when>
   33:       <xsl:when test="$name = '#News'">
   34:         <xsl:text>news.html</xsl:text>
   35:       </xsl:when>
   36:       <xsl:when test="$name = '#Contributi'">
   37:         <xsl:text>contribs.html</xsl:text>
   38:       </xsl:when>
   39:       <xsl:when test="$name = '#xsltproc'">
   40:         <xsl:text>xsltproc2.html</xsl:text>
   41:       </xsl:when>
   42:       <xsl:when test="$name = '#API'">
   43:         <xsl:text></xsl:text>
   44:       </xsl:when>
   45:       <xsl:when test="$name = '#XSLT'">
   46:         <xsl:text>XSLT.html</xsl:text>
   47:       </xsl:when>
   48:       <xsl:when test="$name = '#XML'">
   49:         <xsl:text>XMLinfo.html</xsl:text>
   50:       </xsl:when>
   51:       <xsl:when test="$name = '#Validation'">
   52:         <xsl:text>xmldtd.html</xsl:text>
   53:       </xsl:when>
   54:       <xsl:when test="$name = '#tree'">
   55:         <xsl:text></xsl:text>
   56:       </xsl:when>
   57:       <xsl:when test="$name = '#library'">
   58:         <xsl:text></xsl:text>
   59:       </xsl:when>
   60:       <xsl:when test="$name = '#interface'">
   61:         <xsl:text></xsl:text>
   62:       </xsl:when>
   63:       <xsl:when test="$name = '#Example'">
   64:         <xsl:text></xsl:text>
   65:       </xsl:when>
   66:       <xsl:when test="$name = '#Entities'">
   67:         <xsl:text></xsl:text>
   68:       </xsl:when>
   69:       <xsl:when test="$name = '#architecture'">
   70:         <xsl:text></xsl:text>
   71:       </xsl:when>
   72:       <xsl:when test="$name = '#Namespaces'">
   73:         <xsl:text>namespaces.html</xsl:text>
   74:       </xsl:when>
   75:       <xsl:when test="$name = '#DOM'">
   76:         <xsl:text></xsl:text>
   77:       </xsl:when>
   78:       <xsl:when test="$name = '#Catalog'">
   79:         <xsl:text>catalog.html</xsl:text>
   80:       </xsl:when>
   81:       <xsl:when test="$name = '#Upgrading'">
   82:         <xsl:text></xsl:text>
   83:       </xsl:when>
   84:       <xsl:when test="$name = '#Encodings'">
   85:         <xsl:text>encoding.html</xsl:text>
   86:       </xsl:when>
   87:       <xsl:when test="$name = '#IO'">
   88:         <xsl:text></xsl:text>
   89:       </xsl:when>
   90:       <xsl:when test="$name = '#Memory'">
   91:         <xsl:text></xsl:text>
   92:       </xsl:when>
   93:       <xsl:when test="$name = '#Thread'">
   94:         <xsl:text></xsl:text>
   95:       </xsl:when>
   96:       <xsl:when test="$name = '#FAQ'">
   97:         <xsl:text>FAQ.html</xsl:text>
   98:       </xsl:when>
   99:       <xsl:when test="$name = '#Python'">
  100:         <xsl:text></xsl:text>
  101:       </xsl:when>
  102:       <xsl:when test="$name = ''">
  103:         <xsl:text>unknown.html</xsl:text>
  104:       </xsl:when>
  105:       <xsl:otherwise>
  106:         <xsl:value-of select="$name"/>
  107:       </xsl:otherwise>
  108:     </xsl:choose>
  109:   </xsl:template>
  110:   <xsl:template name="docfilename">
  111:     <xsl:param name="name" select="string(@href)"/>
  112:     <xsl:choose>
  113:       <xsl:when test="$name = '#Introducti'">
  114:         <xsl:text></xsl:text>
  115:       </xsl:when>
  116:       <xsl:when test="$name = '#Documentat'">
  117:         <xsl:text></xsl:text>
  118:       </xsl:when>
  119:       <xsl:when test="$name = '#Reporting'">
  120:         <xsl:text></xsl:text>
  121:       </xsl:when>
  122:       <xsl:when test="$name = '#help'">
  123:         <xsl:text></xsl:text>
  124:       </xsl:when>
  125:       <xsl:when test="$name = '#Help'">
  126:         <xsl:text></xsl:text>
  127:       </xsl:when>
  128:       <xsl:when test="$name = '#Downloads'">
  129:         <xsl:text></xsl:text>
  130:       </xsl:when>
  131:       <xsl:when test="$name = '#News'">
  132:         <xsl:text></xsl:text>
  133:       </xsl:when>
  134:       <xsl:when test="$name = '#Contributi'">
  135:         <xsl:text></xsl:text>
  136:       </xsl:when>
  137:       <xsl:when test="$name = '#xsltproc'">
  138:         <xsl:text>xsltproc2.html</xsl:text>
  139:       </xsl:when>
  140:       <xsl:when test="$name = '#API'">
  141:         <xsl:text>API.html</xsl:text>
  142:       </xsl:when>
  143:       <xsl:when test="$name = '#XSLT'">
  144:         <xsl:text>XSLT.html</xsl:text>
  145:       </xsl:when>
  146:       <xsl:when test="$name = '#XML'">
  147:         <xsl:text></xsl:text>
  148:       </xsl:when>
  149:       <xsl:when test="$name = '#Validation'">
  150:         <xsl:text></xsl:text>
  151:       </xsl:when>
  152:       <xsl:when test="$name = '#tree'">
  153:         <xsl:text>tree.html</xsl:text>
  154:       </xsl:when>
  155:       <xsl:when test="$name = '#library'">
  156:         <xsl:text>library.html</xsl:text>
  157:       </xsl:when>
  158:       <xsl:when test="$name = '#interface'">
  159:         <xsl:text>interface.html</xsl:text>
  160:       </xsl:when>
  161:       <xsl:when test="$name = '#Example'">
  162:         <xsl:text>example.html</xsl:text>
  163:       </xsl:when>
  164:       <xsl:when test="$name = '#Entities'">
  165:         <xsl:text>entities.html</xsl:text>
  166:       </xsl:when>
  167:       <xsl:when test="$name = '#architecture'">
  168:         <xsl:text>architecture.html</xsl:text>
  169:       </xsl:when>
  170:       <xsl:when test="$name = '#Namespaces'">
  171:         <xsl:text>namespaces.html</xsl:text>
  172:       </xsl:when>
  173:       <xsl:when test="$name = '#DOM'">
  174:         <xsl:text>DOM.html</xsl:text>
  175:       </xsl:when>
  176:       <xsl:when test="$name = '#Catalog'">
  177:         <xsl:text></xsl:text>
  178:       </xsl:when>
  179:       <xsl:when test="$name = '#Upgrading'">
  180:         <xsl:text>upgrade.html</xsl:text>
  181:       </xsl:when>
  182:       <xsl:when test="$name = '#Encodings'">
  183:         <xsl:text></xsl:text>
  184:       </xsl:when>
  185:       <xsl:when test="$name = '#IO'">
  186:         <xsl:text>xmlio.html</xsl:text>
  187:       </xsl:when>
  188:       <xsl:when test="$name = '#Memory'">
  189:         <xsl:text>xmlmem.html</xsl:text>
  190:       </xsl:when>
  191:       <xsl:when test="$name = '#Thread'">
  192:         <xsl:text>threads.html</xsl:text>
  193:       </xsl:when>
  194:       <xsl:when test="$name = '#FAQ'">
  195:         <xsl:text></xsl:text>
  196:       </xsl:when>
  197:       <xsl:when test="$name = '#Python'">
  198:         <xsl:text>python.html</xsl:text>
  199:       </xsl:when>
  200:       <xsl:when test="$name = ''">
  201:         <xsl:text>unknown.html</xsl:text>
  202:       </xsl:when>
  203:       <xsl:otherwise>
  204:         <xsl:value-of select="$name"/>
  205:       </xsl:otherwise>
  206:     </xsl:choose>
  207:   </xsl:template>
  208:   <xsl:template name="filename">
  209:     <xsl:param name="name" select="string(@href)"/>
  210:     <xsl:choose>
  211:       <xsl:when test="$name = '#Introducti'">
  212:         <xsl:text>intro.html</xsl:text>
  213:       </xsl:when>
  214:       <xsl:when test="$name = '#Documentat'">
  215:         <xsl:text>docs.html</xsl:text>
  216:       </xsl:when>
  217:       <xsl:when test="$name = '#Reporting'">
  218:         <xsl:text>bugs.html</xsl:text>
  219:       </xsl:when>
  220:       <xsl:when test="$name = '#help'">
  221:         <xsl:text>help.html</xsl:text>
  222:       </xsl:when>
  223:       <xsl:when test="$name = '#Help'">
  224:         <xsl:text>help.html</xsl:text>
  225:       </xsl:when>
  226:       <xsl:when test="$name = '#Downloads'">
  227:         <xsl:text>downloads.html</xsl:text>
  228:       </xsl:when>
  229:       <xsl:when test="$name = '#News'">
  230:         <xsl:text>news.html</xsl:text>
  231:       </xsl:when>
  232:       <xsl:when test="$name = '#Contributi'">
  233:         <xsl:text>contribs.html</xsl:text>
  234:       </xsl:when>
  235:       <xsl:when test="$name = '#xsltproc'">
  236:         <xsl:text>xsltproc2.html</xsl:text>
  237:       </xsl:when>
  238:       <xsl:when test="$name = '#API'">
  239:         <xsl:text>API.html</xsl:text>
  240:       </xsl:when>
  241:       <xsl:when test="$name = '#XSLT'">
  242:         <xsl:text>XSLT.html</xsl:text>
  243:       </xsl:when>
  244:       <xsl:when test="$name = '#XML'">
  245:         <xsl:text>XMLinfo.html</xsl:text>
  246:       </xsl:when>
  247:       <xsl:when test="$name = '#Validation'">
  248:         <xsl:text>xmldtd.html</xsl:text>
  249:       </xsl:when>
  250:       <xsl:when test="$name = '#tree'">
  251:         <xsl:text>tree.html</xsl:text>
  252:       </xsl:when>
  253:       <xsl:when test="$name = '#library'">
  254:         <xsl:text>library.html</xsl:text>
  255:       </xsl:when>
  256:       <xsl:when test="$name = '#interface'">
  257:         <xsl:text>interface.html</xsl:text>
  258:       </xsl:when>
  259:       <xsl:when test="$name = '#Example'">
  260:         <xsl:text>example.html</xsl:text>
  261:       </xsl:when>
  262:       <xsl:when test="$name = '#Entities'">
  263:         <xsl:text>entities.html</xsl:text>
  264:       </xsl:when>
  265:       <xsl:when test="$name = '#architecture'">
  266:         <xsl:text>architecture.html</xsl:text>
  267:       </xsl:when>
  268:       <xsl:when test="$name = '#Namespaces'">
  269:         <xsl:text>namespaces.html</xsl:text>
  270:       </xsl:when>
  271:       <xsl:when test="$name = '#DOM'">
  272:         <xsl:text>DOM.html</xsl:text>
  273:       </xsl:when>
  274:       <xsl:when test="$name = '#Catalog'">
  275:         <xsl:text>catalog.html</xsl:text>
  276:       </xsl:when>
  277:       <xsl:when test="$name = '#Upgrading'">
  278:         <xsl:text>upgrade.html</xsl:text>
  279:       </xsl:when>
  280:       <xsl:when test="$name = '#Encodings'">
  281:         <xsl:text>encoding.html</xsl:text>
  282:       </xsl:when>
  283:       <xsl:when test="$name = '#IO'">
  284:         <xsl:text>xmlio.html</xsl:text>
  285:       </xsl:when>
  286:       <xsl:when test="$name = '#Memory'">
  287:         <xsl:text>xmlmem.html</xsl:text>
  288:       </xsl:when>
  289:       <xsl:when test="$name = '#Thread'">
  290:         <xsl:text>threads.html</xsl:text>
  291:       </xsl:when>
  292:       <xsl:when test="$name = '#FAQ'">
  293:         <xsl:text>FAQ.html</xsl:text>
  294:       </xsl:when>
  295:       <xsl:when test="$name = '#Python'">
  296:         <xsl:text>python.html</xsl:text>
  297:       </xsl:when>
  298:       <xsl:when test="$name = ''">
  299:         <xsl:text>unknown.html</xsl:text>
  300:       </xsl:when>
  301:       <xsl:otherwise>
  302:         <xsl:value-of select="$name"/>
  303:       </xsl:otherwise>
  304:     </xsl:choose>
  305:   </xsl:template>
  306: <!--
  307:  - The global title
  308:  -->
  309:   <xsl:variable name="globaltitle" select="string(/html/body/h1[1])"/>
  310: <!--
  311:  - The table of content
  312:  -->
  313:   <xsl:variable name="toc">
  314:     <form action="search.php"
  315:           enctype="application/x-www-form-urlencoded" method="get">
  316:       <input name="query" type="text" size="20" value=""/>
  317:       <input name="submit" type="submit" value="Search ..."/>
  318:     </form>
  319:     <ul><!-- style="margin-left: -1em" -->
  320:       <li><a href="index.html">Home</a></li>
  321:       <!--<li><a href="http://xmlsoft.org/wiki">Wiki</a></li> -->
  322:       <li><a href="html/index.html">Reference Manual</a></li>
  323:       <xsl:for-each select="/html/body/h2">
  324:         <xsl:variable name="filename">
  325:           <xsl:call-template name="tocfilename">
  326:             <xsl:with-param name="name" select="concat('#', string(a[1]/@name))"/>
  327:           </xsl:call-template>
  328:         </xsl:variable>
  329: 	<xsl:if test="$filename != ''">
  330: 	  <li>
  331: 	    <xsl:element name="a">
  332: 	      <xsl:attribute name="href">
  333: 	        <xsl:value-of select="$filename"/>
  334: 	      </xsl:attribute>
  335: 	      <xsl:if test="$filename = 'docs.html'">
  336: 		  <xsl:attribute name="style">font-weight:bold</xsl:attribute>
  337: 	      </xsl:if>
  338: 	      <xsl:value-of select="."/>
  339: 	    </xsl:element>
  340: 	  </li>
  341: 	</xsl:if>
  342:       </xsl:for-each>
  343:       <li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li>
  344:       <li><a href="html/index.html" style="font-weight:bold">API Menu</a></li>
  345:       <li><a href="guidelines.html">XML Guidelines</a></li>
  346:       <li><a href="ChangeLog.html">Recent Changes</a></li>
  347:     </ul>
  348:   </xsl:variable>
  349:   <xsl:variable name="develtoc">
  350:     <form action="search.php"
  351:           enctype="application/x-www-form-urlencoded" method="get">
  352:       <input name="query" type="text" size="20" value=""/>
  353:       <input name="submit" type="submit" value="Search ..."/>
  354:     </form>
  355:     <ul><!-- style="margin-left: -1em" -->
  356:       <li><a href="index.html" style="font-weight:bold">Main Menu</a></li>
  357:       <li><a href="html/index.html" style="font-weight:bold">Reference Manual</a></li>
  358:       <li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li>
  359:       <li><a href="guidelines.html">XML Guidelines</a></li>
  360:       <li><a href="tutorial/index.html">Tutorial</a></li>
  361:       <li><a href="xmlreader.html">The Reader Interface</a></li>
  362:       <li><a href="ChangeLog.html">ChangeLog</a></li>
  363:       <xsl:for-each select="/html/body/h2">
  364:         <xsl:variable name="filename">
  365:           <xsl:call-template name="docfilename">
  366:             <xsl:with-param name="name" select="concat('#', string(a[1]/@name))"/>
  367:           </xsl:call-template>
  368:         </xsl:variable>
  369: 	<xsl:if test="$filename != ''">
  370: 	  <li>
  371: 	    <xsl:element name="a">
  372: 	      <xsl:attribute name="href">
  373: 	        <xsl:value-of select="$filename"/>
  374: 	      </xsl:attribute>
  375: 	      <xsl:value-of select="."/>
  376: 	    </xsl:element>
  377: 	  </li>
  378: 	</xsl:if>
  379:       </xsl:for-each>
  380:       <li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a></li>
  381:     </ul>
  382:   </xsl:variable>
  383:   <xsl:variable name="api">
  384:     <ul><!-- style="margin-left: -1em" -->
  385:       <li><a href="{$href_base}APIchunk0.html">Alphabetic</a></li>
  386:       <li><a href="{$href_base}APIconstructors.html">Constructors</a></li>
  387:       <li><a href="{$href_base}APIfunctions.html">Functions/Types</a></li>
  388:       <li><a href="{$href_base}APIfiles.html">Modules</a></li>
  389:       <li><a href="{$href_base}APIsymbols.html">Symbols</a></li>
  390:     </ul>
  391:   </xsl:variable>
  392:   <xsl:variable name="related">
  393:     <ul><!-- style="margin-left: -1em" -->
  394:       <li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li>
  395:       <li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li>
  396:       <li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li>
  397:       <li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li>
  398:       <li><a href="ftp://xmlsoft.org/">FTP</a></li>
  399:       <li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li>
  400:       <li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li>
  401:       <li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li>
  402:       <li><a href="http://lxml.de/">lxml Python bindings</a></li>
  403:       <li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li>
  404:       <li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li>
  405:       <li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li>
  406:       <li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li>
  407:       <li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li>
  408:       <li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li>
  409:       <li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li>
  410:     </ul>
  411:   </xsl:variable>
  412:   <xsl:template name="toc">
  413:     <table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
  414:       <tr>
  415:         <td>
  416:           <table width="100%" border="0" cellspacing="1" cellpadding="3">
  417:             <tr>
  418:               <td colspan="1" bgcolor="#eecfa1" align="center">
  419:                 <center>
  420:                   <b><xsl:value-of select="$menu_name"/></b>
  421:                 </center>
  422:               </td>
  423:             </tr>
  424:             <tr>
  425:               <td bgcolor="#fffacd">
  426:                 <xsl:copy-of select="$toc"/>
  427:               </td>
  428:             </tr>
  429:           </table>
  430:           <table width="100%" border="0" cellspacing="1" cellpadding="3">
  431:             <tr>
  432:               <td colspan="1" bgcolor="#eecfa1" align="center">
  433:                 <center>
  434:                   <b>Related links</b>
  435:                 </center>
  436:               </td>
  437:             </tr>
  438:             <tr>
  439:               <td bgcolor="#fffacd">
  440:                 <xsl:copy-of select="$related"/>
  441:               </td>
  442:             </tr>
  443:           </table>
  444:         </td>
  445:       </tr>
  446:     </table>
  447:   </xsl:template>
  448:   <xsl:template name="develtoc">
  449:     <table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
  450:       <tr>
  451:         <td>
  452:           <table width="100%" border="0" cellspacing="1" cellpadding="3">
  453:             <tr>
  454:               <td colspan="1" bgcolor="#eecfa1" align="center">
  455:                 <center>
  456:                   <b>Developer Menu</b>
  457:                 </center>
  458:               </td>
  459:             </tr>
  460:             <tr>
  461:               <td bgcolor="#fffacd">
  462:                 <xsl:copy-of select="$develtoc"/>
  463:               </td>
  464:             </tr>
  465:           </table>
  466:           <table width="100%" border="0" cellspacing="1" cellpadding="3">
  467:             <tr>
  468:               <td colspan="1" bgcolor="#eecfa1" align="center">
  469:                 <center>
  470:                   <b>API Indexes</b>
  471:                 </center>
  472:               </td>
  473:             </tr>
  474:             <tr>
  475:               <td bgcolor="#fffacd">
  476:                 <xsl:copy-of select="$api"/>
  477:               </td>
  478:             </tr>
  479:           </table>
  480:           <table width="100%" border="0" cellspacing="1" cellpadding="3">
  481:             <tr>
  482:               <td colspan="1" bgcolor="#eecfa1" align="center">
  483:                 <center>
  484:                   <b>Related links</b>
  485:                 </center>
  486:               </td>
  487:             </tr>
  488:             <tr>
  489:               <td bgcolor="#fffacd">
  490:                 <xsl:copy-of select="$related"/>
  491:               </td>
  492:             </tr>
  493:           </table>
  494:         </td>
  495:       </tr>
  496:     </table>
  497:   </xsl:template>
  498:   <xsl:template mode="head" match="title">
  499:     <title>
  500:       <xsl:apply-templates/>
  501:     </title>
  502:   </xsl:template>
  503:   <xsl:template mode="head" match="meta">
  504: </xsl:template>
  505: <!--
  506:  - Write the styles in the head
  507:  -->
  508:   <xsl:template name="style">
  509:     <link rel="SHORTCUT ICON" href="/favicon.ico"/> 
  510:     <style type="text/css">
  511: TD {font-family: Verdana,Arial,Helvetica}
  512: BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
  513: H1 {font-family: Verdana,Arial,Helvetica}
  514: H2 {font-family: Verdana,Arial,Helvetica}
  515: H3 {font-family: Verdana,Arial,Helvetica}
  516: A:link, A:visited, A:active { text-decoration: underline }
  517: </style>
  518:   </xsl:template>
  519: <!--
  520:  - Write the title box on top
  521:  -->
  522:   <xsl:template name="titlebox">
  523:     <xsl:param name="title" select="'Main Page'"/>
  524:     <table border="0" width="100%" cellpadding="5" cellspacing="0" align="center">
  525:     <tr>
  526:     <td width="120">
  527:     <a href="http://swpat.ffii.org/"><img src="{$href_base}epatents.png" alt="Action against software patents"/></a>
  528:     </td>
  529:     <td width="180">
  530:     <a href="http://www.gnome.org/"><img src="{$href_base}gnome2.png" alt="Gnome2 Logo"/></a>
  531:     <a href="http://www.w3.org/Status"><img src="{$href_base}w3c.png" alt="W3C Logo"/></a>
  532:     <a href="http://www.redhat.com/"><img src="{$href_base}redhat.gif" alt="Red Hat Logo"/></a>
  533:     <div align="left">
  534:     <a href="http://xmlsoft.org/"><img src="{$href_base}Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo"/></a>
  535:     </div>
  536:     </td>
  537:     <td>
  538:     <table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000">
  539:       <tr>
  540:         <td>
  541:           <table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd">
  542:             <tr>
  543:               <td align="center">
  544:                 <xsl:element name="h1">
  545:                   <xsl:value-of select="$globaltitle"/>
  546:                 </xsl:element>
  547:                 <xsl:element name="h2">
  548:                   <xsl:value-of select="$title"/>
  549:                 </xsl:element>
  550:               </td>
  551:             </tr>
  552:           </table>
  553:         </td>
  554:       </tr>
  555:     </table>
  556:     </td>
  557:     </tr>
  558:     </table>
  559:   </xsl:template>
  560: <!--
  561:  - Handling of nodes in the body before the first H2, table of content
  562:  - Everything is just copied over, except href which may get rewritten
  563:  - and h1/h2/a at the top level
  564:  -->
  565:   <xsl:template priority="2" mode="subcontent" match="a">
  566:     <xsl:variable name="filename">
  567:       <xsl:call-template name="filename">
  568:         <xsl:with-param name="name" select="string(@href)"/>
  569:       </xsl:call-template>
  570:     </xsl:variable>
  571:     <xsl:copy>
  572:       <xsl:attribute name="href">
  573:         <xsl:value-of select="$filename"/>
  574:       </xsl:attribute>
  575:       <xsl:apply-templates mode="subcontent" select="node()"/>
  576:     </xsl:copy>
  577:   </xsl:template>
  578:   <xsl:template mode="subcontent" match="@*|node()">
  579:     <xsl:copy>
  580:       <xsl:apply-templates mode="subcontent" select="@*|node()"/>
  581:     </xsl:copy>
  582:   </xsl:template>
  583:   <xsl:template mode="content" match="@*|node()">
  584:     <xsl:if test="name() != 'h1' and name() != 'h2'">
  585:       <xsl:copy>
  586:         <xsl:apply-templates mode="subcontent" select="@*|node()"/>
  587:       </xsl:copy>
  588:     </xsl:if>
  589:   </xsl:template>
  590: <!--
  591:  - Handling of nodes in the body after an H2
  592:  - Open a new file and dump all the siblings up to the next H2
  593:  -->
  594:   <xsl:template name="subfile">
  595:     <xsl:param name="header" select="following-sibling::h2[1]"/>
  596:     <xsl:variable name="filename">
  597:       <xsl:call-template name="filename">
  598:         <xsl:with-param name="name" select="concat('#', string($header/a[1]/@name))"/>
  599:       </xsl:call-template>
  600:     </xsl:variable>
  601:     <xsl:variable name="tocfilename">
  602:       <xsl:call-template name="tocfilename">
  603:         <xsl:with-param name="name" select="concat('#', string($header/a[1]/@name))"/>
  604:       </xsl:call-template>
  605:     </xsl:variable>
  606:     <xsl:variable name="title">
  607:       <xsl:value-of select="$header"/>
  608:     </xsl:variable>
  609:     <xsl:document href="{$filename}" method="xml" encoding="UTF-8"
  610:       doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
  611:       doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  612:       <html>
  613:         <head>
  614:           <xsl:call-template name="style"/>
  615:           <xsl:element name="title">
  616:             <xsl:value-of select="$title"/>
  617:           </xsl:element>
  618:         </head>
  619:         <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
  620:           <xsl:call-template name="titlebox">
  621:             <xsl:with-param name="title" select="$title"/>
  622:           </xsl:call-template>
  623:           <table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
  624:             <tr>
  625:               <td bgcolor="#8b7765">
  626:                 <table border="0" cellspacing="0" cellpadding="2" width="100%">
  627:                   <tr>
  628:                     <td valign="top" width="200" bgcolor="#8b7765">
  629: 		      <xsl:choose>
  630: 		        <xsl:when test="$filename = 'docs.html'">
  631:                           <xsl:call-template name="develtoc"/>
  632: 		        </xsl:when>
  633: 		        <xsl:when test="$tocfilename = ''">
  634:                           <xsl:call-template name="develtoc"/>
  635: 		        </xsl:when>
  636: 		        <xsl:otherwise>
  637:                           <xsl:call-template name="toc"/>
  638: 		        </xsl:otherwise>
  639: 		      </xsl:choose>
  640:                     </td>
  641:                     <td valign="top" bgcolor="#8b7765">
  642:                       <table border="0" cellspacing="0" cellpadding="1" width="100%">
  643:                         <tr>
  644:                           <td>
  645:                             <table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
  646:                               <tr>
  647:                                 <td>
  648:                                   <table border="0" cellpadding="3" cellspacing="1" width="100%">
  649:                                     <tr>
  650:                                       <td bgcolor="#fffacd">
  651:                                         <xsl:apply-templates mode="subfile" select="$header/following-sibling::*[preceding-sibling::h2[1] = $header         and name() != 'h2' ]"/>
  652: 					<p><a href="bugs.html">Daniel Veillard</a></p>
  653:                                       </td>
  654:                                     </tr>
  655:                                   </table>
  656:                                 </td>
  657:                               </tr>
  658:                             </table>
  659:                           </td>
  660:                         </tr>
  661:                       </table>
  662:                     </td>
  663:                   </tr>
  664:                 </table>
  665:               </td>
  666:             </tr>
  667:           </table>
  668:         </body>
  669:       </html>
  670:     </xsl:document>
  671:   </xsl:template>
  672:   <xsl:template mode="subfile" match="@*|node()">
  673:     <xsl:copy>
  674:       <xsl:apply-templates mode="content" select="@*|node()"/>
  675:     </xsl:copy>
  676:   </xsl:template>
  677: <!--
  678:  - Handling of the initial body and head HTML document
  679:  -->
  680:   <xsl:template match="body">
  681:     <xsl:variable name="firsth2" select="./h2[1]"/>
  682:     <xsl:variable name="rest2" select="./h2[position()&gt;1]"/>
  683:     <body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
  684:       <xsl:call-template name="titlebox">
  685:         <xsl:with-param name="title" select="'libxml'"/>
  686:       </xsl:call-template>
  687:       <table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
  688:         <tr>
  689:           <td bgcolor="#8b7765">
  690:             <table border="0" cellspacing="0" cellpadding="2" width="100%">
  691:               <tr>
  692:                 <td valign="top" width="200" bgcolor="#8b7765">
  693:                   <xsl:call-template name="toc"/>
  694:                 </td>
  695:                 <td valign="top" bgcolor="#8b7765">
  696:                   <table border="0" cellspacing="0" cellpadding="1" width="100%">
  697:                     <tr>
  698:                       <td>
  699:                         <table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
  700:                           <tr>
  701:                             <td>
  702:                               <table border="0" cellpadding="3" cellspacing="1" width="100%">
  703:                                 <tr>
  704:                                   <td bgcolor="#fffacd">
  705:                                     <xsl:apply-templates mode="content" select="($firsth2/preceding-sibling::*)"/>
  706:                                     <xsl:for-each select="./h2">
  707:                                       <xsl:call-template name="subfile">
  708:                                         <xsl:with-param name="header" select="."/>
  709:                                       </xsl:call-template>
  710:                                     </xsl:for-each>
  711: 				    <p><a href="bugs.html">Daniel Veillard</a></p>
  712:                                   </td>
  713:                                 </tr>
  714:                               </table>
  715:                             </td>
  716:                           </tr>
  717:                         </table>
  718:                       </td>
  719:                     </tr>
  720:                   </table>
  721:                 </td>
  722:               </tr>
  723:             </table>
  724:           </td>
  725:         </tr>
  726:       </table>
  727:     </body>
  728:   </xsl:template>
  729:   <xsl:template match="head">
  730:     <head>
  731:       <xsl:call-template name="style"/>
  732:       <xsl:apply-templates mode="head"/>
  733:     </head>
  734:   </xsl:template>
  735:   <xsl:template match="html">
  736:     <xsl:message>Generating the Web pages</xsl:message>
  737:     <html>
  738:       <xsl:apply-templates/>
  739:     </html>
  740:   </xsl:template>
  741: </xsl:stylesheet>

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