alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

Java example source code file (jvmti.xsl)

This example Java source code file (jvmti.xsl) is included in the alvinalexander.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Learn more about this Java project at its project page.

Java - Java tags/keywords

capabilities, capability, ccccff, changehistory, definitions, description, eeeeff, function, general, index, license, show, this, type

The jvmti.xsl Java example source code

<?xml version="1.0"?> 
<!--
 Copyright (c) 2002, 2006, Oracle and/or its affiliates. All rights reserved.
 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.

 This code is free software; you can redistribute it and/or modify it
 under the terms of the GNU General Public License version 2 only, as
 published by the Free Software Foundation.

 This code is distributed in the hope that it will be useful, but WITHOUT
 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 version 2 for more details (a copy is included in the LICENSE file that
 accompanied this code).

 You should have received a copy of the GNU General Public License version
 2 along with this work; if not, write to the Free Software Foundation,
 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.

 Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 or visit www.oracle.com if you need additional information or have any
 questions.
  
-->

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

<xsl:import href="jvmtiLib.xsl"/>

<xsl:output method="html" indent="yes" 
  doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN" 
  doctype-system="http://www.w3.org/TR/html4/loose.dtd"/>

<xsl:param name="development">

<xsl:template match="specification">
  <html>
  <head>
        <title>
          <xsl:value-of select="@label"/>
          <xsl:text> 
          <xsl:call-template name="showversion"/>
        </title>
        <style type="text/css">
          td.tableHeader {font-size: larger}
        </style>
  </head>
  <body>
    <table border="0" width="100%">
      <tr>
        <td align="center">
          <xsl:apply-templates select="title"/>
        </td>
      </tr>
    </table>
    <ul>
      <li>
        <a href="#SpecificationIntro">Introduction
        <ul>
          <xsl:for-each select="intro">
            <li>
              <a>
                <xsl:attribute name="href">#
                </xsl:attribute>
                <b>
              </a>
            </li>
          </xsl:for-each>
        </ul>
      </li>
      <li>
        <a href="#FunctionSection">Functions
        <ul>
          <xsl:for-each select="functionsection/intro">
            <li>
              <a>
                <xsl:attribute name="href">#
                </xsl:attribute>
                <b>
              </a>
            </li>
          </xsl:for-each>
          <li>
            <a href="#FunctionIndex">Function Index
            <ul>
              <xsl:for-each select="functionsection/category">
                <li>
                  <a>
                    <xsl:attribute name="href">#
                    </xsl:attribute>
                    <b>
                  </a>
                </li>
              </xsl:for-each>
            </ul>
          </li>
          <li>
            <a href="#ErrorSection">Error Codes
          </li>
        </ul>
      </li>
      <li>
        <a href="#EventSection">Events
        <ul>
          <li>
            <a href="#EventIndex">Event Index
          </li>
        </ul>
      </li>
      <li>
        <a href="#DataSection">Data Types
        <ul>
          <xsl:for-each select="//basetypes">   
          <li>
            <a>
              <xsl:attribute name="href">#
              <b>
                <xsl:value-of select="@label"/>
              </b>
            </a>
          </li>
          </xsl:for-each>
          <li>
            <a href="#StructureTypeDefinitions">Structure Type Definitions
          </li>
          <li>
            <a href="#FunctionTypeDefinitions">Function Type Definitions
          </li>
          <li>
            <a href="#EnumerationDefinitions">Enumeration Definitions
          </li>
          <li>
            <a href="#FunctionTable">Function Table
          </li>
        </ul>
      </li>
      <li>
        <a href="#ConstantIndex">Constant Index
      </li>
      <xsl:if test="$development = 'Show'">
        <li>
          <a href="#SpecificationIssues">Issues
          <ul>
            <xsl:for-each select="issuessection/intro">
              <li>
                <a>
                  <xsl:attribute name="href">#
                  </xsl:attribute>
                  <b>
                </a>
              </li>
            </xsl:for-each>
          </ul>
        </li>
      </xsl:if>
      <li>
        <a href="#ChangeHistory">Change History
      </li>
    </ul>
    <!-- end table of contents, begin body -->
    <p/>
    <hr noshade="noshade" size="3"/>
    <p/>
    <p id="SpecificationIntro"/>
      <xsl:apply-templates select="intro"/>
    <p id="FunctionSection"/>
      <xsl:apply-templates select="functionsection"/>
    <p id="ErrorSection"/>
      <xsl:apply-templates select="errorsection"/>
    <p id="DataSection"/>
      <xsl:apply-templates select="datasection"/>
    <p id="EventSection"/>
      <xsl:apply-templates select="eventsection"/>
    <p id="ConstantIndex"/>
      <p/>
      <hr noshade="noshade" size="3"/>
      <h2>
        Constant Index
      </h2>
      <blockquote>
        <xsl:apply-templates select="//constant" mode="index">
          <xsl:sort select="@id"/>
        </xsl:apply-templates>
      </blockquote>
    <xsl:if test="$development = 'Show'">
      <p id="SpecificationIssues"/>
      <p/>
      <hr noshade="noshade" size="3"/>
      <h2>
        <xsl:value-of select="issuessection/@label"/>
      </h2>
      <xsl:apply-templates select="issuessection/intro"/>
    </xsl:if>
    <p id="ChangeHistory"/>
      <xsl:apply-templates select="changehistory"/>
  </body>
</html>
</xsl:template>

<xsl:template match="title">
    <h1>
      <xsl:apply-templates/>
    </h1>
    <h3>
      <xsl:value-of select="@subtitle"/>
      <xsl:text> 
      <xsl:call-template name="showbasicversion"/>
    </h3>
</xsl:template>

<xsl:template match="functionsection">
  <p/>
  <hr noshade="noshade" size="3"/>
  <h2>
    <xsl:value-of select="@label"/>
  </h2>
  <xsl:apply-templates select="intro"/>
  <h3 id="FunctionIndex">Function Index
  <ul>
    <xsl:apply-templates select="category" mode="index"/>
  </ul>
  <xsl:apply-templates select="category" mode="body"/>
</xsl:template>

<xsl:template match="category" mode="index">
  <li>
    <a>
      <xsl:attribute name="href">#
      <b>
        <xsl:value-of select="@label"/>
      </b>
    </a>
    <ul>
      <xsl:apply-templates select="function[count(@hide)=0]" mode="index"/>
    </ul>
  </li>
</xsl:template>

<xsl:template match="function|callback" mode="index">
  <li>
    <a>
      <xsl:attribute name="href">#
      <xsl:apply-templates select="synopsis" mode="index"/>
    </a>
  </li>
