![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /usr/share/boostbook/xsl/dtd/ |
Upload File : |
<?xml version="1.0" encoding="utf-8"?> <!-- Copyright (c) 2002 Douglas Gregor <doug.gregor -at- gmail.com> Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) --> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="xml" indent="yes" standalone="yes"/> <xsl:strip-space elements="sequence-group or-group element element-name"/> <xsl:key name="elements" match="element" use="@name"/> <xsl:key name="attributes" match="attlist" use="@name"/> <xsl:key name="attribute-purposes" match="attpurpose" use="@name"/> <xsl:template match="dtd"> <section id="reference"> <title>Reference</title> <para> <xsl:text>Elements:</xsl:text> <itemizedlist spacing="compact"> <xsl:apply-templates select="element" mode="synopsis"> <xsl:sort select="@name"/> </xsl:apply-templates> </itemizedlist> </para> <xsl:apply-templates select="element"/> </section> </xsl:template> <!-- Element synopsis --> <xsl:template match="element" mode="synopsis"> <listitem> <simpara> <link> <xsl:attribute name="linkend"> <xsl:value-of select="concat('boostbook.dtd.',@name)"/> </xsl:attribute> <xsl:text>Element </xsl:text> <sgmltag><xsl:value-of select="@name"/></sgmltag> <xsl:text> - </xsl:text> <xsl:apply-templates select="purpose"/> </link> </simpara> </listitem> </xsl:template> <!-- Elements are transformed into DocBook refentry elements --> <xsl:template match="element"> <refentry> <xsl:attribute name="id"> <xsl:value-of select="concat('boostbook.dtd.',@name)"/> </xsl:attribute> <refmeta> <refentrytitle> BoostBook element <sgmltag><xsl:value-of select="@name"/></sgmltag> </refentrytitle> <manvolnum>9</manvolnum> </refmeta> <refnamediv> <refname><xsl:value-of select="@name"/></refname> <refpurpose><xsl:apply-templates select="purpose"/></refpurpose> </refnamediv> <refsynopsisdiv> <xsl:value-of select="@name"/><xsl:text> ::= </xsl:text> <xsl:apply-templates select="content-model-expanded"/> </refsynopsisdiv> <xsl:apply-templates select="description"/> <xsl:apply-templates select="key('attributes', @name)"/> </refentry> </xsl:template> <xsl:template match="content-model-expanded"> <xsl:apply-templates/> </xsl:template> <!-- Sequences --> <xsl:template match="sequence-group"> <xsl:param name="separator" select="''"/> <xsl:if test="preceding-sibling::*"> <xsl:value-of select="$separator"/> </xsl:if> <xsl:text>(</xsl:text> <xsl:apply-templates> <xsl:with-param name="separator" select="', '"/> </xsl:apply-templates> <xsl:text>)</xsl:text> <xsl:value-of select="@occurrence"/> </xsl:template> <!-- Alternatives --> <xsl:template match="or-group"> <xsl:param name="separator" select="''"/> <xsl:if test="preceding-sibling::*"> <xsl:value-of select="$separator"/> </xsl:if> <xsl:text>(</xsl:text> <xsl:apply-templates> <xsl:with-param name="separator" select="'| '"/> </xsl:apply-templates> <xsl:text>)</xsl:text> <xsl:value-of select="@occurrence"/> </xsl:template> <!-- Element references --> <xsl:template match="element-name"> <xsl:param name="separator" select="''"/> <xsl:if test="preceding-sibling::*"> <xsl:value-of select="$separator"/> </xsl:if> <xsl:variable name="element-node" select="key('elements', @name)"/> <xsl:choose> <xsl:when test="$element-node"> <link> <xsl:attribute name="linkend"> <xsl:value-of select="concat('boostbook.dtd.',@name)"/> </xsl:attribute> <xsl:value-of select="@name"/> </link> </xsl:when> <xsl:otherwise> <xsl:value-of select="@name"/> </xsl:otherwise> </xsl:choose> <xsl:value-of select="@occurrence"/> </xsl:template> <!-- #PCDATA --> <xsl:template match="pcdata"> <xsl:param name="separator" select="''"/> <xsl:if test="preceding-sibling::*"> <xsl:value-of select="$separator"/> </xsl:if> <xsl:text>#PCDATA</xsl:text> </xsl:template> <!-- ANY --> <xsl:template match="any"> <xsl:text>ANY</xsl:text> </xsl:template> <!-- EMPTY --> <xsl:template match="empty"> <xsl:text>EMPTY</xsl:text> </xsl:template> <!-- Just copy anything in a purpose element --> <xsl:template match="purpose"> <xsl:copy-of select="text()|*"/> </xsl:template> <!-- Just copy anything in a description element, but place it in a section. --> <xsl:template match="description"> <refsection> <title>Description</title> <xsl:copy-of select="text()|*"/> </refsection> </xsl:template> <!-- Attributes --> <xsl:template match="attlist"> <refsection> <title>Attributes</title> <informaltable> <tgroup cols="4"> <thead> <row> <entry>Name</entry> <entry>Type</entry> <entry>Value</entry> <entry>Purpose</entry> </row> </thead> <tbody> <xsl:apply-templates/> </tbody> </tgroup> </informaltable> </refsection> </xsl:template> <!-- Attribute --> <xsl:template match="attribute"> <row> <entry><xsl:value-of select="@name"/></entry> <entry><xsl:value-of select="@type"/></entry> <entry><xsl:value-of select="@value"/></entry> <entry> <xsl:choose> <xsl:when test="purpose"> <xsl:apply-templates select="purpose"/> </xsl:when> <xsl:otherwise> <xsl:apply-templates select="key('attribute-purposes', @name)"/> </xsl:otherwise> </xsl:choose> </entry> </row> </xsl:template> <!-- Eat attribute declarations --> <xsl:template match="attdecl"/> </xsl:stylesheet>