⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 generate-java.xsl

📁 a a a a a a a a a a a a a a a a a a a a a a
💻 XSL
📖 第 1 页 / 共 2 页
字号:
       <xsl:element name="h3"><xsl:text>See Also</xsl:text></xsl:element><xsl:text disable-output-escaping="yes">
 *
 * &lt;blockquote&gt;
 * </xsl:text>
        <xsl:call-template name="example-link">
          <xsl:with-param name="name" select="$name" />
          <xsl:with-param name="class" select="$class" />
        </xsl:call-template><xsl:element name="br" />
        <xsl:text disable-output-escaping="yes">
 * &lt;/blockquote&gt;
</xsl:text>
      </xsl:if>
    </xsl:when>
    <xsl:otherwise>
      <xsl:apply-templates select="$documentation-root/documentation/topics/example[@name=$name and @class=$class and @scope=$scope and @type=$type]/description" mode="example" />
    </xsl:otherwise>
  </xsl:choose>
  <xsl:text> */
</xsl:text>
</xsl:template>

<xsl:template match="description" mode="example">
  <xsl:text>
 *
 * </xsl:text><xsl:element name="h3"><xsl:text>Example</xsl:text></xsl:element> <xsl:text>
 *
</xsl:text>
  <xsl:apply-templates select="*" />
</xsl:template>

<xsl:template match="text">
  <xsl:choose>
    <xsl:when test="ancestor::cell">
      <xsl:apply-templates mode="text" />
      <xsl:if test="position() != last()">
        <xsl:element name="br" /><xsl:text>
 * </xsl:text>
      </xsl:if>
    </xsl:when>
    <xsl:when test="preceding-sibling::text">
      <xsl:text> * </xsl:text><xsl:element name="p"><xsl:apply-templates mode="text" /></xsl:element>
      <xsl:text>
</xsl:text>
      <xsl:call-template name="separate-paragraph" />
    </xsl:when>
    <xsl:otherwise>
      <xsl:text> * </xsl:text><xsl:apply-templates mode="text" />
      <xsl:if test="ancestor::*[name() = 'method' or name() = 'property']">
        <xsl:text>
 * </xsl:text>
        <xsl:element name="a">
          <xsl:attribute name="name"><xsl:value-of select="../../@name" /></xsl:attribute>
        </xsl:element>
      </xsl:if>
      <xsl:text>
</xsl:text>
      <xsl:call-template name="separate-paragraph" />
    </xsl:otherwise>
  </xsl:choose>
</xsl:template>

<xsl:template match="title">
  <xsl:text> * </xsl:text><xsl:element name="h3"><xsl:apply-templates /></xsl:element><xsl:text>
</xsl:text>
  <xsl:call-template name="separate-paragraph" />
</xsl:template>

<xsl:template match="list">
  <xsl:text> * </xsl:text><xsl:element name="ul">
    <xsl:apply-templates /><xsl:text> * </xsl:text></xsl:element><xsl:text>
</xsl:text>
  <xsl:call-template name="separate-paragraph" />
</xsl:template>

<xsl:template match="item">
  <xsl:text> * </xsl:text><xsl:element name="li"><xsl:apply-templates /></xsl:element>
</xsl:template>

<xsl:template match="code">
  <xsl:text> * </xsl:text><xsl:element name="pre">
    <xsl:apply-templates mode="comments" />
  </xsl:element><xsl:text>
</xsl:text>
  <xsl:call-template name="separate-paragraph" />
</xsl:template>

<xsl:template match="table">
  <xsl:text> * </xsl:text><xsl:element name="table">
    <xsl:attribute name="border">1</xsl:attribute>
    <xsl:attribute name="cellspacing">0</xsl:attribute>
    <xsl:attribute name="cellpadding">3</xsl:attribute>
    <xsl:apply-templates select="*" /><xsl:text>
 * </xsl:text>
  </xsl:element><xsl:text>
</xsl:text>
  <xsl:call-template name="separate-paragraph" />
</xsl:template>

<xsl:template match="row">
  <xsl:text>
 * </xsl:text><xsl:element name="tr">
    <xsl:apply-templates select="*" /><xsl:text>
 * </xsl:text>
  </xsl:element>
</xsl:template>

<xsl:template match="cell">
  <xsl:text>
 * </xsl:text><xsl:element name="td">
    <xsl:attribute name="valign">top</xsl:attribute>
    <xsl:apply-templates select="*" />
  </xsl:element>
</xsl:template>

<xsl:template match="see">
  <xsl:text> * </xsl:text><xsl:choose>
    <xsl:when test="preceding-sibling::see">
      <xsl:apply-templates mode="text" /><xsl:element name="br" />
    </xsl:when>
    <xsl:otherwise>
      <xsl:element name="h3"><xsl:text>See Also</xsl:text></xsl:element><xsl:text disable-output-escaping="yes">
 *
 * &lt;blockquote&gt;
 * </xsl:text>
      <xsl:if test="$external-examples and (ancestor::class or ancestor::method or ancestor::property)">
        <xsl:variable name="type">
          <xsl:choose>
            <xsl:when test="ancestor::class"><xsl:value-of select="'class'" /></xsl:when>
            <xsl:otherwise><xsl:value-of select="'member'" /></xsl:otherwise>
          </xsl:choose>
        </xsl:variable>
        <xsl:variable name="name" select="../../@name" />
        <xsl:variable name="class">
          <xsl:choose>
            <xsl:when test="ancestor::class"><xsl:value-of select="$name" /></xsl:when>
            <xsl:otherwise><xsl:value-of select="../../@class" /></xsl:otherwise>
          </xsl:choose>
        </xsl:variable>
        <xsl:variable name="scope" select="../../@scope" />
        <xsl:if test="$external-examples and (ancestor::class or ancestor::method or ancestor::property) and $documentation-root/documentation/topics/example[@name=$name and @class=$class and @scope=$scope and @type=$type]/description">
          <xsl:call-template name="example-link">
            <xsl:with-param name="name" select="$name" />
            <xsl:with-param name="class" select="$class" />
          </xsl:call-template><xsl:element name="br" />
          <xsl:text>
 * </xsl:text>
        </xsl:if>
      </xsl:if>
      <xsl:apply-templates mode="text" /><xsl:element name="br" />
    </xsl:otherwise>
  </xsl:choose><xsl:text>
</xsl:text>
  <xsl:if test="not(following-sibling::see)">
    <xsl:text disable-output-escaping="yes"> * &lt;/blockquote&gt;
</xsl:text>
    <xsl:call-template name="separate-paragraph" />
  </xsl:if>
</xsl:template>

<xsl:template match="link">
  <xsl:call-template name="link" />
</xsl:template>

<xsl:template match="link" mode="text">
  <xsl:call-template name="link" />
</xsl:template>

<xsl:template match="text()" mode="text" >
  <xsl:call-template name="escape-text" />
</xsl:template>

<xsl:template match="text()" mode="comments" >
  <xsl:call-template name="convert-comments" />
</xsl:template>

<xsl:template name="example-link">
  <xsl:param name="name" />
  <xsl:param name="class" />
  <xsl:variable name="prefix">
    <xsl:choose>
      <xsl:when test="ancestor::class">
        <xsl:value-of select="$name" />
      </xsl:when>
      <xsl:otherwise>
        <xsl:value-of select="concat($class, '.', $name)" />
      </xsl:otherwise>
    </xsl:choose>
  </xsl:variable>
  <xsl:element name="a">
    <xsl:attribute name="href"><xsl:value-of select="concat($prefix, '-example.html')" /></xsl:attribute>
    <xsl:text>Example</xsl:text>
  </xsl:element>
</xsl:template>

<xsl:template name="link">
  <xsl:variable name="id" select="@id" />
  <xsl:variable name="reference" select="$documentation-root/documentation/references/reference[@id=$id]" />
  <xsl:choose>
    <xsl:when test="ancestor::*[name() = 'class' or name() = 'method' or name() = 'property'] and $reference[@type = 'class']">
      <xsl:text>{@link </xsl:text>
      <xsl:variable name="name">
        <xsl:call-template name="descope-name">
          <xsl:with-param name="name" select="$reference/@name" />
        </xsl:call-template>
      </xsl:variable>
      <xsl:choose>
        <xsl:when test="$name = .">
          <xsl:value-of select="$name" />
        </xsl:when>
        <xsl:otherwise>
          <xsl:value-of select="$name" />
          <xsl:text> </xsl:text><xsl:apply-templates mode="text" />
        </xsl:otherwise>
      </xsl:choose>
      <xsl:text>}</xsl:text>
    </xsl:when>
    <xsl:when test="$reference[@type = 'class']">
      <xsl:element name="a">
        <xsl:attribute name="href">
          <xsl:call-template name="descope-name">
            <xsl:with-param name="name" select="$reference/@name" />
          </xsl:call-template>
          <xsl:text>.html</xsl:text>
        </xsl:attribute>
        <xsl:apply-templates />
      </xsl:element>
    </xsl:when>
    <xsl:when test="$reference[@type = 'method' or @type = 'property']">
      <xsl:element name="a">
        <xsl:attribute name="href">
          <xsl:call-template name="descope-name">
            <xsl:with-param name="name" select="substring-before($reference/@name, '#')" />
          </xsl:call-template>
          <xsl:text>.html#</xsl:text>
          <xsl:value-of select="substring-after($reference/@name, '#')" />
        </xsl:attribute>
        <xsl:apply-templates />
      </xsl:element>
    </xsl:when>
    <xsl:when test="$reference[@type = 'example']">
      <xsl:element name="a">
        <xsl:attribute name="href">
          <xsl:call-template name="descope-name">
            <xsl:with-param name="name" select="$reference/@name" />
          </xsl:call-template>
          <xsl:text>-example.html</xsl:text>
        </xsl:attribute>
        <xsl:apply-templates />
      </xsl:element>
    </xsl:when>
    <xsl:when test="$reference[@type = 'page']">
      <xsl:element name="a">
        <xsl:attribute name="href">
          <xsl:value-of select="$reference/@name" />
          <xsl:text>.html</xsl:text>
        </xsl:attribute>
        <xsl:apply-templates />
      </xsl:element>
    </xsl:when>
    <xsl:otherwise>
      <xsl:element name="a">
        <xsl:attribute name="href"><xsl:value-of select="'#'" /></xsl:attribute>
        <xsl:apply-templates />
      </xsl:element>
    </xsl:otherwise>
  </xsl:choose>