</xsl:template>

<xsl:template match="synopsis" mode="index">
    <xsl:value-of select="."/>
</xsl:template>

<xsl:template match="category" mode="body">
  <p>
    <xsl:attribute name="id">
      <xsl:value-of select="@id"/>
    </xsl:attribute>
  </p>
  <hr noshade="noshade" size="3"/>
  <h2 align="center">
  <xsl:value-of select="@label"/> functions:
  <ul>
    <xsl:apply-templates select="function[count(@hide)=0]" mode="index"/>
  </ul>
  <xsl:variable name="calltypes" select="callback"/>
  <xsl:if test="count($calltypes)!=0">
    <xsl:value-of select="@label"/> function types:
    <ul>
      <xsl:apply-templates select="$calltypes" mode="index"/>
    </ul>
  </xsl:if>
  <xsl:variable name="cattypes" 
    select="(descendant::typedef|descendant::uniontypedef|descendant::capabilitiestypedef|descendant::constants[@kind='enum'])"/>
  <xsl:if test="count($cattypes)!=0">
    <xsl:value-of select="@label"/> types:
    <ul>
      <xsl:for-each select="$cattypes">
        <li>
          <a>
            <xsl:attribute name="href">
              <xsl:text>#
              <xsl:value-of select="@id"/>
            </xsl:attribute>
            <code>
          </a>
          <xsl:text> - 
          <xsl:value-of select="@label"/>
        </li>
      </xsl:for-each>
    </ul>    
  </xsl:if>
  <xsl:variable name="catconst" 
    select="(descendant::constants[@kind!='enum'])"/>
  <xsl:if test="count($catconst)!=0">
    <xsl:value-of select="@label"/> flags and constants:
    <ul>
      <xsl:for-each select="$catconst">
        <li>
          <a>
            <xsl:attribute name="href">
              <xsl:text>#
              <xsl:value-of select="@id"/>
            </xsl:attribute>
            <xsl:value-of select="@label"/>
          </a>
        </li>
      </xsl:for-each>
    </ul>    
  </xsl:if>
  <xsl:apply-templates select="intro|typedef|uniontypedef|capabilitiestypedef"/>
  <p/>
  <xsl:apply-templates select="function[count(@hide)=0]|callback" mode="body"/>
</xsl:template>

<xsl:template match="function" mode="body">
  <hr noshade="noshade" width="100%" size="1">
    <xsl:attribute name="id">
      <xsl:value-of select="@id"/>
    </xsl:attribute>
    
  </hr>
  <xsl:apply-templates select="synopsis" mode="body"/>
  <blockquote>
    <xsl:apply-templates select="typedef" mode="code"/>
    <xsl:apply-templates select="descendant::constants[@kind='enum']" mode="signature"/>
    <pre>
      <xsl:text>jvmtiError
</xsl:text>
      <xsl:value-of select="@id"/>(jvmtiEnv* env)
</blockquote> <xsl:apply-templates select="description"/> <xsl:apply-templates select="." mode="generalinfo"/> <xsl:apply-templates select="capabilities|eventcapabilities"/> <xsl:apply-templates select="typedef" mode="body"/> <xsl:apply-templates select="parameters" mode="body"/> <xsl:apply-templates select="." mode="errors"/> </xsl:template> <xsl:template match="function" mode="generalinfo"> <table border="1" cellpadding="3" cellspacing="0" width="100%"> <tr bgcolor="#EEEEFF"> <td > <a href="#jvmtiPhase">Phase </td> <td> <a href="#heapCallbacks">Callback Safe </td> <td> <a href="#FunctionTable">Position </td> <td> <a href="#ChangeHistory">Since </td> </tr> <tr> <td > <xsl:apply-templates select="." mode="phaseinfo"/> </td> <td> <xsl:apply-templates select="." mode="callbacksafeinfo"/> </td> <td> <xsl:value-of select="@num"/> </td> <td> <xsl:value-of select="@since"/> </td> </tr> </table> </xsl:template> <xsl:template match="event" mode="generalinfo"> <table border="1" cellpadding="3" cellspacing="0" width="100%"> <tr bgcolor="#EEEEFF"> <td > <a href="#jvmtiPhase">Phase </td> <td> <a href="#jvmtiEvent">Event Type </td> <td> <a href="#jvmtiEvent">Number </td> <td> <a href="#enablingevents">Enabling </td> <td> <a href="#ChangeHistory">Since </td> </tr> <tr> <td > <xsl:apply-templates select="." mode="phaseinfo"/> </td> <td> <code> </td> <td> <xsl:value-of select="@num"/> </td> <td> <code>SetEventNotificationMode(JVMTI_ENABLE, <xsl:value-of select="@const"/>, NULL) </td> <td> <xsl:value-of select="@since"/> </td> </tr> </table> </xsl:template> <xsl:template match="function" mode="phaseinfo"> may <xsl:choose> <xsl:when test="count(@phase) = 0 or @phase = 'live'"> only be called during the live </xsl:when> <xsl:otherwise> <xsl:choose> <xsl:when test="@phase = 'onload'"> only be called during the OnLoad or the live </xsl:when> <xsl:otherwise> <xsl:choose> <xsl:when test="@phase = 'any'"> be called during any </xsl:when> <xsl:otherwise> <xsl:choose> <xsl:when test="@phase = 'start'"> only be called during the start or the live </xsl:when> <xsl:otherwise> <xsl:choose> <xsl:when test="@phase = 'onloadOnly'"> only be called during the OnLoad </xsl:when> <xsl:otherwise> <xsl:message terminate="yes"> bad phase - <xsl:value-of select="@phase"/> </xsl:message> </xsl:otherwise> </xsl:choose> </xsl:otherwise> </xsl:choose> </xsl:otherwise> </xsl:choose> </xsl:otherwise> </xsl:choose> </xsl:otherwise> </xsl:choose> phase </xsl:template> <xsl:template match="event" mode="phaseinfo"> sent <xsl:choose> <xsl:when test="count(@phase) = 0 or @phase = 'live'"> only during the live </xsl:when> <xsl:otherwise> <xsl:choose> <xsl:when test="@phase = 'any'"> during the primordial, start or live </xsl:when> <xsl:otherwise> <xsl:choose> <xsl:when test="@phase = 'start'"> during the start or live </xsl:when> <xsl:otherwise> <xsl:message terminate="yes"> bad phase - <xsl:value-of select="@phase"/> </xsl:message> </xsl:otherwise> </xsl:choose> </xsl:otherwise> </xsl:choose> </xsl:otherwise> </xsl:choose> phase </xsl:template> <xsl:template match="function" mode="callbacksafeinfo"> <xsl:choose> <xsl:when test="contains(@callbacksafe,'safe')"> This function may be called from the callbacks to the <a href="#Heap">Heap iteration functions, or from the event handlers for the <a href="#GarbageCollectionStart">GarbageCollectionStart, <a href="#GarbageCollectionFinish">GarbageCollectionFinish, and <a href="#ObjectFree">ObjectFree events. </xsl:when> <xsl:otherwise> No </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template match="callback" mode="body"> <hr noshade="noshade" width="100%" size="1"> <xsl:attribute name="id"> <xsl:value-of select="@id"/> </xsl:attribute> </hr> <xsl:apply-templates select="synopsis" mode="body"/> <table cellpadding="0" cellspacing="0" border="0" width="90%" align="center">
<blockquote> <pre> <xsl:text>typedef <xsl:apply-templates select="child::*[position()=1]" mode="signature"/> <xsl:text> (JNICALL * <xsl:value-of select="@id"/> <xsl:text>) (</xsl:text> <xsl:for-each select="parameters"> <xsl:apply-templates select="param[position()=1]" mode="signature"/> <xsl:for-each select="param[position()>1]"> <xsl:text>, </xsl:text> <xsl:apply-templates select="." mode="signature"/> </xsl:for-each> </xsl:for-each> <xsl:text>); </pre> </blockquote> <xsl:apply-templates select="description"/> <xsl:apply-templates select="parameters" mode="body"/> </td>
</xsl:template> <xsl:template match="synopsis" mode="body"> <h3> </xsl:template> <xsl:template match="eventsection"> <p/> <hr noshade="noshade" size="3"/> <h2> <xsl:value-of select="@label"/> </h2> <xsl:apply-templates select="intro"/> <blockquote> <pre> <xsl:text> typedef struct { </xsl:text> <xsl:call-template name="eventStruct"> <xsl:with-param name="events" select="event"/> <xsl:with-param name="index" select="0"/> <xsl:with-param name="started" select="false"/> <xsl:with-param name="comment" select="'No'"/> </xsl:call-template> <xsl:text>} jvmtiEventCallbacks; </xsl:text> </pre> </blockquote> <p/> <hr noshade="noshade" width="100%" size="1"/> <h3 id="EventIndex">Event Index <ul> <xsl:apply-templates select="event" mode="index"> <xsl:sort select="@label"/> </xsl:apply-templates> </ul> <xsl:apply-templates select="event" mode="body"/> </xsl:template> <xsl:template match="event" mode="index"> <li> <a> <xsl:attribute name="href"># <b> <xsl:value-of select="@label"/> </b> </a> </li> </xsl:template> <xsl:template match="event" mode="body"> <p> <xsl:attribute name="id"> <xsl:value-of select="@id"/> </xsl:attribute> </p> <hr noshade="noshade" size="3"/> <h2> <p/> <blockquote> <xsl:apply-templates select="typedef" mode="code"/> <pre> <xsl:text>void JNICALL </xsl:text> <xsl:value-of select="@id"/>(jvmtiEnv *jvmti_env) </blockquote> <xsl:apply-templates select="description"/> <xsl:apply-templates select="." mode="generalinfo"/> <xsl:apply-templates select="typedef" mode="body"/> <xsl:apply-templates select="capabilities"/> <xsl:apply-templates select="parameters" mode="body"/> </xsl:template> <xsl:template match="capabilitiestypedef" mode="code"> <blockquote> <pre> <xsl:apply-templates select="." mode="genstruct"/> </pre> </blockquote> </xsl:template> <xsl:template match="typedef" mode="code"> <pre> <xsl:call-template name="gentypedef"> <xsl:with-param name="tdef" select="."/> </xsl:call-template> </pre> </xsl:template> <xsl:template match="uniontypedef" mode="code"> <pre> <xsl:call-template name="genuniontypedef"> <xsl:with-param name="tdef" select="."/> </xsl:call-template> </pre> </xsl:template> <xsl:template match="capabilitiestypedef|typedef|uniontypedef" mode="description"> <xsl:apply-templates select="description"/> </xsl:template> <xsl:template match="capabilitiestypedef|typedef|uniontypedef"> <h4> <xsl:attribute name="id"> <xsl:value-of select="@id"/> </xsl:attribute> <xsl:value-of select="@label"/> </h4> <xsl:apply-templates select="." mode="description"/> <blockquote> <xsl:apply-templates select="." mode="code"/> <xsl:apply-templates select="." mode="justbody"/> </blockquote> </xsl:template> <xsl:template match="constants" mode="signature"> <pre> <xsl:apply-templates select="." mode="enum"/> </pre> </xsl:template> <xsl:template match="typedef|uniontypedef" mode="body"> <p> <xsl:attribute name="id"> <xsl:value-of select="@id"/> </xsl:attribute> </p> <xsl:apply-templates select="." mode="justbody"/> </xsl:template> <xsl:template match="typedef|uniontypedef" mode="justbody"> <table border="1" cellpadding="3" cellspacing="0" width="100%"> <tr bgcolor="#CCCCFF"> <td colspan="3" align="center" class="tableHeader"> <code> - </td> </tr> <tr bgcolor="#EEEEFF"> <td> Field </td> <td> Type </td> <td> Description </td> </tr> <xsl:apply-templates select="field" mode="body"/> </table> </xsl:template> <xsl:template match="capabilitiestypedef" mode="body"> <p> <xsl:attribute name="id"> <xsl:value-of select="@id"/> </xsl:attribute> </p> <xsl:apply-templates select="." mode="justbody"/> </xsl:template> <xsl:template match="capabilitiestypedef" mode="justbody"> <table border="1" cellpadding="3" cellspacing="0" width="100%"> <tr bgcolor="#CCCCFF"> <td colspan="3" align="center" class="tableHeader"> <code> - </td> </tr> <tr bgcolor="#EEEEFF"> <td colspan="3"> All types are <code>unsigned int : 1 </td> </tr> <tr bgcolor="#EEEEFF"> <td> Field </td> <td> Description </td> <td> <a href="#ChangeHistory">Since </td> </tr> <xsl:apply-templates select="capabilityfield" mode="body"/> </table> </xsl:template> <xsl:template match="typedef|uniontypedef|capabilitiestypedef|constants" mode="tableentry"> <tr> <td> <a> <xsl:attribute name="href"> <xsl:text># <xsl:value-of select="@id"/> </xsl:attribute> <code> </a> </td> <td> <xsl:value-of select="@label"/> </td> </tr> </xsl:template> <xsl:template match="field" mode="body"> <tr> <td> <code> <xsl:attribute name="id"> <xsl:value-of select="../@id"/>. </xsl:attribute> <xsl:value-of select="@id"/> </code> </td> <td> <code> <xsl:apply-templates select="child::*[position()=1]" mode="link"/> </code> </td> <td> <xsl:apply-templates select="description" mode="brief"/> </td> </tr> </xsl:template> <xsl:template match="capabilityfield" mode="body"> <tr> <td> <code> <xsl:choose> <xsl:when test="@disp1!=''"> <xsl:value-of select="@disp1"/> <br>
<xsl:value-of select="@disp2"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="@id"/> </xsl:otherwise> </xsl:choose> </code> </td> <td> <a> <xsl:attribute name="name"> <xsl:value-of select="../@id"/>. </xsl:attribute> </a> <xsl:apply-templates select="description" mode="brief"/> </td> <td> <xsl:value-of select="@since"/> </td> </tr> </xsl:template> <xsl:template match="callback" mode="tableentry"> <tr> <td> <a> <xsl:attribute name="href"> <xsl:text># <xsl:value-of select="@id"/> </xsl:attribute> <code> <xsl:value-of select="@id"/> </code> </a> </td> <td> <xsl:apply-templates select="synopsis" mode="index"/> </td> </tr> </xsl:template> <xsl:template match="constants"> <blockquote> <a> <xsl:attribute name="name"> <xsl:value-of select="@id"/> </xsl:attribute> </a> <table border="1" cellpadding="3" cellspacing="0"> <tr bgcolor="#CCCCFF"> <td colspan="3" align="center" class="tableHeader"> <xsl:value-of select="@label"/> <xsl:if test="@kind='enum'"> <xsl:text> ( <code> <xsl:value-of select="@id"/> </code> <xsl:text>) </xsl:if> </td> </tr> <tr bgcolor="#EEEEFF"> <td> Constant </td> <td> Value </td> <td> Description </td> </tr> <xsl:apply-templates select="constant" mode="body"/> </table> </blockquote> </xsl:template> <xsl:template match="constant" mode="index"> <a> <xsl:attribute name="href"># </xsl:attribute> <code> <xsl:value-of select="@id"/> </code> </a> <br/> </xsl:template> <xsl:template match="constant" mode="body"> <tr> <td> <code> <xsl:attribute name="id"> <xsl:value-of select="@id"/> </xsl:attribute> <xsl:value-of select="@id"/> </code> </td> <td align="right"> <xsl:value-of select="@num"/> </td> <td> <xsl:apply-templates/> </td> </tr> </xsl:template> <xsl:template match="basetypes"> <p> <xsl:attribute name="id"> <xsl:value-of select="@id"/> </xsl:attribute> </p> <table border="1" cellpadding="3" cellspacing="0" width="100%"> <tr bgcolor="#CCCCFF"> <td colspan="2" align="center" class="tableHeader"> <xsl:value-of select="@label"/> </td> </tr> <tr bgcolor="#EEEEFF"> <td> Type </td> <td> Description </td> </tr> <xsl:apply-templates select="basetype" mode="body"/> </table> </xsl:template> <xsl:template match="basetype" mode="body"> <xsl:choose> <xsl:when test="count(definition)=0"> <tr> <td> <code> <xsl:value-of select="@id"/> </code> </td> <td> <a> <xsl:attribute name="name"> <xsl:value-of select="@id"/> </xsl:attribute> </a> <xsl:apply-templates select="description" mode="brief"/> </td> </tr> </xsl:when> <xsl:otherwise> <tr> <td rowspan="2"> <code> <xsl:value-of select="@id"/> </code> </td> <td> <a> <xsl:attribute name="name"> <xsl:value-of select="@id"/> </xsl:attribute> </a> <xsl:apply-templates select="description" mode="brief"/> </td> </tr> <tr> <td> <pre> <xsl:apply-templates select="definition"/> </pre> </td> </tr> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template match="description"> <xsl:apply-templates/> <p/> </xsl:template> <xsl:template match="description" mode="brief"> <xsl:apply-templates/> </xsl:template> <xsl:template match="fieldlink"> <a> <xsl:attribute name="href">#. <xsl:choose> <xsl:when test=".=''"> <code> <xsl:value-of select="@id"/> </code> </xsl:when> <xsl:otherwise> <xsl:apply-templates/> </xsl:otherwise> </xsl:choose> </a> </xsl:template> <xsl:template match="paramlink"> <a> <xsl:attribute name="href">#. </xsl:attribute> <xsl:choose> <xsl:when test=".=''"> <code> <xsl:value-of select="@id"/> </code> </xsl:when> <xsl:otherwise> <xsl:apply-templates/> </xsl:otherwise> </xsl:choose> </a> </xsl:template> <xsl:template match="eventlink|errorlink|typelink|datalink|functionlink"> <a> <xsl:attribute name="href"># <xsl:choose> <xsl:when test=".=''"> <code> <xsl:value-of select="@id"/> </code> </xsl:when> <xsl:otherwise> <xsl:apply-templates/> </xsl:otherwise> </xsl:choose> </a> </xsl:template> <xsl:template match="functionphaselist"> <xsl:variable name="phase" select="@phase"/> <ul> <xsl:for-each select="/specification/functionsection/category/function[@phase=$phase and count(@hide)=0]"> <li> <a> <xsl:attribute name="href"># <b> <xsl:value-of select="@id"/> </b> </a> </li> </xsl:for-each> </ul> </xsl:template> <xsl:template match="eventphaselist"> <xsl:variable name="phase" select="@phase"/> <ul> <xsl:for-each select="//eventsection/event[@phase=$phase]"> <li> <a> <xsl:attribute name="href"># <b> <xsl:value-of select="@id"/> </b> </a> </li> </xsl:for-each> </ul> </xsl:template> <xsl:template match="externallink"> <a> <xsl:attribute name="href"> <xsl:value-of select="@id"/> </xsl:attribute> <xsl:value-of select="."/> </a> </xsl:template> <xsl:template match="vmspec"> <cite> <xsl:text>The Java™ Virtual Machine Specification <xsl:if test="count(@chapter)=1"> <xsl:text>, Chapter <xsl:value-of select="@chapter"/> </xsl:if> </cite> </xsl:template> <xsl:template match="internallink"> <a> <xsl:attribute name="href"># <xsl:apply-templates/> </a> </xsl:template> <xsl:template match="parameters" mode="body"> <p/> <table border="1" cellpadding="3" cellspacing="0" width="100%"> <tr bgcolor="#CCCCFF"> <td colspan="3" align="center" class="tableHeader"> Parameters </td> </tr> <tr bgcolor="#EEEEFF"> <td> Name </td> <td> Type </td> <td> Description </td> </tr> <xsl:apply-templates select="param[count(jclass/@method)=0]" mode="body"/> </table> </xsl:template> <xsl:template match="param" mode="body"> <tr> <td> <code> <xsl:attribute name="id"> <xsl:value-of select="../../@id"/>. </xsl:attribute> <xsl:value-of select="@id"/> </code> </td> <td> <code> <xsl:apply-templates select="child::*[position()=1]" mode="link"/> </code> </td> <td> <xsl:apply-templates select="description" mode="brief"/> <xsl:if test="count(ancestor::function)=1"> <xsl:apply-templates select="child::*[position()=1]" mode="funcdescription"/> </xsl:if> </td> </tr> </xsl:template> <xsl:template match="capabilities"> <p/> <table border="1" cellpadding="3" cellspacing="0" width="100%"> <tr bgcolor="#CCCCFF"> <td colspan="2" align="center" class="tableHeader"> Capabilities </td> </tr> <xsl:choose> <xsl:when test="count(required)=0"> <tr> <td colspan="2"> <b>Required Functionality </td> </tr> </xsl:when> <xsl:otherwise> <tr> <td colspan="2"> <b>Optional Functionality: might not be implemented for all virtual machines. <xsl:choose> <xsl:when test="count(required)=1"> The following capability </xsl:when> <xsl:otherwise> One of the following capabilities </xsl:otherwise> </xsl:choose> (as returned by <a href="#GetCapabilities">GetCapabilities) must be true to use this <xsl:choose> <xsl:when test="ancestor::function"> function. </xsl:when> <xsl:otherwise> event. </xsl:otherwise> </xsl:choose> </td> </tr> <tr bgcolor="#EEEEFF"> <td > Capability </td> <td> Effect </td> </tr> <xsl:apply-templates select="required"/> </xsl:otherwise> </xsl:choose> <xsl:if test="count(capability)!=0"> <tr bgcolor="#CCCCFF"> <td colspan="2" align="center"> Optional Features </td> </tr> <xsl:if test="count(required)=0"> <tr bgcolor="#EEEEFF"> <td > Capability </td> <td> Effect </td> </tr> </xsl:if> <xsl:apply-templates select="capability"/> </xsl:if> </table> </xsl:template> <xsl:template match="eventcapabilities"> <p/> <table border="1" cellpadding="3" cellspacing="0" width="100%"> <tr bgcolor="#CCCCFF"> <td colspan="2" align="center" class="tableHeader"> Capabilities </td> </tr> <tr> <td colspan="2"> <b>Required Functionality </td> </tr> <tr bgcolor="#CCCCFF"> <td colspan="2" align="center"> Event Enabling Capabilities </td> </tr> <tr bgcolor="#EEEEFF"> <td > Capability </td> <td> Events </td> </tr> <xsl:for-each select="//capabilityfield"> <xsl:variable name="capa" select="@id"/> <xsl:variable name="events" select="//event[capabilities/required/@id=$capa]"/> <xsl:if test="count($events)"> <tr> <td> <a> <xsl:attribute name="href">#jvmtiCapabilities. </xsl:attribute> <code> <xsl:value-of select="@id"/> </code> </a> </td> <td> <xsl:for-each select="$events"> <a> <xsl:attribute name="href"># </xsl:attribute> <code> <xsl:value-of select="@id"/> </code> </a> <br/> </xsl:for-each> </td> </tr> </xsl:if> </xsl:for-each> </table> </xsl:template> <xsl:template match="capability|required"> <tr> <td> <a> <xsl:attribute name="href">#jvmtiCapabilities. </xsl:attribute> <code> <xsl:value-of select="@id"/> </code> </a> </td> <td> <xsl:choose> <xsl:when test=".=''"> <xsl:variable name="desiredID" select="@id"/> <xsl:for-each select="//capabilityfield[@id=$desiredID]"> <xsl:apply-templates select="description" mode="brief"/> </xsl:for-each> </xsl:when> <xsl:otherwise> <xsl:apply-templates/> </xsl:otherwise> </xsl:choose> </td> </tr> </xsl:template> <xsl:template match="function" mode="errors"> <xsl:variable name="haserrors"> <xsl:apply-templates select="capabilities/required" mode="haserrors"/> <xsl:apply-templates select="errors/error" mode="haserrors"/> <xsl:apply-templates select="parameters/param" mode="haserrors"/> </xsl:variable> <p/> <table border="1" cellpadding="3" cellspacing="0" width="100%"> <tr bgcolor="#CCCCFF"> <td colspan="2" align="center" class="tableHeader"> Errors </td> </tr> <xsl:choose> <xsl:when test="contains($haserrors,'yes')"> <tr> <td colspan="2"> This function returns either a <a href="#universal-error">universal error or one of the following errors </td> </tr> <tr bgcolor="#EEEEFF"> <td> Error </td> <td> Description </td> </tr> <xsl:apply-templates select="capabilities/required" mode="errors"/> <xsl:apply-templates select="errors/error"/> <xsl:apply-templates select="parameters/param" mode="errors"/> </xsl:when> <xsl:otherwise> <tr> <td colspan="2"> This function returns a <a href="#universal-error">universal error </td> </tr> </xsl:otherwise> </xsl:choose> </table> </xsl:template> <xsl:template match="required" mode="haserrors"> yes </xsl:template> <xsl:template match="required" mode="errors"> <tr> <td> <a href="#JVMTI_ERROR_MUST_POSSESS_CAPABILITY"> <code> JVMTI_ERROR_MUST_POSSESS_CAPABILITY </code> </a> </td> <td> The environment does not possess the capability <a> <xsl:attribute name="href">#jvmtiCapabilities. <code> <xsl:value-of select="@id"/> </code> </a>. Use <a href="#AddCapabilities">AddCapabilities. </td> </tr> </xsl:template> <xsl:template match="param" mode="haserrors"> <xsl:apply-templates mode="haserrors"/> </xsl:template> <xsl:template match="param" mode="errors"> <xsl:apply-templates select="." mode="errors1"/> <xsl:apply-templates select="." mode="errors2"/> </xsl:template> <xsl:template match="param" mode="errors1"> <xsl:variable name="haserrors"> <xsl:apply-templates mode="haserrors"/> </xsl:variable> <xsl:if test="contains($haserrors,'yes')!=0"> <xsl:variable name="erroridraw"> <xsl:apply-templates mode="errorid"/> </xsl:variable> <xsl:variable name="errorid" select="normalize-space($erroridraw)"/> <tr> <td> <a> <xsl:attribute name="href"># <code> <xsl:value-of select="$errorid"/> </code> </a> </td> <td> <xsl:apply-templates mode="errordesc"> <xsl:with-param name="id" select="@id"/> </xsl:apply-templates> </td> </tr> </xsl:if> </xsl:template> <xsl:template match="param" mode="errors2"> <xsl:variable name="haserrors2"> <xsl:apply-templates mode="haserrors2"/> </xsl:variable> <xsl:if test="contains($haserrors2,'yes')!=0"> <xsl:variable name="erroridraw2"> <xsl:apply-templates mode="errorid2"/> </xsl:variable> <xsl:variable name="errorid2" select="normalize-space($erroridraw2)"/> <tr> <td> <a> <xsl:attribute name="href"># <code> <xsl:value-of select="$errorid2"/> </code> </a> </td> <td> <xsl:apply-templates mode="errordesc2"> <xsl:with-param name="id" select="@id"/> </xsl:apply-templates> </td> </tr> </xsl:if> </xsl:template> <xsl:template match="description" mode="haserrors"> </xsl:template> <xsl:template match="description" mode="errorid"> </xsl:template> <xsl:template match="description" mode="errordesc"> </xsl:template> <xsl:template match="jmethodID|jfieldID|jframeID|jrawMonitorID|jthread|jthreadGroup|jobject|enum|jlocation" mode="haserrors"> yes </xsl:template> <xsl:template match="jclass" mode="haserrors"> <xsl:if test="count(@method)=0"> yes </xsl:if> </xsl:template> <xsl:template match="description|jclass|jfieldID|jrawMonitorID| jthreadGroup|jobject|enum|jlocation|jvalue|jchar|jint|jlong|jfloat|jdouble|jboolean| char|uchar|size_t|void|varargs|struct| ptrtype|outptr|allocbuf|allocallocbuf|inptr|inbuf|outbuf|vmbuf|agentbuf" mode="haserrors2"> </xsl:template> <xsl:template match="jmethodID" mode="haserrors2"> <xsl:if test="count(@native)=1 and contains(@native,'error')"> yes </xsl:if> </xsl:template> <xsl:template match="jthread" mode="haserrors2"> <xsl:if test="count(@started)=0 or contains(@started,'yes') or @started=''"> yes </xsl:if> </xsl:template> <xsl:template match="jframeID" mode="haserrors2"> yes </xsl:template> <xsl:template match="description" mode="errorid2"> </xsl:template> <xsl:template match="description" mode="errordesc2"> </xsl:template> <xsl:template match="jmethodID" mode="errorid"> <xsl:text>JVMTI_ERROR_INVALID_METHODID </xsl:template> <xsl:template match="jmethodID" mode="errorid2"> <xsl:text>JVMTI_ERROR_NATIVE_METHOD </xsl:template> <xsl:template match="jmethodID" mode="errordesc"> <xsl:param name="id"/> <xsl:apply-templates select="." mode="paramlink"/> <xsl:text> is not a jmethodID. </xsl:template> <xsl:template match="jmethodID" mode="errordesc2"> <xsl:param name="id"/> <xsl:apply-templates select="." mode="paramlink"/> <xsl:text> is a native method. </xsl:template> <xsl:template match="jfieldID" mode="errorid"> <xsl:text>JVMTI_ERROR_INVALID_FIELDID </xsl:template> <xsl:template match="jfieldID" mode="errordesc"> <xsl:param name="id"/> <xsl:apply-templates select="." mode="paramlink"/> <xsl:text> is not a jfieldID. </xsl:template> <xsl:template match="jframeID" mode="errorid"> <xsl:text>JVMTI_ERROR_ILLEGAL_ARGUMENT </xsl:template> <xsl:template match="jframeID" mode="errorid2"> <xsl:text>JVMTI_ERROR_NO_MORE_FRAMES </xsl:template> <xsl:template match="jframeID" mode="errordesc"> <xsl:param name="id"/> <xsl:apply-templates select="." mode="paramlink"/> <xsl:text> is less than zero. </xsl:template> <xsl:template match="jframeID" mode="errordesc2"> <xsl:param name="id"/> <xsl:text>There are no stack frames at the specified <xsl:apply-templates select="." mode="paramlink"/> <xsl:text>. </xsl:template> <xsl:template match="jrawMonitorID" mode="errorid"> <xsl:text>JVMTI_ERROR_INVALID_MONITOR </xsl:template> <xsl:template match="jrawMonitorID" mode="errordesc"> <xsl:param name="id"/> <xsl:apply-templates select="." mode="paramlink"/> <xsl:text> is not a jrawMonitorID. </xsl:template> <xsl:template match="jclass" mode="errorid"> <xsl:text>JVMTI_ERROR_INVALID_CLASS </xsl:template> <xsl:template match="jclass" mode="errordesc"> <xsl:param name="id"/> <xsl:apply-templates select="." mode="paramlink"/> <xsl:text> is not a class object or the class has been unloaded. </xsl:template> <xsl:template match="jthread" mode="errorid"> <xsl:text>JVMTI_ERROR_INVALID_THREAD </xsl:template> <xsl:template match="jthread" mode="errorid2"> <xsl:text>JVMTI_ERROR_THREAD_NOT_ALIVE </xsl:template> <xsl:template match="jthread" mode="errordesc"> <xsl:param name="id"/> <xsl:apply-templates select="." mode="paramlink"/> <xsl:text> is not a thread object. </xsl:template> <xsl:template match="jthread" mode="errordesc2"> <xsl:param name="id"/> <xsl:apply-templates select="." mode="paramlink"/> <xsl:text> is not live (has not been started or is now dead). </xsl:template> <xsl:template match="jthreadGroup" mode="errorid"> <xsl:text>JVMTI_ERROR_INVALID_THREAD_GROUP </xsl:template> <xsl:template match="jthreadGroup" mode="errordesc"> <xsl:param name="id"/> <xsl:apply-templates select="." mode="paramlink"/> <xsl:text> is not a thread group object. </xsl:template> <xsl:template match="jobject" mode="errorid"> <xsl:text>JVMTI_ERROR_INVALID_OBJECT </xsl:template> <xsl:template match="jobject" mode="errordesc"> <xsl:param name="id"/> <xsl:apply-templates select="." mode="paramlink"/> <xsl:text> is not an object. </xsl:template> <xsl:template match="enum" mode="errorid"> <xsl:choose> <xsl:when test=".='jvmtiEvent'"> <xsl:text>JVMTI_ERROR_INVALID_EVENT_TYPE </xsl:when> <xsl:otherwise> <xsl:text>JVMTI_ERROR_ILLEGAL_ARGUMENT </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template match="enum" mode="errordesc"> <xsl:param name="id"/> <xsl:apply-templates select="." mode="paramlink"/> <xsl:text> is not a <xsl:value-of select="."/> <xsl:text>. </xsl:template> <xsl:template match="jlocation" mode="errorid"> <xsl:text>JVMTI_ERROR_INVALID_LOCATION </xsl:template> <xsl:template match="jlocation" mode="errordesc"> <xsl:param name="id"/> <xsl:apply-templates select="." mode="paramlink"/> <xsl:text> is not a valid location. </xsl:template> <xsl:template match="jint" mode="haserrors"> <xsl:if test="count(@min)=1"> yes </xsl:if> </xsl:template> <xsl:template match="jint" mode="errorid"> <xsl:text>JVMTI_ERROR_ILLEGAL_ARGUMENT </xsl:template> <xsl:template match="jint" mode="errordesc"> <xsl:param name="id"/> <xsl:apply-templates select="." mode="paramlink"/> <xsl:text> is less than <code> <xsl:text>. </xsl:template> <xsl:template match="jvalue|jchar|jlong|jfloat|jdouble|jboolean|char|uchar|size_t|void|varargs|struct" mode="haserrors"> </xsl:template> <xsl:template match="jvalue|jchar|jlong|jfloat|jdouble|jboolean|char|uchar|size_t|void|varargs|struct" mode="errordesc"> <xsl:param name="id"/> <xsl:message terminate="yes"> attempt to get error description for <xsl:apply-templates select="." mode="paramlink"/> </xsl:message> </xsl:template> <xsl:template match="ptrtype|outptr|allocbuf|allocallocbuf|inptr|inbuf|outbuf|vmbuf|agentbuf" mode="haserrors"> <xsl:if test="count(nullok)=0"> yes </xsl:if> </xsl:template> <xsl:template match="ptrtype|outptr|allocbuf|allocallocbuf|inptr|inbuf|outbuf|vmbuf|agentbuf" mode="errorid"> <xsl:text>JVMTI_ERROR_NULL_POINTER </xsl:template> <xsl:template match="ptrtype|outptr|allocbuf|allocallocbuf|inptr|inbuf|outbuf|vmbuf|agentbuf" mode="errordesc"> <xsl:param name="id"/> <xsl:if test="count(nullok)=1"> <xsl:message terminate="yes"> attempt to get error description in null ok case for <xsl:apply-templates select="." mode="paramlink"/> </xsl:message> </xsl:if> <xsl:apply-templates select="." mode="paramlink"/> <xsl:text> is <code>NULL <xsl:text>. </xsl:template> <xsl:template match="jmethodID|jfieldID|jframeID|jrawMonitorID|jint|jclass|jthread|jthreadGroup|jobject|enum|jlocation|ptrtype|outptr|allocbuf|allocallocbuf|inptr|inbuf|outbuf|vmbuf|agentbuf" mode="paramlink"> <a> <xsl:attribute name="href">#. </xsl:attribute> <code> <xsl:value-of select="ancestor::param/@id"/> </code> </a> </xsl:template> <xsl:template match="error" mode="haserrors"> yes </xsl:template> <xsl:template match="error"> <tr> <td> <a> <xsl:attribute name="href"># <code> <xsl:value-of select="@id"/> </code> </a> </td> <td> <xsl:apply-templates/> </td> </tr> </xsl:template> <xsl:template match="errorsection"> <p/> <hr noshade="noshade" size="3"/> <h2> Errors </h2> <p/> <xsl:apply-templates select="intro"/> <p/> <xsl:apply-templates select="errorcategory"/> <p/> </xsl:template> <xsl:template match="datasection"> <p/> <hr noshade="noshade" size="3"/> <h2> Data Types </h2> <p/> <xsl:apply-templates select="intro"/> <xsl:apply-templates select="basetypes"/> <p/> <a name="StructureTypeDefinitions"> <table border="1" cellpadding="3" cellspacing="0" width="100%"> <tr bgcolor="#CCCCFF"> <td colspan="2" align="center" class="tableHeader"> Structure Type Definitions </td> </tr> <tr bgcolor="#EEEEFF"> <td> Type </td> <td> Description </td> </tr> <xsl:apply-templates select="//typedef|//uniontypedef|//capabilitiestypedef" mode="tableentry"> <xsl:sort select="@id"/> </xsl:apply-templates> </table> <p/> <a name="FunctionTypeDefinitions"> <table border="1" cellpadding="3" cellspacing="0" width="100%"> <tr bgcolor="#CCCCFF"> <td colspan="2" align="center" class="tableHeader"> Function Type Definitions </td> </tr> <tr bgcolor="#EEEEFF"> <td> Type </td> <td> Description </td> </tr> <xsl:apply-templates select="//callback" mode="tableentry"> <xsl:sort select="@id"/> </xsl:apply-templates> </table> <p/> <a name="EnumerationDefinitions"> <table border="1" cellpadding="3" cellspacing="0" width="100%"> <tr bgcolor="#CCCCFF"> <td colspan="2" align="center" class="tableHeader"> Enumeration Definitions </td> </tr> <tr bgcolor="#EEEEFF"> <td> Type </td> <td> Description </td> </tr> <xsl:apply-templates select="//constants[@kind='enum']" mode="tableentry"> <xsl:sort select="@id"/> </xsl:apply-templates> </table> <p/> <a name="FunctionTable"> <table border="1" cellpadding="3" cellspacing="0" width="100%"> <tr bgcolor="#CCCCFF"> <td colspan="3" align="center" class="tableHeader"> Function Table Layout </td> </tr> <tr bgcolor="#EEEEFF"> <td> Position </td> <td> Function </td> <td> Declaration </td> </tr> <xsl:call-template name="funcStruct"> <xsl:with-param name="funcs" select="//functionsection/category/function[count(@hide)=0]"/> <xsl:with-param name="index" select="1"/> </xsl:call-template> </table> <p/> </xsl:template> <xsl:template name="funcStruct"> <xsl:param name="funcs"/> <xsl:param name="index"/> <xsl:variable name="thisFunction" select="$funcs[@num=$index]"/> <tr> <td align="right"> <xsl:number value="$index" format=" 1"/> </td> <xsl:choose> <xsl:when test="count($thisFunction)=1"> <td> <a> <xsl:attribute name="href"> <xsl:text># <xsl:value-of select="$thisFunction/@id"/> </xsl:attribute> <xsl:value-of select="$thisFunction/synopsis"/> </a> </td> <td> <pre> <xsl:text>jvmtiError (JNICALL * <xsl:value-of select="$thisFunction/@id"/> <xsl:text>) (jvmtiEnv* env <xsl:apply-templates select="$thisFunction/parameters" mode="signature"> <xsl:with-param name="comma"> <xsl:text>, </xsl:with-param> </xsl:apply-templates> <xsl:text>); </pre> </td> </xsl:when> <xsl:otherwise> <xsl:if test="count($thisFunction) != 0"> <xsl:message terminate="yes"> More than one function has index number <xsl:number value="$index" format=" 1"/>. </xsl:message> </xsl:if> <td> <i>reserved </td> <td> <pre> <xsl:text>void *reserved <xsl:value-of select="$index"/> <xsl:text>; </pre> </td> </xsl:otherwise> </xsl:choose> </tr> <xsl:if test="count($funcs[@num > $index]) > 0"> <xsl:call-template name="funcStruct"> <xsl:with-param name="funcs" select="$funcs"/> <xsl:with-param name="index" select="1+$index"/> </xsl:call-template> </xsl:if> </xsl:template> <xsl:template match="errorcategory"> <h3> <xsl:attribute name="id"> <xsl:value-of select="@id"/> </xsl:attribute> <xsl:value-of select="@label"/> </h3> <xsl:apply-templates select="intro"/> <p/> <dl> <xsl:apply-templates select="errorid"/> </dl> <p/> </xsl:template> <xsl:template match="errorid"> <dt> <code> <xsl:attribute name="id"> <xsl:value-of select="@id"/> </xsl:attribute> <xsl:value-of select="@id"/> () </code> </dt> <dd> <xsl:apply-templates/> <p/> </dd> </xsl:template> <xsl:template match="changehistory"> <p/>
<h2>Change History Last update: <xsl:value-of select="@update"/>
Version: <xsl:call-template name="showversion"/> <p/> <xsl:apply-templates select="intro"/> <p/> <table border="1" cellpadding="3" cellspacing="0" width="100%"> <tr bgcolor="#EEEEFF"> <td> <b>Version
<b>Date </td> <td> <b>Changes </td> </tr> <xsl:apply-templates select="change"/> </table> </xsl:template> <xsl:template match="change"> <tr> <td> <xsl:if test="count(@version)"> <b> <xsl:value-of select="@version"/> </b> <br/> </xsl:if> <xsl:value-of select="@date"/> </td> <td> <xsl:apply-templates/> </td> </tr> </xsl:template> <xsl:template match="intro"> <xsl:if test="@id!=''"> <xsl:choose> <xsl:when test="@label!=''"> <h4> <xsl:attribute name="id"> <xsl:value-of select="@id"/> </xsl:attribute> <xsl:value-of select="@label"/> </h4> </xsl:when> <xsl:otherwise> <a> <xsl:attribute name="name"> <xsl:value-of select="@id"/> </xsl:attribute> </a> </xsl:otherwise> </xsl:choose> </xsl:if> <xsl:apply-templates/> </xsl:template> <xsl:template match="issue"> <xsl:if test="$development = 'Show'"> <p style="color: red"> To be resolved: <xsl:apply-templates/> </p> </xsl:if> </xsl:template> <xsl:template match="rationale"> <p style="color: purple"> Rationale: <xsl:apply-templates/> </p> </xsl:template> <xsl:template match="todo"> <xsl:if test="$development = 'Show'"> <p style="color: green"> To do: <xsl:apply-templates/> </p> </xsl:if> </xsl:template> <xsl:template match="elide"> </xsl:template> <xsl:template match="b"> <b> <xsl:apply-templates/> </b> </xsl:template> <xsl:template match="example"> <blockquote> <pre> <xsl:apply-templates/> </pre> </blockquote> </xsl:template> <xsl:template match="table"> <table border="1" cellpadding="3" cellspacing="0" width="100%"> <xsl:apply-templates/> </table> </xsl:template> <xsl:template match="tr"> <tr> <xsl:apply-templates/> </tr> </xsl:template> <xsl:template match="td"> <td> <xsl:attribute name="align"> <xsl:value-of select="@align"/> </xsl:attribute> <xsl:apply-templates/> </td> </xsl:template> <xsl:template match="th"> <th bgcolor="#EEEEFF"> <xsl:attribute name="align"> <xsl:value-of select="@align"/> </xsl:attribute> <xsl:apply-templates/> </th> </xsl:template> <xsl:template match="dl"> <dl> <xsl:apply-templates/> </dl> </xsl:template> <xsl:template match="dt"> <dt> <xsl:apply-templates/> </dt> </xsl:template> <xsl:template match="dd"> <dd> <xsl:apply-templates/> </dd> </xsl:template> <xsl:template match="p"> <p> <xsl:apply-templates/> </p> </xsl:template> <xsl:template match="br"> <br> <xsl:apply-templates/> </br> </xsl:template> <xsl:template match="ul"> <ul> <xsl:attribute name="type"> <xsl:apply-templates/> </ul> </xsl:template> <xsl:template match="li"> <li> <xsl:apply-templates/> </li> </xsl:template> <xsl:template match="code"> <code> <xsl:apply-templates/> </code> </xsl:template> <xsl:template match="tm"> <xsl:apply-templates/> <sup style="font-size: xx-small"> <xsl:text>TM </sup> <xsl:text> </xsl:template> <xsl:template match="b"> <b> <xsl:apply-templates/> </b> </xsl:template> <xsl:template match="i"> <i> <xsl:apply-templates/> </i> </xsl:template> <xsl:template match="space"> <xsl:text> </xsl:template> <xsl:template match="jvmti"> <xsl:text>JVM TI </xsl:template> </xsl:stylesheet>

Other Java examples (source code examples)

Here is a short list of links related to this Java jvmti.xsl source code file:

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.