You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
144 lines
4.7 KiB
144 lines
4.7 KiB
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
|
xmlns:vty="urn:osmocom:xml:libosmocore:vty:doc:1.0" >
|
|
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" />
|
|
|
|
<!-- tick off the filtering -->
|
|
<xsl:template match="@*|node()">
|
|
<xsl:apply-templates select="@*|node()" />
|
|
</xsl:template>
|
|
|
|
<!-- every node into a new file -->
|
|
<xsl:template match="vty:node">
|
|
<xsl:variable name="filename" select="concat('generated/docbook_vty_', @id, '.xml')" />
|
|
<!-- create a new section -->
|
|
<section>
|
|
<title><xsl:value-of select="./vty:name" /></title>
|
|
<para><xsl:value-of select="./vty:description" /></para>
|
|
|
|
<!-- each command into a subsection now -->
|
|
<xsl:for-each select="./vty:command">
|
|
<xsl:sort select="@id" />
|
|
<section>
|
|
<xsl:choose>
|
|
<xsl:when test="string-length(@id) > 80">
|
|
<title><xsl:value-of select="substring(@id, 1, 80)"/>...</title>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<title><xsl:value-of select="@id"/></title>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
|
|
<xsl:if test="./vty:description">
|
|
<para><xsl:value-of select="./vty:description" /></para>
|
|
</xsl:if>
|
|
|
|
<variablelist><varlistentry>
|
|
<listitem>
|
|
<para>Command</para>
|
|
<screen><xsl:value-of select="@id" /></screen>
|
|
</listitem>
|
|
</varlistentry></variablelist>
|
|
|
|
<!-- Unfortunately, there is no xsl:function support in XSL 1.0 -->
|
|
|
|
<!-- Print global attributes (if any) -->
|
|
<xsl:if test="./vty:attributes[@scope='global']">
|
|
<variablelist>
|
|
<varlistentry>
|
|
<listitem>
|
|
<para>Global attributes</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<xsl:for-each select="./vty:attributes[@scope='global']/*">
|
|
<varlistentry>
|
|
<listitem>
|
|
<xsl:choose>
|
|
<xsl:when test="@flag">
|
|
<para>Flag: <xsl:value-of select="@flag" /></para>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<para>Flag: (not assigned)</para>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
<para><xsl:value-of select="@doc" /></para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</xsl:for-each>
|
|
</variablelist>
|
|
</xsl:if>
|
|
|
|
<!-- Print library specific attributes (if any) -->
|
|
<xsl:if test="./vty:attributes[@scope='library']">
|
|
<variablelist>
|
|
<varlistentry>
|
|
<listitem>
|
|
<para>Library specific attributes</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<xsl:for-each select="./vty:attributes[@scope='library']/*">
|
|
<varlistentry>
|
|
<listitem>
|
|
<xsl:choose>
|
|
<xsl:when test="@flag">
|
|
<para>Flag: <xsl:value-of select="@flag" /></para>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<para>Flag: (not assigned)</para>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
<para><xsl:value-of select="@doc" /></para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</xsl:for-each>
|
|
</variablelist>
|
|
</xsl:if>
|
|
|
|
<!-- Print application specific attributes (if any) -->
|
|
<xsl:if test="./vty:attributes[@scope='application']">
|
|
<variablelist>
|
|
<varlistentry>
|
|
<listitem>
|
|
<para>Application specific attributes</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<xsl:for-each select="./vty:attributes[@scope='application']/*">
|
|
<varlistentry>
|
|
<listitem>
|
|
<xsl:choose>
|
|
<xsl:when test="@flag">
|
|
<para>Flag: <xsl:value-of select="@flag" /></para>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<para>Flag: (not assigned)</para>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
<para><xsl:value-of select="@doc" /></para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</xsl:for-each>
|
|
</variablelist>
|
|
</xsl:if>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<listitem>
|
|
<para>Parameters</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<xsl:for-each select="./vty:params/*">
|
|
<varlistentry>
|
|
<listitem>
|
|
<para><xsl:value-of select="@name" /></para>
|
|
<para><xsl:value-of select="@doc" /></para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</xsl:for-each>
|
|
</variablelist>
|
|
|
|
</section>
|
|
</xsl:for-each>
|
|
</section>
|
|
</xsl:template>
|
|
</xsl:transform>
|