Annotation of embedaddon/libxml2/doc/devhelp/html.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:                xmlns:exsl="http://exslt.org/common"
        !             4:                xmlns:str="http://exslt.org/strings"
        !             5:                extension-element-prefixes="exsl str"
        !             6:                exclude-result-prefixes="exsl str">
        !             7:   <xsl:output method="xml" encoding="UTF-8" indent="yes"/>
        !             8: 
        !             9:   <!-- This is convoluted but needed to force the current document to
        !            10:        be the API one and not the result tree from the tokenize() result,
        !            11:        because the keys are only defined on the main document -->
        !            12:   <xsl:template mode="dumptoken" match='*'>
        !            13:     <xsl:param name="token"/>
        !            14:     <xsl:variable name="ref" select="key('symbols', $token)"/>
        !            15:     <xsl:choose>
        !            16:       <xsl:when test="$ref">
        !            17:         <a href="libxml2-{$ref/@file}.html#{$ref/@name}"><xsl:value-of select="$token"/></a>
        !            18:       </xsl:when>
        !            19:       <xsl:otherwise>
        !            20:         <xsl:value-of select="$token"/>
        !            21:       </xsl:otherwise>
        !            22:     </xsl:choose>
        !            23:   </xsl:template>
        !            24: 
        !            25:   <!-- dumps a string, making cross-reference links -->
        !            26:   <xsl:template name="dumptext">
        !            27:     <xsl:param name="text"/>
        !            28:     <xsl:variable name="ctxt" select='.'/>
        !            29:     <!-- <xsl:value-of select="$text"/> -->
        !            30:     <xsl:for-each select="str:tokenize($text, ' &#9;')">
        !            31:       <xsl:apply-templates select="$ctxt" mode='dumptoken'>
        !            32:         <xsl:with-param name="token" select="string(.)"/>
        !            33:       </xsl:apply-templates>
        !            34:       <xsl:if test="position() != last()">
        !            35:         <xsl:text> </xsl:text>
        !            36:       </xsl:if>
        !            37:     </xsl:for-each>
        !            38:   </xsl:template>
        !            39: 
        !            40: <!--
        !            41: 
        !            42:              The following builds the Synopsis section
        !            43: 
        !            44: -->
        !            45:   <xsl:template mode="synopsis" match="function">
        !            46:     <xsl:variable name="name" select="string(@name)"/>
        !            47:     <xsl:variable name="nlen" select="string-length($name)"/>
        !            48:     <xsl:variable name="tlen" select="string-length(return/@type)"/>
        !            49:     <xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/>
        !            50:     <xsl:call-template name="dumptext">
        !            51:       <xsl:with-param name="text" select="return/@type"/>
        !            52:     </xsl:call-template>
        !            53:     <xsl:text>&#9;</xsl:text>
        !            54:     <a href="#{@name}"><xsl:value-of select="@name"/></a>
        !            55:     <xsl:if test="$blen - 40 &lt; -8">
        !            56:       <xsl:text>&#9;</xsl:text>
        !            57:     </xsl:if>
        !            58:     <xsl:if test="$blen - 40 &lt; 0">
        !            59:       <xsl:text>&#9;</xsl:text>
        !            60:     </xsl:if>
        !            61:     <xsl:text>&#9;(</xsl:text>
        !            62:     <xsl:if test="not(arg)">
        !            63:       <xsl:text>void</xsl:text>
        !            64:     </xsl:if>
        !            65:     <xsl:for-each select="arg">
        !            66:       <xsl:call-template name="dumptext">
        !            67:         <xsl:with-param name="text" select="@type"/>
        !            68:       </xsl:call-template>
        !            69:       <xsl:text> </xsl:text>
        !            70:       <xsl:value-of select="@name"/>
        !            71:       <xsl:if test="position() != last()">
        !            72:         <xsl:text>, </xsl:text><br/>
        !            73:        <xsl:if test="$blen - 40 &gt; 8">
        !            74:          <xsl:text>&#9;</xsl:text>
        !            75:        </xsl:if>
        !            76:        <xsl:if test="$blen - 40 &gt; 0">
        !            77:          <xsl:text>&#9;</xsl:text>
        !            78:        </xsl:if>
        !            79:        <xsl:text>&#9;&#9;&#9;&#9;&#9; </xsl:text>
        !            80:       </xsl:if>
        !            81:     </xsl:for-each>
        !            82:     <xsl:text>);</xsl:text>
        !            83:     <xsl:text>
        !            84: </xsl:text>
        !            85:   </xsl:template>
        !            86: 
        !            87:   <xsl:template mode="synopsis" match="functype">
        !            88:     <xsl:variable name="name" select="string(@name)"/>
        !            89:     <xsl:variable name="nlen" select="string-length($name)"/>
        !            90:     <xsl:variable name="tlen" select="string-length(return/@type)"/>
        !            91:     <xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/>
        !            92:     <xsl:text>typedef </xsl:text>
        !            93:     <xsl:call-template name="dumptext">
        !            94:       <xsl:with-param name="text" select="return/@type"/>
        !            95:     </xsl:call-template>
        !            96:     <xsl:text> </xsl:text>
        !            97:     <a href="#{@name}"><xsl:value-of select="@name"/></a>
        !            98:     <xsl:if test="$blen - 40 &lt; -8">
        !            99:       <xsl:text>&#9;</xsl:text>
        !           100:     </xsl:if>
        !           101:     <xsl:if test="$blen - 40 &lt; 0">
        !           102:       <xsl:text>&#9;</xsl:text>
        !           103:     </xsl:if>
        !           104:     <xsl:text>&#9;(</xsl:text>
        !           105:     <xsl:if test="not(arg)">
        !           106:       <xsl:text>void</xsl:text>
        !           107:     </xsl:if>
        !           108:     <xsl:for-each select="arg">
        !           109:       <xsl:call-template name="dumptext">
        !           110:         <xsl:with-param name="text" select="@type"/>
        !           111:       </xsl:call-template>
        !           112:       <xsl:text> </xsl:text>
        !           113:       <xsl:value-of select="@name"/>
        !           114:       <xsl:if test="position() != last()">
        !           115:         <xsl:text>, </xsl:text><br/>
        !           116:        <xsl:if test="$blen - 40 &gt; 8">
        !           117:          <xsl:text>&#9;</xsl:text>
        !           118:        </xsl:if>
        !           119:        <xsl:if test="$blen - 40 &gt; 0">
        !           120:          <xsl:text>&#9;</xsl:text>
        !           121:        </xsl:if>
        !           122:        <xsl:text>&#9;&#9;&#9;&#9;&#9; </xsl:text>
        !           123:       </xsl:if>
        !           124:     </xsl:for-each>
        !           125:     <xsl:text>);</xsl:text>
        !           126:     <xsl:text>
        !           127: </xsl:text>
        !           128:   </xsl:template>
        !           129: 
        !           130:   <xsl:template mode="synopsis" match="exports[@type='function']">
        !           131:     <xsl:variable name="def" select="key('symbols',@symbol)"/>
        !           132:     <xsl:apply-templates mode="synopsis" select="$def"/>
        !           133:   </xsl:template>
        !           134: 
        !           135:   <xsl:template mode="synopsis" match="exports[@type='typedef']">
        !           136:     <xsl:text>typedef </xsl:text>
        !           137:     <xsl:call-template name="dumptext">
        !           138:       <xsl:with-param name="text" select="string(key('symbols',@symbol)/@type)"/>
        !           139:     </xsl:call-template>
        !           140:     <xsl:text> </xsl:text>
        !           141:     <a href="#{@symbol}"><xsl:value-of select="@symbol"/></a>
        !           142:     <xsl:text>;
        !           143: </xsl:text>
        !           144:   </xsl:template>
        !           145: 
        !           146:   <xsl:template mode="synopsis" match="exports[@type='macro']">
        !           147:     <xsl:variable name="def" select="key('symbols',@symbol)"/>
        !           148:     <xsl:text>#define </xsl:text>
        !           149:     <a href="#{@symbol}"><xsl:value-of select="@symbol"/></a>
        !           150:     <xsl:if test="$def/arg">
        !           151:       <xsl:text>(</xsl:text>
        !           152:       <xsl:for-each select="$def/arg">
        !           153:         <xsl:value-of select="@name"/>
        !           154:        <xsl:if test="position() != last()">
        !           155:          <xsl:text>, </xsl:text>
        !           156:        </xsl:if>
        !           157:       </xsl:for-each>
        !           158:       <xsl:text>)</xsl:text>
        !           159:     </xsl:if>
        !           160:     <xsl:text>;
        !           161: </xsl:text>
        !           162:   </xsl:template>
        !           163:   <xsl:template mode="synopsis" match="exports[@type='enum']">
        !           164:   </xsl:template>
        !           165:   <xsl:template mode="synopsis" match="exports[@type='struct']">
        !           166:   </xsl:template>
        !           167: 
        !           168: <!--
        !           169: 
        !           170:              The following builds the Details section
        !           171: 
        !           172: -->
        !           173:   <xsl:template mode="details" match="struct">
        !           174:     <xsl:variable name="name" select="string(@name)"/>
        !           175:     <div class="refsect2" lang="en">
        !           176:     <h3><a name="{$name}">Structure </a><xsl:value-of select="$name"/></h3>
        !           177:     <pre class="programlisting">
        !           178:     <xsl:value-of select="@type"/><xsl:text> {
        !           179: </xsl:text>
        !           180:     <xsl:if test="not(field)">
        !           181:       <xsl:text>The content of this structure is not made public by the API.
        !           182: </xsl:text>
        !           183:     </xsl:if>
        !           184:     <xsl:for-each select="field">
        !           185:         <xsl:text>    </xsl:text>
        !           186:        <xsl:call-template name="dumptext">
        !           187:          <xsl:with-param name="text" select="@type"/>
        !           188:        </xsl:call-template>
        !           189:        <xsl:text>&#9;</xsl:text>
        !           190:        <xsl:value-of select="@name"/>
        !           191:        <xsl:if test="@info != ''">
        !           192:          <xsl:text>&#9;: </xsl:text>
        !           193:          <xsl:call-template name="dumptext">
        !           194:            <xsl:with-param name="text" select="substring(@info, 1, 70)"/>
        !           195:          </xsl:call-template>
        !           196:        </xsl:if>
        !           197:        <xsl:text>
        !           198: </xsl:text>
        !           199:     </xsl:for-each>
        !           200:     <xsl:text>} </xsl:text>
        !           201:     <xsl:value-of select="$name"/>
        !           202:     <xsl:text>;
        !           203: </xsl:text>
        !           204:     </pre>
        !           205:     <p>
        !           206:     <xsl:call-template name="dumptext">
        !           207:       <xsl:with-param name="text" select="info"/>
        !           208:     </xsl:call-template>
        !           209:     </p><xsl:text>
        !           210: </xsl:text>
        !           211:     </div><hr/>
        !           212:   </xsl:template>
        !           213: 
        !           214:   <xsl:template mode="details" match="typedef[@type != 'enum']">
        !           215:     <xsl:variable name="name" select="string(@name)"/>
        !           216:     <div class="refsect2" lang="en">
        !           217:     <h3><a name="{$name}">Typedef </a><xsl:value-of select="$name"/></h3>
        !           218:     <pre class="programlisting">
        !           219:     <xsl:call-template name="dumptext">
        !           220:       <xsl:with-param name="text" select="string(@type)"/>
        !           221:     </xsl:call-template>
        !           222:     <xsl:text> </xsl:text>
        !           223:     <xsl:value-of select="$name"/>
        !           224:     <xsl:text>;
        !           225: </xsl:text>
        !           226:     </pre>
        !           227:     <p>
        !           228:     <xsl:call-template name="dumptext">
        !           229:       <xsl:with-param name="text" select="info"/>
        !           230:     </xsl:call-template>
        !           231:     </p><xsl:text>
        !           232: </xsl:text>
        !           233:     </div><hr/>
        !           234:   </xsl:template>
        !           235: 
        !           236:   <xsl:template mode="details" match="variable">
        !           237:     <xsl:variable name="name" select="string(@name)"/>
        !           238:     <div class="refsect2" lang="en">
        !           239:     <h3><a name="{$name}">Variable </a><xsl:value-of select="$name"/></h3>
        !           240:     <pre class="programlisting">
        !           241:     <xsl:call-template name="dumptext">
        !           242:       <xsl:with-param name="text" select="string(@type)"/>
        !           243:     </xsl:call-template>
        !           244:     <xsl:text> </xsl:text>
        !           245:     <xsl:value-of select="$name"/>
        !           246:     <xsl:text>;
        !           247: </xsl:text>
        !           248:     </pre>
        !           249:     <p>
        !           250:     <xsl:call-template name="dumptext">
        !           251:       <xsl:with-param name="text" select="info"/>
        !           252:     </xsl:call-template>
        !           253:     </p><xsl:text>
        !           254: </xsl:text>
        !           255:     </div><hr/>
        !           256:   </xsl:template>
        !           257: 
        !           258:   <xsl:template mode="details" match="typedef[@type = 'enum']">
        !           259:     <xsl:variable name="name" select="string(@name)"/>
        !           260:     <div class="refsect2" lang="en">
        !           261:     <h3><a name="{$name}">Enum </a><xsl:value-of select="$name"/></h3>
        !           262:     <pre class="programlisting">
        !           263:     <xsl:text>enum </xsl:text>
        !           264:     <a href="#{$name}"><xsl:value-of select="$name"/></a>
        !           265:     <xsl:text> {
        !           266: </xsl:text>
        !           267:     <xsl:for-each select="/api/symbols/enum[@type=$name]">
        !           268:       <xsl:sort select="@value" data-type="number" order="ascending"/>
        !           269:       <xsl:text>    </xsl:text>
        !           270:       <a name="{@name}"><xsl:value-of select="@name"/></a>
        !           271:       <xsl:if test="@value">
        !           272:         <xsl:text> = </xsl:text>
        !           273:        <xsl:value-of select="@value"/>
        !           274:       </xsl:if>
        !           275:       <xsl:if test="@info">
        !           276:         <xsl:text> /* </xsl:text>
        !           277:        <xsl:value-of select="@info"/>
        !           278:         <xsl:text> */</xsl:text>
        !           279:       </xsl:if>
        !           280:       <xsl:text>
        !           281: </xsl:text>
        !           282:     </xsl:for-each>
        !           283:     <xsl:text>};
        !           284: </xsl:text>
        !           285:     </pre>
        !           286:     <p>
        !           287:     <xsl:call-template name="dumptext">
        !           288:       <xsl:with-param name="text" select="info"/>
        !           289:     </xsl:call-template>
        !           290:     </p><xsl:text>
        !           291: </xsl:text>
        !           292:     </div><hr/>
        !           293:   </xsl:template>
        !           294: 
        !           295:   <xsl:template mode="details" match="macro">
        !           296:     <xsl:variable name="name" select="string(@name)"/>
        !           297:     <div class="refsect2" lang="en">
        !           298:     <h3><a name="{$name}">Macro </a><xsl:value-of select="$name"/></h3>
        !           299:     <pre class="programlisting">
        !           300:     <xsl:text>#define </xsl:text>
        !           301:     <a href="#{$name}"><xsl:value-of select="$name"/></a>
        !           302:     <xsl:if test="arg">
        !           303:       <xsl:text>(</xsl:text>
        !           304:       <xsl:for-each select="arg">
        !           305:         <xsl:value-of select="@name"/>
        !           306:        <xsl:if test="position() != last()">
        !           307:          <xsl:text>, </xsl:text>
        !           308:        </xsl:if>
        !           309:       </xsl:for-each>
        !           310:       <xsl:text>)</xsl:text>
        !           311:     </xsl:if>
        !           312:     <xsl:text>;
        !           313: </xsl:text>
        !           314:     </pre>
        !           315:     <p>
        !           316:     <xsl:call-template name="dumptext">
        !           317:       <xsl:with-param name="text" select="info"/>
        !           318:     </xsl:call-template>
        !           319:     </p>
        !           320:     <xsl:if test="arg">
        !           321:       <div class="variablelist"><table border="0"><col align="left"/><tbody>
        !           322:       <xsl:for-each select="arg">
        !           323:         <tr>
        !           324:           <td><span class="term"><i><tt><xsl:value-of select="@name"/></tt></i>:</span></td>
        !           325:          <td>
        !           326:            <xsl:call-template name="dumptext">
        !           327:              <xsl:with-param name="text" select="@info"/>
        !           328:            </xsl:call-template>
        !           329:          </td>
        !           330:         </tr>
        !           331:       </xsl:for-each>
        !           332:       </tbody></table></div>
        !           333:     </xsl:if>
        !           334:     <xsl:text>
        !           335: </xsl:text>
        !           336:     </div><hr/>
        !           337:   </xsl:template>
        !           338: 
        !           339:   <xsl:template mode="details" match="function">
        !           340:     <xsl:variable name="name" select="string(@name)"/>
        !           341:     <xsl:variable name="nlen" select="string-length($name)"/>
        !           342:     <xsl:variable name="tlen" select="string-length(return/@type)"/>
        !           343:     <xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/>
        !           344:     <div class="refsect2" lang="en">
        !           345:     <h3><a name="{$name}"></a><xsl:value-of select="$name"/> ()</h3>
        !           346:     <pre class="programlisting">
        !           347:     <xsl:call-template name="dumptext">
        !           348:       <xsl:with-param name="text" select="return/@type"/>
        !           349:     </xsl:call-template>
        !           350:     <xsl:text>&#9;</xsl:text>
        !           351:     <xsl:value-of select="@name"/>
        !           352:     <xsl:if test="$blen - 40 &lt; -8">
        !           353:       <xsl:text>&#9;</xsl:text>
        !           354:     </xsl:if>
        !           355:     <xsl:if test="$blen - 40 &lt; 0">
        !           356:       <xsl:text>&#9;</xsl:text>
        !           357:     </xsl:if>
        !           358:     <xsl:text>&#9;(</xsl:text>
        !           359:     <xsl:if test="not(arg)">
        !           360:       <xsl:text>void</xsl:text>
        !           361:     </xsl:if>
        !           362:     <xsl:for-each select="arg">
        !           363:       <xsl:call-template name="dumptext">
        !           364:         <xsl:with-param name="text" select="@type"/>
        !           365:       </xsl:call-template>
        !           366:       <xsl:text> </xsl:text>
        !           367:       <xsl:value-of select="@name"/>
        !           368:       <xsl:if test="position() != last()">
        !           369:         <xsl:text>, </xsl:text><br/>
        !           370:        <xsl:if test="$blen - 40 &gt; 8">
        !           371:          <xsl:text>&#9;</xsl:text>
        !           372:        </xsl:if>
        !           373:        <xsl:if test="$blen - 40 &gt; 0">
        !           374:          <xsl:text>&#9;</xsl:text>
        !           375:        </xsl:if>
        !           376:        <xsl:text>&#9;&#9;&#9;&#9;&#9; </xsl:text>
        !           377:       </xsl:if>
        !           378:     </xsl:for-each>
        !           379:     <xsl:text>)</xsl:text><br/>
        !           380:     <xsl:text>
        !           381: </xsl:text>
        !           382:     </pre>
        !           383:     <p>
        !           384:     <xsl:call-template name="dumptext">
        !           385:       <xsl:with-param name="text" select="info"/>
        !           386:     </xsl:call-template>
        !           387:     </p><xsl:text>
        !           388: </xsl:text>
        !           389:     <xsl:if test="arg | return/@info">
        !           390:       <div class="variablelist"><table border="0"><col align="left"/><tbody>
        !           391:       <xsl:for-each select="arg">
        !           392:         <tr>
        !           393:           <td><span class="term"><i><tt><xsl:value-of select="@name"/></tt></i>:</span></td>
        !           394:          <td>
        !           395:            <xsl:call-template name="dumptext">
        !           396:              <xsl:with-param name="text" select="@info"/>
        !           397:            </xsl:call-template>
        !           398:          </td>
        !           399:         </tr>
        !           400:       </xsl:for-each>
        !           401:       <xsl:if test="return/@info">
        !           402:         <tr>
        !           403:           <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
        !           404:          <td>
        !           405:            <xsl:call-template name="dumptext">
        !           406:              <xsl:with-param name="text" select="return/@info"/>
        !           407:            </xsl:call-template>
        !           408:          </td>
        !           409:         </tr>
        !           410:       </xsl:if>
        !           411:       </tbody></table></div>
        !           412:     </xsl:if>
        !           413:     </div><hr/>
        !           414:   </xsl:template>
        !           415: 
        !           416:   <xsl:template mode="details" match="functype">
        !           417:     <xsl:variable name="name" select="string(@name)"/>
        !           418:     <xsl:variable name="nlen" select="string-length($name)"/>
        !           419:     <xsl:variable name="tlen" select="string-length(return/@type)"/>
        !           420:     <xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/>
        !           421:     <div class="refsect2" lang="en">
        !           422:     <h3><a name="{$name}"></a>Function type <xsl:value-of select="$name"/> </h3>
        !           423:     <pre class="programlisting">
        !           424:     <xsl:call-template name="dumptext">
        !           425:       <xsl:with-param name="text" select="return/@type"/>
        !           426:     </xsl:call-template>
        !           427:     <xsl:text>&#9;</xsl:text>
        !           428:     <xsl:value-of select="@name"/>
        !           429:     <xsl:if test="$blen - 40 &lt; -8">
        !           430:       <xsl:text>&#9;</xsl:text>
        !           431:     </xsl:if>
        !           432:     <xsl:if test="$blen - 40 &lt; 0">
        !           433:       <xsl:text>&#9;</xsl:text>
        !           434:     </xsl:if>
        !           435:     <xsl:text>&#9;(</xsl:text>
        !           436:     <xsl:if test="not(arg)">
        !           437:       <xsl:text>void</xsl:text>
        !           438:     </xsl:if>
        !           439:     <xsl:for-each select="arg">
        !           440:       <xsl:call-template name="dumptext">
        !           441:         <xsl:with-param name="text" select="@type"/>
        !           442:       </xsl:call-template>
        !           443:       <xsl:text> </xsl:text>
        !           444:       <xsl:value-of select="@name"/>
        !           445:       <xsl:if test="position() != last()">
        !           446:         <xsl:text>, </xsl:text><br/>
        !           447:        <xsl:if test="$blen - 40 &gt; 8">
        !           448:          <xsl:text>&#9;</xsl:text>
        !           449:        </xsl:if>
        !           450:        <xsl:if test="$blen - 40 &gt; 0">
        !           451:          <xsl:text>&#9;</xsl:text>
        !           452:        </xsl:if>
        !           453:        <xsl:text>&#9;&#9;&#9;&#9;&#9; </xsl:text>
        !           454:       </xsl:if>
        !           455:     </xsl:for-each>
        !           456:     <xsl:text>)</xsl:text><br/>
        !           457:     <xsl:text>
        !           458: </xsl:text>
        !           459:     </pre>
        !           460:     <p>
        !           461:     <xsl:call-template name="dumptext">
        !           462:       <xsl:with-param name="text" select="info"/>
        !           463:     </xsl:call-template>
        !           464:     </p><xsl:text>
        !           465: </xsl:text>
        !           466:     <xsl:if test="arg | return/@info">
        !           467:       <div class="variablelist"><table border="0"><col align="left"/><tbody>
        !           468:       <xsl:for-each select="arg">
        !           469:         <tr>
        !           470:           <td><span class="term"><i><tt><xsl:value-of select="@name"/></tt></i>:</span></td>
        !           471:          <td>
        !           472:            <xsl:call-template name="dumptext">
        !           473:              <xsl:with-param name="text" select="@info"/>
        !           474:            </xsl:call-template>
        !           475:          </td>
        !           476:         </tr>
        !           477:       </xsl:for-each>
        !           478:       <xsl:if test="return/@info">
        !           479:         <tr>
        !           480:           <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
        !           481:          <td>
        !           482:            <xsl:call-template name="dumptext">
        !           483:              <xsl:with-param name="text" select="return/@info"/>
        !           484:            </xsl:call-template>
        !           485:          </td>
        !           486:         </tr>
        !           487:       </xsl:if>
        !           488:       </tbody></table></div>
        !           489:     </xsl:if>
        !           490:     </div><hr/>
        !           491:   </xsl:template>
        !           492: 
        !           493: <!--
        !           494: 
        !           495:              The following builds the general.html page
        !           496: 
        !           497: -->
        !           498:   <xsl:template name="generate_general">
        !           499:     <xsl:variable name="next" select="string(/api/files/file[position()=1]/@name)"/>
        !           500:     <xsl:document xmlns="" href="general.html" method="xml" indent="yes" encoding="UTF-8">
        !           501:       <html>
        !           502:         <head>
        !           503:          <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
        !           504:          <title><xsl:value-of select="concat(@name, ': ', summary)"/></title>
        !           505:          <meta name="generator" content="Libxml2 devhelp stylesheet"/>
        !           506:          <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
        !           507:          <link rel="up" href="index.html" title="libxml2 Reference Manual"/>
        !           508:          <link rel="stylesheet" href="style.css" type="text/css"/>
        !           509:          <link rel="chapter" href="index.html" title="libxml2 Reference Manual"/>
        !           510:         </head>
        !           511:        <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
        !           512: 
        !           513:           <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
        !           514:            <tr valign="middle">
        !           515:               <td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up"/></a></td>
        !           516:               <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"/></a></td>
        !           517:              <xsl:if test="$next != ''">
        !           518:                <td><a accesskey="n" href="libxml2-{$next}.html"><img src="right.png" width="24" height="24" border="0" alt="Next"/></a></td>
        !           519:              </xsl:if>
        !           520:               <th width="100%" align="center">libxml2 Reference Manual</th>
        !           521:             </tr>
        !           522:          </table>
        !           523:          <h2><span class="refentrytitle">libxml2 API Modules</span></h2>
        !           524:          <p>
        !           525:          <xsl:for-each select="/api/files/file">
        !           526:            <a href="libxml2-{@name}.html"><xsl:value-of select="@name"/></a> - <xsl:value-of select="summary"/><br/>
        !           527:          </xsl:for-each>
        !           528:          </p>
        !           529:        </body>
        !           530:       </html>
        !           531:     </xsl:document>
        !           532:   </xsl:template>
        !           533: 
        !           534: <!--
        !           535: 
        !           536:              The following builds the index.html page
        !           537: 
        !           538: -->
        !           539:   <xsl:template name="generate_index">
        !           540:     <xsl:document xmlns="" href="index.html" method="xml" indent="yes" encoding="UTF-8">
        !           541:       <html>
        !           542:         <head>
        !           543:          <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
        !           544:          <title>libxml2 Reference Manual</title>
        !           545:          <meta name="generator" content="Libxml2 devhelp stylesheet"/>
        !           546:          <link rel="stylesheet" href="style.css" type="text/css"/>
        !           547:         </head>
        !           548:        <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
        !           549: 
        !           550:           <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
        !           551:            <tr valign="middle">
        !           552:               <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"/></a></td>
        !           553:              <td><a accesskey="n" href="general.html"><img src="right.png" width="24" height="24" border="0" alt="Next"/></a></td>
        !           554:               <th width="100%" align="center">libxml2 Reference Manual</th>
        !           555:             </tr>
        !           556:          </table>
        !           557:          <h2><span class="refentrytitle">libxml2 Reference Manual</span></h2>
        !           558: <p>Libxml2 is the XML C parser and toolkit developed for the Gnome project
        !           559: (but usable outside of the Gnome platform), it is free software available
        !           560: under the <a href="http://www.opensource.org/licenses/mit-license.html">MIT
        !           561: License</a>. XML itself is a metalanguage to design markup languages, i.e.
        !           562: text language where semantic and structure are added to the content using
        !           563: extra "markup" information enclosed between angle brackets. HTML is the most
        !           564: well-known markup language. Though the library is written in C <a href="http://xmlsoft.org/python.html">a variety of language bindings</a> make it available in
        !           565: other environments.</p>
        !           566: <p>Libxml2 implements a number of existing standards related to markup
        !           567: languages:</p>
        !           568: <ul><li>the XML standard: <a href="http://www.w3.org/TR/REC-xml">http://www.w3.org/TR/REC-xml</a></li>
        !           569: <li>Namespaces in XML: <a href="http://www.w3.org/TR/REC-xml-names/">http://www.w3.org/TR/REC-xml-names/</a></li>
        !           570: <li>XML Base: <a href="http://www.w3.org/TR/xmlbase/">http://www.w3.org/TR/xmlbase/</a></li>
        !           571: <li><a href="http://www.cis.ohio-state.edu/rfc/rfc2396.txt">RFC 2396</a> :
        !           572: Uniform Resource Identifiers <a href="http://www.ietf.org/rfc/rfc2396.txt">http://www.ietf.org/rfc/rfc2396.txt</a></li>
        !           573: <li>XML Path Language (XPath) 1.0: <a href="http://www.w3.org/TR/xpath">http://www.w3.org/TR/xpath</a></li>
        !           574: <li>HTML4 parser: <a href="http://www.w3.org/TR/html401/">http://www.w3.org/TR/html401/</a></li>
        !           575: <li>XML Pointer Language (XPointer) Version 1.0: <a href="http://www.w3.org/TR/xptr">http://www.w3.org/TR/xptr</a></li>
        !           576: <li>XML Inclusions (XInclude) Version 1.0: <a href="http://www.w3.org/TR/xinclude/">http://www.w3.org/TR/xinclude/</a></li>
        !           577: <li>ISO-8859-x encodings, as well as <a href="http://www.cis.ohio-state.edu/rfc/rfc2044.txt">rfc2044</a> [UTF-8]
        !           578: and <a href="http://www.cis.ohio-state.edu/rfc/rfc2781.txt">rfc2781</a>
        !           579: [UTF-16] Unicode encodings, and more if using iconv support</li>
        !           580: <li>part of SGML Open Technical Resolution TR9401:1997</li>
        !           581: <li>XML Catalogs Working Draft 06 August 2001: <a href="http://www.oasis-open.org/committees/entity/spec-2001-08-06.html">http://www.oasis-open.org/committees/entity/spec-2001-08-06.html</a></li>
        !           582: <li>Canonical XML Version 1.0: <a href="http://www.w3.org/TR/xml-c14n">http://www.w3.org/TR/xml-c14n</a>
        !           583: and the Exclusive XML Canonicalization CR draft <a href="http://www.w3.org/TR/xml-exc-c14n">http://www.w3.org/TR/xml-exc-c14n</a></li>
        !           584: <li>Relax NG, ISO/IEC 19757-2:2003, <a href="http://www.oasis-open.org/committees/relax-ng/spec-20011203.html">http://www.oasis-open.org/committees/relax-ng/spec-20011203.html</a></li>
        !           585: <li>W3C XML Schemas Part 2: Datatypes <a href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/">REC 02 May
        !           586: 2001</a></li>
        !           587: <li>W3C <a href="http://www.w3.org/TR/xml-id/">xml:id</a> Working Draft 7
        !           588: April 2004</li>
        !           589: </ul>
        !           590:          <p> As a result the <a href="general.html">libxml2 API</a> is very
        !           591:              large. If you get lost searching for some specific API use
        !           592:              <a href="http://xmlsoft.org/search.php">the online search
        !           593:              engine</a> hosted on <a href="http://xmlsoft.org/">xmlsoft.org</a>
        !           594:              the libxml2 and libxslt project page. </p>
        !           595:        </body>
        !           596:       </html>
        !           597:     </xsl:document>
        !           598:   </xsl:template>
        !           599: 
        !           600: </xsl:stylesheet>
        !           601: 
        !           602: 

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