Annotation of embedaddon/libxml2/doc/site.xsl, revision 1.1

1.1     ! misho       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://codespeak.net/lxml/">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>