</xsl:template>

<xsl:template name="separate-paragraph">
  <xsl:if test="position() != last()">
    <xsl:text> *
</xsl:text>
  </xsl:if>
</xsl:template>

<xsl:template name="descope-name">
  <xsl:param name="name" />
  <xsl:choose>
    <xsl:when test="starts-with($name, 'lotus.domino.')">
      <xsl:value-of select="substring-after($name, 'lotus.domino.')" />
    </xsl:when>
    <xsl:otherwise>
      <xsl:value-of select="$name" />
    </xsl:otherwise>
  </xsl:choose>
</xsl:template>

<xsl:template name="escape-text">
  <!--xsl:if test="starts-with(., '@')"><xsl:text>\</xsl:text></xsl:if-->
  <xsl:param name="text" select="." />
  <xsl:call-template name="replace-all">
    <xsl:with-param name="text">
      <xsl:call-template name="replace-all">
        <xsl:with-param name="text">
          <xsl:call-template name="replace-all">
            <xsl:with-param name="text">
              <xsl:call-template name="replace-all">
                <xsl:with-param name="text" select="$text" />
                <xsl:with-param name="find" select="'/*'" />
                <xsl:with-param name="replace" select="'/...'" />
              </xsl:call-template>
            </xsl:with-param>
            <xsl:with-param name="find" select="'*/'" />
            <xsl:with-param name="replace" select="'.../'" />
          </xsl:call-template>
        </xsl:with-param>
        <xsl:with-param name="find" select="'c:\notes\data\'" />
        <xsl:with-param name="replace" select="'c:/notes/data/'" />
      </xsl:call-template>
    </xsl:with-param>
    <xsl:with-param name="find" select="'c:\notes\'" />
    <xsl:with-param name="replace" select="'c:/notes/'" />
  </xsl:call-template>
</xsl:template>

<xsl:template name="convert-comments">
  <xsl:param name="text" select="." />
  <xsl:call-template name="replace-all">
    <xsl:with-param name="text">
      <xsl:call-template name="replace-all">
        <xsl:with-param name="text" select="$text" />
        <xsl:with-param name="find" select="'*/'" />
      </xsl:call-template>
    </xsl:with-param>
    <xsl:with-param name="find" select="'/*'" />
    <xsl:with-param name="replace" select="'//'" />
  </xsl:call-template>
</xsl:template>

<xsl:template name="replace-all">
  <xsl:param name="text" />
  <xsl:param name="find" />
  <xsl:param name="replace" />
  <xsl:choose>
    <xsl:when test="contains($text, $find)">
      <xsl:value-of select="substring-before($text, $find)" />
      <xsl:value-of select="$replace" />
      <xsl:call-template name="replace-all">
        <xsl:with-param name="text">
          <xsl:value-of select="substring-after($text, $find)" />
        </xsl:with-param>
        <xsl:with-param name="find" select="$find" />
        <xsl:with-param name="replace" select="$replace" />
      </xsl:call-template>
    </xsl:when>
    <xsl:otherwise>
      <xsl:value-of select="$text" />
    </xsl:otherwise>
  </xsl:choose>
</xsl:template>

</xsl:stylesheet>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -