VirtualBox

Changeset 99137 in vbox


Ignore:
Timestamp:
Mar 23, 2023 12:02:25 PM (2 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
156502
Message:

manual: More work on the refentry to dita converter. bugref:10302

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/doc/manual/docbook-refentry-to-manual-dita.xsl

    r99130 r99137  
    329329</xsl:template>
    330330
    331 <xsl:template match="arg[(not(@choice) or @choice='opt') and (not(@rep) or @rep='norepeat')]" >
     331<xsl:template match="arg[not(@choice) or @choice='opt']" >
    332332  <xsl:element name="groupseq">
    333     <xsl:attribute name="rev">arg[opt,norepeat]</xsl:attribute>
     333    <xsl:attribute name="rev">arg[opt]</xsl:attribute>
    334334    <xsl:attribute name="importance">optional</xsl:attribute>
    335     <xsl:apply-templates />
    336   </xsl:element>
    337 </xsl:template>
    338 
    339 <xsl:template match="arg[@choice='req' and (not(@rep) or @rep='norepeat')]" >
     335
     336    <xsl:apply-templates />
     337
     338    <xsl:if test="@rep='repeat'">
     339      <xsl:element name="repsep">
     340        <xsl:attribute name="rev">arg[opt,repeat]</xsl:attribute>
     341        <xsl:text>...</xsl:text>
     342      </xsl:element>
     343    </xsl:if>
     344  </xsl:element>
     345
     346  <xsl:if test="parent::group">
     347    <xsl:message terminate="yes"><xsl:call-template name="error-prefix"/>Expected arg in group to be plain, not optional.</xsl:message>
     348  </xsl:if>
     349</xsl:template>
     350
     351<xsl:template match="arg[@choice='req']" >
    340352  <xsl:element name="groupseq">
    341     <xsl:attribute name="rev">arg[req,norepeat]</xsl:attribute>
     353    <xsl:attribute name="rev">arg[req]</xsl:attribute>
    342354    <xsl:attribute name="importance">required</xsl:attribute>
    343     <xsl:apply-templates />
    344   </xsl:element>
     355
     356    <xsl:apply-templates />
     357
     358    <xsl:if test="@rep='repeat'">
     359      <xsl:element name="repsep">
     360        <xsl:attribute name="rev">arg[opt,repeat]</xsl:attribute>
     361        <xsl:text>...</xsl:text>
     362      </xsl:element>
     363    </xsl:if>
     364  </xsl:element>
     365
     366  <xsl:if test="parent::group">
     367    <xsl:message terminate="yes"><xsl:call-template name="error-prefix"/>Expected arg in group to be plain, not required.</xsl:message>
     368  </xsl:if>
    345369</xsl:template>
    346370
     
    368392    <xsl:attribute name="rev">arg[plain]</xsl:attribute>
    369393    <xsl:value-of select="."/>
    370   </xsl:element>
    371 </xsl:template>
    372 
    373 <xsl:template match="arg[(not(@choice) or @choice='opt') and @rep='repeat' and not(ancestor::group) and not(group)]" >
    374   <xsl:element name="groupseq">
    375     <xsl:attribute name="rev">arg[opt,repeat]</xsl:attribute>
    376     <xsl:attribute name="importance">optional</xsl:attribute>
    377     <xsl:apply-templates />
    378     <xsl:element name="repsep">
    379       <xsl:attribute name="rev">arg[opt,repeat]</xsl:attribute>
    380       <xsl:text>...</xsl:text>
    381     </xsl:element>
    382394  </xsl:element>
    383395</xsl:template>
     
    411423</xsl:template>
    412424
    413 <!-- replaceable in computeroutput -> varname -->
    414 <xsl:template match="computeroutput/replaceable" >
     425<!-- replaceable in computeroutput or filename -> varname -->
     426<xsl:template match="computeroutput/replaceable | filename/replaceable" >
    415427  <xsl:element name="varname">
    416428    <xsl:attribute name="rev">computeroutput/replaceable</xsl:attribute>
     
    551563</xsl:template>
    552564
     565<!-- note -> note -->
     566<xsl:template match="note">
     567  <xsl:copy>
     568    <xsl:apply-templates />
     569  </xsl:copy>
     570</xsl:template>
     571
     572<!-- citetitle -> cite -->
     573<xsl:template match="citetitle">
     574  <xsl:element name="cite">
     575    <xsl:attribute name="rev">citetitle</xsl:attribute>
     576    <xsl:apply-templates />
     577  </xsl:element>
     578</xsl:template>
     579
    553580<!--
    554581 remark extensions:
     
    578605      <xsl:choose>
    579606        <xsl:when test="name(.) = ''">
    580           <xsl:text>text()</xsl:text>
     607          <xsl:value-of select="concat('/text(',')')"/>
    581608        </xsl:when>
    582609        <xsl:otherwise>
     
    588615              <xsl:text>]</xsl:text>
    589616            </xsl:when>
    590             <xsl:when test="position() > 1">
    591               <xsl:text>[</xsl:text><xsl:value-of select="position()"/><xsl:text>]</xsl:text>
    592             </xsl:when>
     617            <xsl:otherwise>
     618              <!-- Use generate-id() to find the current node position among its siblings. -->
     619              <xsl:variable name="id" select="generate-id(.)"/>
     620              <xsl:for-each select="../node()">
     621                <xsl:if test="generate-id(.) = $id">
     622                  <xsl:text>[</xsl:text><xsl:value-of select="position()"/><xsl:text>]</xsl:text>
     623                </xsl:if>
     624              </xsl:for-each>
     625            </xsl:otherwise>
    593626          </xsl:choose>
    594627        </xsl:otherwise>
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette