comparison src/share/vm/prims/jvmti.xsl @ 0:a61af66fc99e jdk7-b24

Initial load
author duke
date Sat, 01 Dec 2007 00:00:00 +0000
parents
children c18cbe5936b8
comparison
equal deleted inserted replaced
-1:000000000000 0:a61af66fc99e
1 <?xml version="1.0"?>
2 <!--
3 Copyright 2002-2006 Sun Microsystems, Inc. All Rights Reserved.
4 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5
6 This code is free software; you can redistribute it and/or modify it
7 under the terms of the GNU General Public License version 2 only, as
8 published by the Free Software Foundation.
9
10 This code is distributed in the hope that it will be useful, but WITHOUT
11 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13 version 2 for more details (a copy is included in the LICENSE file that
14 accompanied this code).
15
16 You should have received a copy of the GNU General Public License version
17 2 along with this work; if not, write to the Free Software Foundation,
18 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
19
20 Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
21 CA 95054 USA or visit www.sun.com if you need additional information or
22 have any questions.
23
24 -->
25
26 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
27
28 <xsl:import href="jvmtiLib.xsl"/>
29
30 <xsl:output method="html" indent="yes"
31 doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"
32 doctype-system="http://www.w3.org/TR/html4/loose.dtd"/>
33
34 <xsl:param name="development"></xsl:param>
35
36 <xsl:template match="specification">
37 <html>
38 <head>
39 <title>
40 <xsl:value-of select="@label"/>
41 <xsl:text> </xsl:text>
42 <xsl:call-template name="showversion"/>
43 </title>
44 <style type="text/css">
45 td.tableHeader {font-size: larger}
46 </style>
47 </head>
48 <body>
49 <table border="0" width="100%">
50 <tr>
51 <td align="center">
52 <xsl:apply-templates select="title"/>
53 </td>
54 </tr>
55 </table>
56 <ul>
57 <li>
58 <a href="#SpecificationIntro"><b>Introduction</b></a>
59 <ul>
60 <xsl:for-each select="intro">
61 <li>
62 <a>
63 <xsl:attribute name="href">#<xsl:value-of select="@id"/>
64 </xsl:attribute>
65 <b><xsl:value-of select="@label"/></b>
66 </a>
67 </li>
68 </xsl:for-each>
69 </ul>
70 </li>
71 <li>
72 <a href="#FunctionSection"><b>Functions</b></a>
73 <ul>
74 <xsl:for-each select="functionsection/intro">
75 <li>
76 <a>
77 <xsl:attribute name="href">#<xsl:value-of select="@id"/>
78 </xsl:attribute>
79 <b><xsl:value-of select="@label"/></b>
80 </a>
81 </li>
82 </xsl:for-each>
83 <li>
84 <a href="#FunctionIndex"><b>Function Index</b></a>
85 <ul>
86 <xsl:for-each select="functionsection/category">
87 <li>
88 <a>
89 <xsl:attribute name="href">#<xsl:value-of select="@id"/>
90 </xsl:attribute>
91 <b><xsl:value-of select="@label"/></b>
92 </a>
93 </li>
94 </xsl:for-each>
95 </ul>
96 </li>
97 <li>
98 <a href="#ErrorSection"><b>Error Codes</b></a>
99 </li>
100 </ul>
101 </li>
102 <li>
103 <a href="#EventSection"><b>Events</b></a>
104 <ul>
105 <li>
106 <a href="#EventIndex"><b>Event Index</b></a>
107 </li>
108 </ul>
109 </li>
110 <li>
111 <a href="#DataSection"><b>Data Types</b></a>
112 <ul>
113 <xsl:for-each select="//basetypes">
114 <li>
115 <a>
116 <xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute>
117 <b>
118 <xsl:value-of select="@label"/>
119 </b>
120 </a>
121 </li>
122 </xsl:for-each>
123 <li>
124 <a href="#StructureTypeDefinitions"><b>Structure Type Definitions</b></a>
125 </li>
126 <li>
127 <a href="#FunctionTypeDefinitions"><b>Function Type Definitions</b></a>
128 </li>
129 <li>
130 <a href="#EnumerationDefinitions"><b>Enumeration Definitions</b></a>
131 </li>
132 <li>
133 <a href="#FunctionTable"><b>Function Table</b></a>
134 </li>
135 </ul>
136 </li>
137 <li>
138 <a href="#ConstantIndex"><b>Constant Index</b></a>
139 </li>
140 <xsl:if test="$development = 'Show'">
141 <li>
142 <a href="#SpecificationIssues"><b>Issues</b></a>
143 <ul>
144 <xsl:for-each select="issuessection/intro">
145 <li>
146 <a>
147 <xsl:attribute name="href">#<xsl:value-of select="@id"/>
148 </xsl:attribute>
149 <b><xsl:value-of select="@label"/></b>
150 </a>
151 </li>
152 </xsl:for-each>
153 </ul>
154 </li>
155 </xsl:if>
156 <li>
157 <a href="#ChangeHistory"><b>Change History</b></a>
158 </li>
159 </ul>
160 <!-- end table of contents, begin body -->
161 <p/>
162 <hr noshade="noshade" size="3"/>
163 <p/>
164 <p id="SpecificationIntro"/>
165 <xsl:apply-templates select="intro"/>
166 <p id="FunctionSection"/>
167 <xsl:apply-templates select="functionsection"/>
168 <p id="ErrorSection"/>
169 <xsl:apply-templates select="errorsection"/>
170 <p id="DataSection"/>
171 <xsl:apply-templates select="datasection"/>
172 <p id="EventSection"/>
173 <xsl:apply-templates select="eventsection"/>
174 <p id="ConstantIndex"/>
175 <p/>
176 <hr noshade="noshade" size="3"/>
177 <h2>
178 Constant Index
179 </h2>
180 <blockquote>
181 <xsl:apply-templates select="//constant" mode="index">
182 <xsl:sort select="@id"/>
183 </xsl:apply-templates>
184 </blockquote>
185 <xsl:if test="$development = 'Show'">
186 <p id="SpecificationIssues"/>
187 <p/>
188 <hr noshade="noshade" size="3"/>
189 <h2>
190 <xsl:value-of select="issuessection/@label"/>
191 </h2>
192 <xsl:apply-templates select="issuessection/intro"/>
193 </xsl:if>
194 <p id="ChangeHistory"/>
195 <xsl:apply-templates select="changehistory"/>
196 </body>
197 </html>
198 </xsl:template>
199
200 <xsl:template match="title">
201 <h1>
202 <xsl:apply-templates/>
203 </h1>
204 <h3>
205 <xsl:value-of select="@subtitle"/>
206 <xsl:text> </xsl:text>
207 <xsl:call-template name="showbasicversion"/>
208 </h3>
209 </xsl:template>
210
211 <xsl:template match="functionsection">
212 <p/>
213 <hr noshade="noshade" size="3"/>
214 <h2>
215 <xsl:value-of select="@label"/>
216 </h2>
217 <xsl:apply-templates select="intro"/>
218 <h3 id="FunctionIndex">Function Index</h3>
219 <ul>
220 <xsl:apply-templates select="category" mode="index"/>
221 </ul>
222 <xsl:apply-templates select="category" mode="body"/>
223 </xsl:template>
224
225 <xsl:template match="category" mode="index">
226 <li>
227 <a>
228 <xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute>
229 <b>
230 <xsl:value-of select="@label"/>
231 </b>
232 </a>
233 <ul>
234 <xsl:apply-templates select="function[count(@hide)=0]" mode="index"/>
235 </ul>
236 </li>
237 </xsl:template>
238
239 <xsl:template match="function|callback" mode="index">
240 <li>
241 <a>
242 <xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute>
243 <xsl:apply-templates select="synopsis" mode="index"/>
244 </a>
245 </li>
246 </xsl:template>
247
248 <xsl:template match="synopsis" mode="index">
249 <xsl:value-of select="."/>
250 </xsl:template>
251
252 <xsl:template match="category" mode="body">
253 <p>
254 <xsl:attribute name="id">
255 <xsl:value-of select="@id"/>
256 </xsl:attribute>
257 </p>
258 <hr noshade="noshade" size="3"/>
259 <h2 align="center"><xsl:value-of select="@label"/></h2>
260 <xsl:value-of select="@label"/> functions:
261 <ul>
262 <xsl:apply-templates select="function[count(@hide)=0]" mode="index"/>
263 </ul>
264 <xsl:variable name="calltypes" select="callback"/>
265 <xsl:if test="count($calltypes)!=0">
266 <xsl:value-of select="@label"/> function types:
267 <ul>
268 <xsl:apply-templates select="$calltypes" mode="index"/>
269 </ul>
270 </xsl:if>
271 <xsl:variable name="cattypes"
272 select="(descendant::typedef|descendant::uniontypedef|descendant::capabilitiestypedef|descendant::constants[@kind='enum'])"/>
273 <xsl:if test="count($cattypes)!=0">
274 <xsl:value-of select="@label"/> types:
275 <ul>
276 <xsl:for-each select="$cattypes">
277 <li>
278 <a>
279 <xsl:attribute name="href">
280 <xsl:text>#</xsl:text>
281 <xsl:value-of select="@id"/>
282 </xsl:attribute>
283 <code><xsl:value-of select="@id"/></code>
284 </a>
285 <xsl:text> - </xsl:text>
286 <xsl:value-of select="@label"/>
287 </li>
288 </xsl:for-each>
289 </ul>
290 </xsl:if>
291 <xsl:variable name="catconst"
292 select="(descendant::constants[@kind!='enum'])"/>
293 <xsl:if test="count($catconst)!=0">
294 <xsl:value-of select="@label"/> flags and constants:
295 <ul>
296 <xsl:for-each select="$catconst">
297 <li>
298 <a>
299 <xsl:attribute name="href">
300 <xsl:text>#</xsl:text>
301 <xsl:value-of select="@id"/>
302 </xsl:attribute>
303 <xsl:value-of select="@label"/>
304 </a>
305 </li>
306 </xsl:for-each>
307 </ul>
308 </xsl:if>
309 <xsl:apply-templates select="intro|typedef|uniontypedef|capabilitiestypedef"/>
310 <p/>
311 <xsl:apply-templates select="function[count(@hide)=0]|callback" mode="body"/>
312 </xsl:template>
313
314 <xsl:template match="function" mode="body">
315 <hr noshade="noshade" width="100%" size="1">
316 <xsl:attribute name="id">
317 <xsl:value-of select="@id"/>
318 </xsl:attribute>
319
320 </hr>
321 <xsl:apply-templates select="synopsis" mode="body"/>
322 <blockquote>
323 <xsl:apply-templates select="typedef" mode="code"/>
324 <xsl:apply-templates select="descendant::constants[@kind='enum']" mode="signature"/>
325 <pre>
326 <xsl:text>jvmtiError
327 </xsl:text>
328 <xsl:value-of select="@id"/>(jvmtiEnv* env<xsl:apply-templates select="parameters" mode="signature"/>)</pre>
329 </blockquote>
330 <xsl:apply-templates select="description"/>
331 <xsl:apply-templates select="." mode="generalinfo"/>
332 <xsl:apply-templates select="capabilities|eventcapabilities"/>
333 <xsl:apply-templates select="typedef" mode="body"/>
334 <xsl:apply-templates select="parameters" mode="body"/>
335 <xsl:apply-templates select="." mode="errors"/>
336 </xsl:template>
337
338 <xsl:template match="function" mode="generalinfo">
339 <table border="1" cellpadding="3" cellspacing="0" width="100%">
340 <tr bgcolor="#EEEEFF">
341 <td >
342 <a href="#jvmtiPhase">Phase</a>
343 </td>
344 <td>
345 <a href="#heapCallbacks">Callback Safe</a>
346 </td>
347 <td>
348 <a href="#FunctionTable">Position</a>
349 </td>
350 <td>
351 <a href="#ChangeHistory">Since</a>
352 </td>
353 </tr>
354 <tr>
355 <td >
356 <xsl:apply-templates select="." mode="phaseinfo"/>
357 </td>
358 <td>
359 <xsl:apply-templates select="." mode="callbacksafeinfo"/>
360 </td>
361 <td>
362 <xsl:value-of select="@num"/>
363 </td>
364 <td>
365 <xsl:value-of select="@since"/>
366 </td>
367 </tr>
368 </table>
369 </xsl:template>
370
371 <xsl:template match="event" mode="generalinfo">
372 <table border="1" cellpadding="3" cellspacing="0" width="100%">
373 <tr bgcolor="#EEEEFF">
374 <td >
375 <a href="#jvmtiPhase">Phase</a>
376 </td>
377 <td>
378 <a href="#jvmtiEvent">Event Type</a>
379 </td>
380 <td>
381 <a href="#jvmtiEvent">Number</a>
382 </td>
383 <td>
384 <a href="#enablingevents">Enabling</a>
385 </td>
386 <td>
387 <a href="#ChangeHistory">Since</a>
388 </td>
389 </tr>
390 <tr>
391 <td >
392 <xsl:apply-templates select="." mode="phaseinfo"/>
393 </td>
394 <td>
395 <code><xsl:value-of select="@const"/></code>
396 </td>
397 <td>
398 <xsl:value-of select="@num"/>
399 </td>
400 <td>
401 <code><a href="#SetEventNotificationMode">SetEventNotificationMode</a>(JVMTI_ENABLE,
402 <xsl:value-of select="@const"/>, NULL)</code>
403 </td>
404 <td>
405 <xsl:value-of select="@since"/>
406 </td>
407 </tr>
408 </table>
409 </xsl:template>
410
411 <xsl:template match="function" mode="phaseinfo">
412 may
413 <xsl:choose>
414 <xsl:when test="count(@phase) = 0 or @phase = 'live'">
415 only be called during the live
416 </xsl:when>
417 <xsl:otherwise>
418 <xsl:choose>
419 <xsl:when test="@phase = 'onload'">
420 only be called during the OnLoad or the live
421 </xsl:when>
422 <xsl:otherwise>
423 <xsl:choose>
424 <xsl:when test="@phase = 'any'">
425 be called during any
426 </xsl:when>
427 <xsl:otherwise>
428 <xsl:choose>
429 <xsl:when test="@phase = 'start'">
430 only be called during the start or the live
431 </xsl:when>
432 <xsl:otherwise>
433 <xsl:choose>
434 <xsl:when test="@phase = 'onloadOnly'">
435 only be called during the OnLoad
436 </xsl:when>
437 <xsl:otherwise>
438 <xsl:message terminate="yes">
439 bad phase - <xsl:value-of select="@phase"/>
440 </xsl:message>
441 </xsl:otherwise>
442 </xsl:choose>
443 </xsl:otherwise>
444 </xsl:choose>
445 </xsl:otherwise>
446 </xsl:choose>
447 </xsl:otherwise>
448 </xsl:choose>
449 </xsl:otherwise>
450 </xsl:choose>
451 phase
452 </xsl:template>
453
454
455 <xsl:template match="event" mode="phaseinfo">
456 sent
457 <xsl:choose>
458 <xsl:when test="count(@phase) = 0 or @phase = 'live'">
459 only during the live
460 </xsl:when>
461 <xsl:otherwise>
462 <xsl:choose>
463 <xsl:when test="@phase = 'any'">
464 during the primordial, start or live
465 </xsl:when>
466 <xsl:otherwise>
467 <xsl:choose>
468 <xsl:when test="@phase = 'start'">
469 during the start or live
470 </xsl:when>
471 <xsl:otherwise>
472 <xsl:message terminate="yes">
473 bad phase - <xsl:value-of select="@phase"/>
474 </xsl:message>
475 </xsl:otherwise>
476 </xsl:choose>
477 </xsl:otherwise>
478 </xsl:choose>
479 </xsl:otherwise>
480 </xsl:choose>
481 phase
482 </xsl:template>
483
484
485 <xsl:template match="function" mode="callbacksafeinfo">
486 <xsl:choose>
487 <xsl:when test="contains(@callbacksafe,'safe')">
488 This function may be called from the callbacks to the
489 <a href="#Heap">Heap</a> iteration functions, or from the
490 event handlers for the
491 <a href="#GarbageCollectionStart"><code>GarbageCollectionStart</code></a>,
492 <a href="#GarbageCollectionFinish"><code>GarbageCollectionFinish</code></a>,
493 and <a href="#ObjectFree"><code>ObjectFree</code></a> events.
494 </xsl:when>
495 <xsl:otherwise>
496 No
497 </xsl:otherwise>
498 </xsl:choose>
499 </xsl:template>
500
501
502 <xsl:template match="callback" mode="body">
503 <hr noshade="noshade" width="100%" size="1">
504 <xsl:attribute name="id">
505 <xsl:value-of select="@id"/>
506 </xsl:attribute>
507 </hr>
508 <xsl:apply-templates select="synopsis" mode="body"/>
509 <table cellpadding="0" cellspacing="0" border="0" width="90%" align="center"><tr><td>
510 <blockquote>
511 <pre>
512 <xsl:text>typedef </xsl:text>
513 <xsl:apply-templates select="child::*[position()=1]" mode="signature"/>
514 <xsl:text> (JNICALL *</xsl:text>
515 <xsl:value-of select="@id"/>
516 <xsl:text>)
517 (</xsl:text>
518 <xsl:for-each select="parameters">
519 <xsl:apply-templates select="param[position()=1]" mode="signature"/>
520 <xsl:for-each select="param[position()>1]">
521 <xsl:text>,
522 </xsl:text>
523 <xsl:apply-templates select="." mode="signature"/>
524 </xsl:for-each>
525 </xsl:for-each>
526 <xsl:text>);</xsl:text>
527 </pre>
528 </blockquote>
529 <xsl:apply-templates select="description"/>
530 <xsl:apply-templates select="parameters" mode="body"/>
531 </td></tr></table>
532 </xsl:template>
533
534 <xsl:template match="synopsis" mode="body">
535 <h3><xsl:value-of select="."/></h3>
536 </xsl:template>
537
538 <xsl:template match="eventsection">
539 <p/>
540 <hr noshade="noshade" size="3"/>
541 <h2>
542 <xsl:value-of select="@label"/>
543 </h2>
544 <xsl:apply-templates select="intro"/>
545 <blockquote>
546 <pre>
547 <xsl:text>
548 typedef struct {
549 </xsl:text>
550 <xsl:call-template name="eventStruct">
551 <xsl:with-param name="events" select="event"/>
552 <xsl:with-param name="index" select="0"/>
553 <xsl:with-param name="started" select="false"/>
554 <xsl:with-param name="comment" select="'No'"/>
555 </xsl:call-template>
556 <xsl:text>} jvmtiEventCallbacks;
557 </xsl:text>
558 </pre>
559 </blockquote>
560 <p/>
561 <hr noshade="noshade" width="100%" size="1"/>
562 <h3 id="EventIndex">Event Index</h3>
563 <ul>
564 <xsl:apply-templates select="event" mode="index">
565 <xsl:sort select="@label"/>
566 </xsl:apply-templates>
567 </ul>
568 <xsl:apply-templates select="event" mode="body"/>
569 </xsl:template>
570
571 <xsl:template match="event" mode="index">
572 <li>
573 <a>
574 <xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute>
575 <b>
576 <xsl:value-of select="@label"/>
577 </b>
578 </a>
579 </li>
580 </xsl:template>
581
582 <xsl:template match="event" mode="body">
583 <p>
584 <xsl:attribute name="id">
585 <xsl:value-of select="@id"/>
586 </xsl:attribute>
587 </p>
588 <hr noshade="noshade" size="3"/>
589 <h2><xsl:value-of select="@label"/></h2>
590 <p/>
591 <blockquote>
592 <xsl:apply-templates select="typedef" mode="code"/>
593 <pre>
594 <xsl:text>void JNICALL
595 </xsl:text>
596 <xsl:value-of select="@id"/>(jvmtiEnv *jvmti_env<xsl:apply-templates select="parameters" mode="signature"/>)</pre>
597 </blockquote>
598 <xsl:apply-templates select="description"/>
599 <xsl:apply-templates select="." mode="generalinfo"/>
600 <xsl:apply-templates select="typedef" mode="body"/>
601 <xsl:apply-templates select="capabilities"/>
602 <xsl:apply-templates select="parameters" mode="body"/>
603 </xsl:template>
604
605 <xsl:template match="capabilitiestypedef" mode="code">
606 <blockquote>
607 <pre>
608 <xsl:apply-templates select="." mode="genstruct"/>
609 </pre>
610 </blockquote>
611 </xsl:template>
612
613 <xsl:template match="typedef" mode="code">
614 <pre>
615 <xsl:call-template name="gentypedef">
616 <xsl:with-param name="tdef" select="."/>
617 </xsl:call-template>
618 </pre>
619 </xsl:template>
620
621 <xsl:template match="uniontypedef" mode="code">
622 <pre>
623 <xsl:call-template name="genuniontypedef">
624 <xsl:with-param name="tdef" select="."/>
625 </xsl:call-template>
626 </pre>
627 </xsl:template>
628
629 <xsl:template match="capabilitiestypedef|typedef|uniontypedef" mode="description">
630 <xsl:apply-templates select="description"/>
631 </xsl:template>
632
633 <xsl:template match="capabilitiestypedef|typedef|uniontypedef">
634 <h4>
635 <xsl:attribute name="id">
636 <xsl:value-of select="@id"/>
637 </xsl:attribute>
638 <xsl:value-of select="@label"/>
639 </h4>
640 <xsl:apply-templates select="." mode="description"/>
641 <blockquote>
642 <xsl:apply-templates select="." mode="code"/>
643 <xsl:apply-templates select="." mode="justbody"/>
644 </blockquote>
645 </xsl:template>
646
647 <xsl:template match="constants" mode="signature">
648 <pre>
649 <xsl:apply-templates select="." mode="enum"/>
650 </pre>
651 </xsl:template>
652
653 <xsl:template match="typedef|uniontypedef" mode="body">
654 <p>
655 <xsl:attribute name="id">
656 <xsl:value-of select="@id"/>
657 </xsl:attribute>
658 </p>
659 <xsl:apply-templates select="." mode="justbody"/>
660 </xsl:template>
661
662 <xsl:template match="typedef|uniontypedef" mode="justbody">
663 <table border="1" cellpadding="3" cellspacing="0" width="100%">
664 <tr bgcolor="#CCCCFF">
665 <td colspan="3" align="center" class="tableHeader">
666 <code><xsl:value-of select="@id"/></code> - <xsl:value-of select="@label"/>
667 </td>
668 </tr>
669 <tr bgcolor="#EEEEFF">
670 <td>
671 Field
672 </td>
673 <td>
674 Type
675 </td>
676 <td>
677 Description
678 </td>
679 </tr>
680 <xsl:apply-templates select="field" mode="body"/>
681 </table>
682 </xsl:template>
683
684 <xsl:template match="capabilitiestypedef" mode="body">
685 <p>
686 <xsl:attribute name="id">
687 <xsl:value-of select="@id"/>
688 </xsl:attribute>
689 </p>
690 <xsl:apply-templates select="." mode="justbody"/>
691 </xsl:template>
692
693 <xsl:template match="capabilitiestypedef" mode="justbody">
694 <table border="1" cellpadding="3" cellspacing="0" width="100%">
695 <tr bgcolor="#CCCCFF">
696 <td colspan="3" align="center" class="tableHeader">
697 <code><xsl:value-of select="@id"/></code> - <xsl:value-of select="@label"/>
698 </td>
699 </tr>
700 <tr bgcolor="#EEEEFF">
701 <td colspan="3">
702 All types are <code>unsigned int : 1</code>
703 </td>
704 </tr>
705 <tr bgcolor="#EEEEFF">
706 <td>
707 Field
708 </td>
709 <td>
710 Description
711 </td>
712 <td>
713 <a href="#ChangeHistory">Since</a>
714 </td>
715 </tr>
716 <xsl:apply-templates select="capabilityfield" mode="body"/>
717 </table>
718 </xsl:template>
719
720 <xsl:template match="typedef|uniontypedef|capabilitiestypedef|constants" mode="tableentry">
721 <tr>
722 <td>
723 <a>
724 <xsl:attribute name="href">
725 <xsl:text>#</xsl:text>
726 <xsl:value-of select="@id"/>
727 </xsl:attribute>
728 <code><xsl:value-of select="@id"/></code>
729 </a>
730 </td>
731 <td>
732 <xsl:value-of select="@label"/>
733 </td>
734 </tr>
735 </xsl:template>
736
737 <xsl:template match="field" mode="body">
738 <tr>
739 <td>
740 <code>
741 <xsl:attribute name="id">
742 <xsl:value-of select="../@id"/>.<xsl:value-of select="@id"/>
743 </xsl:attribute>
744 <xsl:value-of select="@id"/>
745 </code>
746 </td>
747 <td>
748 <code>
749 <xsl:apply-templates select="child::*[position()=1]" mode="link"/>
750 </code>
751 </td>
752 <td>
753 <xsl:apply-templates select="description" mode="brief"/>
754 </td>
755 </tr>
756 </xsl:template>
757
758 <xsl:template match="capabilityfield" mode="body">
759 <tr>
760 <td>
761 <code>
762 <xsl:choose>
763 <xsl:when test="@disp1!=''">
764 <xsl:value-of select="@disp1"/>
765 <br></br>
766 <xsl:value-of select="@disp2"/>
767 </xsl:when>
768 <xsl:otherwise>
769 <xsl:value-of select="@id"/>
770 </xsl:otherwise>
771 </xsl:choose>
772 </code>
773 </td>
774 <td>
775 <a>
776 <xsl:attribute name="name">
777 <xsl:value-of select="../@id"/>.<xsl:value-of select="@id"/>
778 </xsl:attribute>
779 </a>
780 <xsl:apply-templates select="description" mode="brief"/>
781 </td>
782 <td>
783 <xsl:value-of select="@since"/>
784 </td>
785 </tr>
786 </xsl:template>
787
788 <xsl:template match="callback" mode="tableentry">
789 <tr>
790 <td>
791 <a>
792 <xsl:attribute name="href">
793 <xsl:text>#</xsl:text>
794 <xsl:value-of select="@id"/>
795 </xsl:attribute>
796 <code>
797 <xsl:value-of select="@id"/>
798 </code>
799 </a>
800 </td>
801 <td>
802 <xsl:apply-templates select="synopsis" mode="index"/>
803 </td>
804 </tr>
805 </xsl:template>
806
807 <xsl:template match="constants">
808 <blockquote>
809 <a>
810 <xsl:attribute name="name">
811 <xsl:value-of select="@id"/>
812 </xsl:attribute>
813 </a>
814 <table border="1" cellpadding="3" cellspacing="0">
815 <tr bgcolor="#CCCCFF">
816 <td colspan="3" align="center" class="tableHeader">
817 <xsl:value-of select="@label"/>
818 <xsl:if test="@kind='enum'">
819 <xsl:text> (</xsl:text>
820 <code>
821 <xsl:value-of select="@id"/>
822 </code>
823 <xsl:text>)</xsl:text>
824 </xsl:if>
825 </td>
826 </tr>
827 <tr bgcolor="#EEEEFF">
828 <td>
829 Constant
830 </td>
831 <td>
832 Value
833 </td>
834 <td>
835 Description
836 </td>
837 </tr>
838 <xsl:apply-templates select="constant" mode="body"/>
839 </table>
840 </blockquote>
841 </xsl:template>
842
843 <xsl:template match="constant" mode="index">
844 <a>
845 <xsl:attribute name="href">#<xsl:value-of select="@id"/>
846 </xsl:attribute>
847 <code>
848 <xsl:value-of select="@id"/>
849 </code>
850 </a>
851 <br/>
852 </xsl:template>
853
854 <xsl:template match="constant" mode="body">
855 <tr>
856 <td>
857 <code>
858 <xsl:attribute name="id">
859 <xsl:value-of select="@id"/>
860 </xsl:attribute>
861 <xsl:value-of select="@id"/>
862 </code>
863 </td>
864 <td align="right">
865 <xsl:value-of select="@num"/>
866 </td>
867 <td>
868 <xsl:apply-templates/>
869 </td>
870 </tr>
871 </xsl:template>
872
873 <xsl:template match="basetypes">
874 <p>
875 <xsl:attribute name="id">
876 <xsl:value-of select="@id"/>
877 </xsl:attribute>
878 </p>
879 <table border="1" cellpadding="3" cellspacing="0" width="100%">
880 <tr bgcolor="#CCCCFF">
881 <td colspan="2" align="center" class="tableHeader">
882 <xsl:value-of select="@label"/>
883 </td>
884 </tr>
885 <tr bgcolor="#EEEEFF">
886 <td>
887 Type
888 </td>
889 <td>
890 Description
891 </td>
892 </tr>
893 <xsl:apply-templates select="basetype" mode="body"/>
894 </table>
895 </xsl:template>
896
897 <xsl:template match="basetype" mode="body">
898 <xsl:choose>
899 <xsl:when test="count(definition)=0">
900 <tr>
901 <td>
902 <code>
903 <xsl:value-of select="@id"/>
904 </code>
905 </td>
906 <td>
907 <a>
908 <xsl:attribute name="name">
909 <xsl:value-of select="@id"/>
910 </xsl:attribute>
911 </a>
912 <xsl:apply-templates select="description" mode="brief"/>
913 </td>
914 </tr>
915 </xsl:when>
916 <xsl:otherwise>
917 <tr>
918 <td rowspan="2">
919 <code>
920 <xsl:value-of select="@id"/>
921 </code>
922 </td>
923 <td>
924 <a>
925 <xsl:attribute name="name">
926 <xsl:value-of select="@id"/>
927 </xsl:attribute>
928 </a>
929 <xsl:apply-templates select="description" mode="brief"/>
930 </td>
931 </tr>
932 <tr>
933 <td>
934 <pre>
935 <xsl:apply-templates select="definition"/>
936 </pre>
937 </td>
938 </tr>
939 </xsl:otherwise>
940 </xsl:choose>
941 </xsl:template>
942
943 <xsl:template match="description">
944 <xsl:apply-templates/>
945 <p/>
946 </xsl:template>
947
948 <xsl:template match="description" mode="brief">
949 <xsl:apply-templates/>
950 </xsl:template>
951
952 <xsl:template match="fieldlink">
953 <a>
954 <xsl:attribute name="href">#<xsl:value-of select="@struct"/>.<xsl:value-of select="@id"/></xsl:attribute>
955 <xsl:choose>
956 <xsl:when test=".=''">
957 <code>
958 <xsl:value-of select="@id"/>
959 </code>
960 </xsl:when>
961 <xsl:otherwise>
962 <xsl:apply-templates/>
963 </xsl:otherwise>
964 </xsl:choose>
965 </a>
966 </xsl:template>
967
968 <xsl:template match="paramlink">
969 <a>
970 <xsl:attribute name="href">#<xsl:value-of select="ancestor::function/@id|ancestor::event/@id"/>.<xsl:value-of select="@id"/>
971 </xsl:attribute>
972 <xsl:choose>
973 <xsl:when test=".=''">
974 <code>
975 <xsl:value-of select="@id"/>
976 </code>
977 </xsl:when>
978 <xsl:otherwise>
979 <xsl:apply-templates/>
980 </xsl:otherwise>
981 </xsl:choose>
982 </a>
983 </xsl:template>
984
985 <xsl:template match="eventlink|errorlink|typelink|datalink|functionlink">
986 <a>
987 <xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute>
988 <xsl:choose>
989 <xsl:when test=".=''">
990 <code>
991 <xsl:value-of select="@id"/>
992 </code>
993 </xsl:when>
994 <xsl:otherwise>
995 <xsl:apply-templates/>
996 </xsl:otherwise>
997 </xsl:choose>
998 </a>
999 </xsl:template>
1000
1001 <xsl:template match="functionphaselist">
1002 <xsl:variable name="phase" select="@phase"/>
1003 <ul>
1004 <xsl:for-each select="/specification/functionsection/category/function[@phase=$phase and count(@hide)=0]">
1005 <li>
1006 <a>
1007 <xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute>
1008 <b>
1009 <xsl:value-of select="@id"/>
1010 </b>
1011 </a>
1012 </li>
1013 </xsl:for-each>
1014 </ul>
1015 </xsl:template>
1016
1017 <xsl:template match="eventphaselist">
1018 <xsl:variable name="phase" select="@phase"/>
1019 <ul>
1020 <xsl:for-each select="//eventsection/event[@phase=$phase]">
1021 <li>
1022 <a>
1023 <xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute>
1024 <b>
1025 <xsl:value-of select="@id"/>
1026 </b>
1027 </a>
1028 </li>
1029 </xsl:for-each>
1030 </ul>
1031 </xsl:template>
1032
1033 <xsl:template match="externallink">
1034 <a>
1035 <xsl:attribute name="href">
1036 <xsl:value-of select="@id"/>
1037 </xsl:attribute>
1038 <xsl:value-of select="."/>
1039 </a>
1040 </xsl:template>
1041
1042 <xsl:template match="vmspeclink">
1043 <xsl:if test="count(@id)=1">
1044 <a>
1045 <xsl:attribute name="href">
1046 <xsl:text>http://java.sun.com/docs/books/vmspec/2nd-edition/html/</xsl:text>
1047 <xsl:value-of select="@id"/>
1048 </xsl:attribute>
1049 <xsl:value-of select="@name"/>
1050 </a>
1051 <xsl:text> </xsl:text>
1052 <xsl:choose>
1053 <xsl:when test="count(@preposition)=1">
1054 <xsl:value-of select="@preposition"/>
1055 </xsl:when>
1056 <xsl:otherwise>
1057 <xsl:text>of</xsl:text>
1058 </xsl:otherwise>
1059 </xsl:choose>
1060 <xsl:text> the </xsl:text>
1061 </xsl:if>
1062 <a>
1063 <xsl:attribute name="href">
1064 <xsl:text>http://java.sun.com/docs/books/vmspec/</xsl:text>
1065 </xsl:attribute>
1066 <i>
1067 <xsl:text>Java Virtual Machine Specification</xsl:text>
1068 </i>
1069 </a>
1070 </xsl:template>
1071
1072 <xsl:template match="internallink">
1073 <a>
1074 <xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute>
1075 <xsl:apply-templates/>
1076 </a>
1077 </xsl:template>
1078
1079 <xsl:template match="parameters" mode="body">
1080 <p/>
1081 <table border="1" cellpadding="3" cellspacing="0" width="100%">
1082 <tr bgcolor="#CCCCFF">
1083 <td colspan="3" align="center" class="tableHeader">
1084 Parameters
1085 </td>
1086 </tr>
1087 <tr bgcolor="#EEEEFF">
1088 <td>
1089 Name
1090 </td>
1091 <td>
1092 Type
1093 </td>
1094 <td>
1095 Description
1096 </td>
1097 </tr>
1098 <xsl:apply-templates select="param[count(jclass/@method)=0]" mode="body"/>
1099 </table>
1100 </xsl:template>
1101
1102 <xsl:template match="param" mode="body">
1103 <tr>
1104 <td>
1105 <code>
1106 <xsl:attribute name="id">
1107 <xsl:value-of select="../../@id"/>.<xsl:value-of select="@id"/>
1108 </xsl:attribute>
1109 <xsl:value-of select="@id"/>
1110 </code>
1111 </td>
1112 <td>
1113 <code>
1114 <xsl:apply-templates select="child::*[position()=1]" mode="link"/>
1115 </code>
1116 </td>
1117 <td>
1118 <xsl:apply-templates select="description" mode="brief"/>
1119 <xsl:if test="count(ancestor::function)=1">
1120 <xsl:apply-templates select="child::*[position()=1]" mode="funcdescription"/>
1121 </xsl:if>
1122 </td>
1123 </tr>
1124 </xsl:template>
1125
1126 <xsl:template match="capabilities">
1127 <p/>
1128 <table border="1" cellpadding="3" cellspacing="0" width="100%">
1129 <tr bgcolor="#CCCCFF">
1130 <td colspan="2" align="center" class="tableHeader">
1131 Capabilities
1132 </td>
1133 </tr>
1134 <xsl:choose>
1135 <xsl:when test="count(required)=0">
1136 <tr>
1137 <td colspan="2">
1138 <b>Required Functionality</b>
1139 </td>
1140 </tr>
1141 </xsl:when>
1142 <xsl:otherwise>
1143 <tr>
1144 <td colspan="2">
1145 <b>Optional Functionality:</b> might not be implemented for all
1146 virtual machines.
1147 <xsl:choose>
1148 <xsl:when test="count(required)=1">
1149 The following capability
1150 </xsl:when>
1151 <xsl:otherwise>
1152 One of the following capabilities
1153 </xsl:otherwise>
1154 </xsl:choose>
1155 (as returned by
1156 <a href="#GetCapabilities"><code>GetCapabilities</code></a>)
1157 must be true to use this
1158 <xsl:choose>
1159 <xsl:when test="ancestor::function">
1160 function.
1161 </xsl:when>
1162 <xsl:otherwise>
1163 event.
1164 </xsl:otherwise>
1165 </xsl:choose>
1166 </td>
1167 </tr>
1168 <tr bgcolor="#EEEEFF">
1169 <td >
1170 Capability
1171 </td>
1172 <td>
1173 Effect
1174 </td>
1175 </tr>
1176 <xsl:apply-templates select="required"/>
1177 </xsl:otherwise>
1178 </xsl:choose>
1179 <xsl:if test="count(capability)!=0">
1180 <tr bgcolor="#CCCCFF">
1181 <td colspan="2" align="center">
1182 Optional Features
1183 </td>
1184 </tr>
1185 <xsl:if test="count(required)=0">
1186 <tr bgcolor="#EEEEFF">
1187 <td >
1188 Capability
1189 </td>
1190 <td>
1191 Effect
1192 </td>
1193 </tr>
1194 </xsl:if>
1195 <xsl:apply-templates select="capability"/>
1196 </xsl:if>
1197 </table>
1198 </xsl:template>
1199
1200 <xsl:template match="eventcapabilities">
1201 <p/>
1202 <table border="1" cellpadding="3" cellspacing="0" width="100%">
1203 <tr bgcolor="#CCCCFF">
1204 <td colspan="2" align="center" class="tableHeader">
1205 Capabilities
1206 </td>
1207 </tr>
1208 <tr>
1209 <td colspan="2">
1210 <b>Required Functionality</b>
1211 </td>
1212 </tr>
1213 <tr bgcolor="#CCCCFF">
1214 <td colspan="2" align="center">
1215 Event Enabling Capabilities
1216 </td>
1217 </tr>
1218 <tr bgcolor="#EEEEFF">
1219 <td >
1220 Capability
1221 </td>
1222 <td>
1223 Events
1224 </td>
1225 </tr>
1226 <xsl:for-each select="//capabilityfield">
1227 <xsl:variable name="capa" select="@id"/>
1228 <xsl:variable name="events" select="//event[capabilities/required/@id=$capa]"/>
1229 <xsl:if test="count($events)">
1230 <tr>
1231 <td>
1232 <a>
1233 <xsl:attribute name="href">#jvmtiCapabilities.<xsl:value-of select="@id"/>
1234 </xsl:attribute>
1235 <code>
1236 <xsl:value-of select="@id"/>
1237 </code>
1238 </a>
1239 </td>
1240 <td>
1241 <xsl:for-each select="$events">
1242 <a>
1243 <xsl:attribute name="href">#<xsl:value-of select="@id"/>
1244 </xsl:attribute>
1245 <code>
1246 <xsl:value-of select="@id"/>
1247 </code>
1248 </a>
1249 <br/>
1250 </xsl:for-each>
1251 </td>
1252 </tr>
1253 </xsl:if>
1254 </xsl:for-each>
1255 </table>
1256 </xsl:template>
1257
1258 <xsl:template match="capability|required">
1259 <tr>
1260 <td>
1261 <a>
1262 <xsl:attribute name="href">#jvmtiCapabilities.<xsl:value-of select="@id"/>
1263 </xsl:attribute>
1264 <code>
1265 <xsl:value-of select="@id"/>
1266 </code>
1267 </a>
1268 </td>
1269 <td>
1270 <xsl:choose>
1271 <xsl:when test=".=''">
1272 <xsl:variable name="desiredID" select="@id"/>
1273 <xsl:for-each select="//capabilityfield[@id=$desiredID]">
1274 <xsl:apply-templates select="description" mode="brief"/>
1275 </xsl:for-each>
1276 </xsl:when>
1277 <xsl:otherwise>
1278 <xsl:apply-templates/>
1279 </xsl:otherwise>
1280 </xsl:choose>
1281 </td>
1282 </tr>
1283 </xsl:template>
1284
1285 <xsl:template match="function" mode="errors">
1286 <xsl:variable name="haserrors">
1287 <xsl:apply-templates select="capabilities/required" mode="haserrors"/>
1288 <xsl:apply-templates select="errors/error" mode="haserrors"/>
1289 <xsl:apply-templates select="parameters/param" mode="haserrors"/>
1290 </xsl:variable>
1291 <p/>
1292 <table border="1" cellpadding="3" cellspacing="0" width="100%">
1293 <tr bgcolor="#CCCCFF">
1294 <td colspan="2" align="center" class="tableHeader">
1295 Errors
1296 </td>
1297 </tr>
1298 <xsl:choose>
1299 <xsl:when test="contains($haserrors,'yes')">
1300 <tr>
1301 <td colspan="2">
1302 This function returns either a
1303 <a href="#universal-error">universal error</a>
1304 or one of the following errors
1305 </td>
1306 </tr>
1307 <tr bgcolor="#EEEEFF">
1308 <td>
1309 Error
1310 </td>
1311 <td>
1312 Description
1313 </td>
1314 </tr>
1315 <xsl:apply-templates select="capabilities/required" mode="errors"/>
1316 <xsl:apply-templates select="errors/error"/>
1317 <xsl:apply-templates select="parameters/param" mode="errors"/>
1318 </xsl:when>
1319 <xsl:otherwise>
1320 <tr>
1321 <td colspan="2">
1322 This function returns a
1323 <a href="#universal-error">universal error</a>
1324 </td>
1325 </tr>
1326 </xsl:otherwise>
1327 </xsl:choose>
1328 </table>
1329 </xsl:template>
1330
1331 <xsl:template match="required" mode="haserrors">
1332 yes
1333 </xsl:template>
1334
1335 <xsl:template match="required" mode="errors">
1336 <tr>
1337 <td>
1338 <a href="#JVMTI_ERROR_MUST_POSSESS_CAPABILITY">
1339 <code>
1340 JVMTI_ERROR_MUST_POSSESS_CAPABILITY
1341 </code>
1342 </a>
1343 </td>
1344 <td>
1345 The environment does not possess the capability
1346 <a>
1347 <xsl:attribute name="href">#jvmtiCapabilities.<xsl:value-of select="@id"/></xsl:attribute>
1348 <code>
1349 <xsl:value-of select="@id"/>
1350 </code>
1351 </a>.
1352 Use <a href="#AddCapabilities"><code>AddCapabilities</code></a>.
1353 </td>
1354 </tr>
1355 </xsl:template>
1356
1357 <xsl:template match="param" mode="haserrors">
1358 <xsl:apply-templates mode="haserrors"/>
1359 </xsl:template>
1360
1361 <xsl:template match="param" mode="errors">
1362 <xsl:apply-templates select="." mode="errors1"/>
1363 <xsl:apply-templates select="." mode="errors2"/>
1364 </xsl:template>
1365
1366 <xsl:template match="param" mode="errors1">
1367 <xsl:variable name="haserrors">
1368 <xsl:apply-templates mode="haserrors"/>
1369 </xsl:variable>
1370 <xsl:if test="contains($haserrors,'yes')!=0">
1371 <xsl:variable name="erroridraw">
1372 <xsl:apply-templates mode="errorid"/>
1373 </xsl:variable>
1374 <xsl:variable name="errorid" select="normalize-space($erroridraw)"/>
1375 <tr>
1376 <td>
1377 <a>
1378 <xsl:attribute name="href">#<xsl:value-of select="$errorid"/></xsl:attribute>
1379 <code>
1380 <xsl:value-of select="$errorid"/>
1381 </code>
1382 </a>
1383 </td>
1384 <td>
1385 <xsl:apply-templates mode="errordesc">
1386 <xsl:with-param name="id" select="@id"/>
1387 </xsl:apply-templates>
1388 </td>
1389 </tr>
1390 </xsl:if>
1391 </xsl:template>
1392
1393 <xsl:template match="param" mode="errors2">
1394 <xsl:variable name="haserrors2">
1395 <xsl:apply-templates mode="haserrors2"/>
1396 </xsl:variable>
1397 <xsl:if test="contains($haserrors2,'yes')!=0">
1398 <xsl:variable name="erroridraw2">
1399 <xsl:apply-templates mode="errorid2"/>
1400 </xsl:variable>
1401 <xsl:variable name="errorid2" select="normalize-space($erroridraw2)"/>
1402 <tr>
1403 <td>
1404 <a>
1405 <xsl:attribute name="href">#<xsl:value-of select="$errorid2"/></xsl:attribute>
1406 <code>
1407 <xsl:value-of select="$errorid2"/>
1408 </code>
1409 </a>
1410 </td>
1411 <td>
1412 <xsl:apply-templates mode="errordesc2">
1413 <xsl:with-param name="id" select="@id"/>
1414 </xsl:apply-templates>
1415 </td>
1416 </tr>
1417 </xsl:if>
1418 </xsl:template>
1419
1420 <xsl:template match="description" mode="haserrors">
1421 </xsl:template>
1422
1423 <xsl:template match="description" mode="errorid">
1424 </xsl:template>
1425
1426 <xsl:template match="description" mode="errordesc">
1427 </xsl:template>
1428
1429 <xsl:template match="jmethodID|jfieldID|jframeID|jrawMonitorID|jthread|jthreadGroup|jobject|enum|jlocation" mode="haserrors">
1430 yes
1431 </xsl:template>
1432
1433 <xsl:template match="jclass" mode="haserrors">
1434 <xsl:if test="count(@method)=0">
1435 yes
1436 </xsl:if>
1437 </xsl:template>
1438
1439 <xsl:template match="description|jclass|jfieldID|jrawMonitorID|
1440 jthreadGroup|jobject|enum|jlocation|jvalue|jchar|jint|jlong|jfloat|jdouble|jboolean|
1441 char|uchar|size_t|void|varargs|struct|
1442 ptrtype|outptr|allocbuf|allocallocbuf|inptr|inbuf|outbuf|vmbuf|agentbuf" mode="haserrors2">
1443 </xsl:template>
1444
1445 <xsl:template match="jmethodID" mode="haserrors2">
1446 <xsl:if test="count(@native)=1 and contains(@native,'error')">
1447 yes
1448 </xsl:if>
1449 </xsl:template>
1450
1451 <xsl:template match="jthread" mode="haserrors2">
1452 <xsl:if test="count(@started)=0 or contains(@started,'yes') or @started=''">
1453 yes
1454 </xsl:if>
1455 </xsl:template>
1456
1457 <xsl:template match="jframeID" mode="haserrors2">
1458 yes
1459 </xsl:template>
1460
1461 <xsl:template match="description" mode="errorid2">
1462 </xsl:template>
1463
1464 <xsl:template match="description" mode="errordesc2">
1465 </xsl:template>
1466
1467 <xsl:template match="jmethodID" mode="errorid">
1468 <xsl:text>JVMTI_ERROR_INVALID_METHODID</xsl:text>
1469 </xsl:template>
1470
1471 <xsl:template match="jmethodID" mode="errorid2">
1472 <xsl:text>JVMTI_ERROR_NATIVE_METHOD</xsl:text>
1473 </xsl:template>
1474
1475 <xsl:template match="jmethodID" mode="errordesc">
1476 <xsl:param name="id"/>
1477 <xsl:apply-templates select="." mode="paramlink"/>
1478 <xsl:text> is not a jmethodID.</xsl:text>
1479 </xsl:template>
1480
1481 <xsl:template match="jmethodID" mode="errordesc2">
1482 <xsl:param name="id"/>
1483 <xsl:apply-templates select="." mode="paramlink"/>
1484 <xsl:text> is a native method.</xsl:text>
1485 </xsl:template>
1486
1487 <xsl:template match="jfieldID" mode="errorid">
1488 <xsl:text>JVMTI_ERROR_INVALID_FIELDID</xsl:text>
1489 </xsl:template>
1490
1491 <xsl:template match="jfieldID" mode="errordesc">
1492 <xsl:param name="id"/>
1493 <xsl:apply-templates select="." mode="paramlink"/>
1494 <xsl:text> is not a jfieldID.</xsl:text>
1495 </xsl:template>
1496
1497 <xsl:template match="jframeID" mode="errorid">
1498 <xsl:text>JVMTI_ERROR_ILLEGAL_ARGUMENT</xsl:text>
1499 </xsl:template>
1500
1501 <xsl:template match="jframeID" mode="errorid2">
1502 <xsl:text>JVMTI_ERROR_NO_MORE_FRAMES</xsl:text>
1503 </xsl:template>
1504
1505 <xsl:template match="jframeID" mode="errordesc">
1506 <xsl:param name="id"/>
1507 <xsl:apply-templates select="." mode="paramlink"/>
1508 <xsl:text> is less than zero.</xsl:text>
1509 </xsl:template>
1510
1511 <xsl:template match="jframeID" mode="errordesc2">
1512 <xsl:param name="id"/>
1513 <xsl:text>There are no stack frames at the specified </xsl:text>
1514 <xsl:apply-templates select="." mode="paramlink"/>
1515 <xsl:text>.</xsl:text>
1516 </xsl:template>
1517
1518 <xsl:template match="jrawMonitorID" mode="errorid">
1519 <xsl:text>JVMTI_ERROR_INVALID_MONITOR</xsl:text>
1520 </xsl:template>
1521
1522 <xsl:template match="jrawMonitorID" mode="errordesc">
1523 <xsl:param name="id"/>
1524 <xsl:apply-templates select="." mode="paramlink"/>
1525 <xsl:text> is not a jrawMonitorID.</xsl:text>
1526 </xsl:template>
1527
1528 <xsl:template match="jclass" mode="errorid">
1529 <xsl:text>JVMTI_ERROR_INVALID_CLASS</xsl:text>
1530 </xsl:template>
1531
1532 <xsl:template match="jclass" mode="errordesc">
1533 <xsl:param name="id"/>
1534 <xsl:apply-templates select="." mode="paramlink"/>
1535 <xsl:text> is not a class object or the class has been unloaded.</xsl:text>
1536 </xsl:template>
1537
1538 <xsl:template match="jthread" mode="errorid">
1539 <xsl:text>JVMTI_ERROR_INVALID_THREAD</xsl:text>
1540 </xsl:template>
1541
1542 <xsl:template match="jthread" mode="errorid2">
1543 <xsl:text>JVMTI_ERROR_THREAD_NOT_ALIVE</xsl:text>
1544 </xsl:template>
1545
1546 <xsl:template match="jthread" mode="errordesc">
1547 <xsl:param name="id"/>
1548 <xsl:apply-templates select="." mode="paramlink"/>
1549 <xsl:text> is not a thread object.</xsl:text>
1550 </xsl:template>
1551
1552 <xsl:template match="jthread" mode="errordesc2">
1553 <xsl:param name="id"/>
1554 <xsl:apply-templates select="." mode="paramlink"/>
1555 <xsl:text> is not live (has not been started or is now dead).</xsl:text>
1556 </xsl:template>
1557
1558 <xsl:template match="jthreadGroup" mode="errorid">
1559 <xsl:text>JVMTI_ERROR_INVALID_THREAD_GROUP</xsl:text>
1560 </xsl:template>
1561
1562 <xsl:template match="jthreadGroup" mode="errordesc">
1563 <xsl:param name="id"/>
1564 <xsl:apply-templates select="." mode="paramlink"/>
1565 <xsl:text> is not a thread group object.</xsl:text>
1566 </xsl:template>
1567
1568 <xsl:template match="jobject" mode="errorid">
1569 <xsl:text>JVMTI_ERROR_INVALID_OBJECT</xsl:text>
1570 </xsl:template>
1571
1572 <xsl:template match="jobject" mode="errordesc">
1573 <xsl:param name="id"/>
1574 <xsl:apply-templates select="." mode="paramlink"/>
1575 <xsl:text> is not an object.</xsl:text>
1576 </xsl:template>
1577
1578 <xsl:template match="enum" mode="errorid">
1579 <xsl:choose>
1580 <xsl:when test=".='jvmtiEvent'">
1581 <xsl:text>JVMTI_ERROR_INVALID_EVENT_TYPE</xsl:text>
1582 </xsl:when>
1583 <xsl:otherwise>
1584 <xsl:text>JVMTI_ERROR_ILLEGAL_ARGUMENT</xsl:text>
1585 </xsl:otherwise>
1586 </xsl:choose>
1587 </xsl:template>
1588
1589 <xsl:template match="enum" mode="errordesc">
1590 <xsl:param name="id"/>
1591 <xsl:apply-templates select="." mode="paramlink"/>
1592 <xsl:text> is not a </xsl:text>
1593 <xsl:value-of select="."/>
1594 <xsl:text>.</xsl:text>
1595 </xsl:template>
1596
1597 <xsl:template match="jlocation" mode="errorid">
1598 <xsl:text>JVMTI_ERROR_INVALID_LOCATION</xsl:text>
1599 </xsl:template>
1600
1601 <xsl:template match="jlocation" mode="errordesc">
1602 <xsl:param name="id"/>
1603 <xsl:apply-templates select="." mode="paramlink"/>
1604 <xsl:text> is not a valid location.</xsl:text>
1605 </xsl:template>
1606
1607 <xsl:template match="jint" mode="haserrors">
1608 <xsl:if test="count(@min)=1">
1609 yes
1610 </xsl:if>
1611 </xsl:template>
1612
1613 <xsl:template match="jint" mode="errorid">
1614 <xsl:text>JVMTI_ERROR_ILLEGAL_ARGUMENT</xsl:text>
1615 </xsl:template>
1616
1617 <xsl:template match="jint" mode="errordesc">
1618 <xsl:param name="id"/>
1619 <xsl:apply-templates select="." mode="paramlink"/>
1620 <xsl:text> is less than </xsl:text>
1621 <code><xsl:value-of select="@min"/></code>
1622 <xsl:text>.</xsl:text>
1623 </xsl:template>
1624
1625 <xsl:template match="jvalue|jchar|jlong|jfloat|jdouble|jboolean|char|uchar|size_t|void|varargs|struct" mode="haserrors">
1626 </xsl:template>
1627
1628 <xsl:template match="jvalue|jchar|jlong|jfloat|jdouble|jboolean|char|uchar|size_t|void|varargs|struct" mode="errordesc">
1629 <xsl:param name="id"/>
1630 <xsl:message terminate="yes">
1631 attempt to get error description for <xsl:apply-templates select="." mode="paramlink"/>
1632 </xsl:message>
1633 </xsl:template>
1634
1635 <xsl:template match="ptrtype|outptr|allocbuf|allocallocbuf|inptr|inbuf|outbuf|vmbuf|agentbuf" mode="haserrors">
1636 <xsl:if test="count(nullok)=0">
1637 yes
1638 </xsl:if>
1639 </xsl:template>
1640
1641 <xsl:template match="ptrtype|outptr|allocbuf|allocallocbuf|inptr|inbuf|outbuf|vmbuf|agentbuf" mode="errorid">
1642 <xsl:text>JVMTI_ERROR_NULL_POINTER</xsl:text>
1643 </xsl:template>
1644
1645 <xsl:template match="ptrtype|outptr|allocbuf|allocallocbuf|inptr|inbuf|outbuf|vmbuf|agentbuf" mode="errordesc">
1646 <xsl:param name="id"/>
1647 <xsl:if test="count(nullok)=1">
1648 <xsl:message terminate="yes">
1649 attempt to get error description in null ok case for <xsl:apply-templates select="." mode="paramlink"/>
1650 </xsl:message>
1651 </xsl:if>
1652 <xsl:apply-templates select="." mode="paramlink"/>
1653 <xsl:text> is </xsl:text>
1654 <code>NULL</code>
1655 <xsl:text>.</xsl:text>
1656 </xsl:template>
1657
1658 <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">
1659 <a>
1660 <xsl:attribute name="href">#<xsl:value-of select="ancestor::function/@id|ancestor::event/@id"/>.<xsl:value-of select="ancestor::param/@id"/>
1661 </xsl:attribute>
1662 <code>
1663 <xsl:value-of select="ancestor::param/@id"/>
1664 </code>
1665 </a>
1666 </xsl:template>
1667
1668 <xsl:template match="error" mode="haserrors">
1669 yes
1670 </xsl:template>
1671
1672 <xsl:template match="error">
1673 <tr>
1674 <td>
1675 <a>
1676 <xsl:attribute name="href">#<xsl:value-of select="@id"/></xsl:attribute>
1677 <code>
1678 <xsl:value-of select="@id"/>
1679 </code>
1680 </a>
1681 </td>
1682 <td>
1683 <xsl:apply-templates/>
1684 </td>
1685 </tr>
1686 </xsl:template>
1687
1688 <xsl:template match="errorsection">
1689 <p/>
1690 <hr noshade="noshade" size="3"/>
1691 <h2>
1692 Errors
1693 </h2>
1694 <p/>
1695 <xsl:apply-templates select="intro"/>
1696 <p/>
1697 <xsl:apply-templates select="errorcategory"/>
1698 <p/>
1699 </xsl:template>
1700
1701 <xsl:template match="datasection">
1702 <p/>
1703 <hr noshade="noshade" size="3"/>
1704 <h2>
1705 Data Types
1706 </h2>
1707 <p/>
1708 <xsl:apply-templates select="intro"/>
1709 <xsl:apply-templates select="basetypes"/>
1710 <p/>
1711 <a name="StructureTypeDefinitions"></a>
1712 <table border="1" cellpadding="3" cellspacing="0" width="100%">
1713 <tr bgcolor="#CCCCFF">
1714 <td colspan="2" align="center" class="tableHeader">
1715 Structure Type Definitions
1716 </td>
1717 </tr>
1718 <tr bgcolor="#EEEEFF">
1719 <td>
1720 Type
1721 </td>
1722 <td>
1723 Description
1724 </td>
1725 </tr>
1726 <xsl:apply-templates select="//typedef|//uniontypedef|//capabilitiestypedef" mode="tableentry">
1727 <xsl:sort select="@id"/>
1728 </xsl:apply-templates>
1729 </table>
1730 <p/>
1731 <a name="FunctionTypeDefinitions"></a>
1732 <table border="1" cellpadding="3" cellspacing="0" width="100%">
1733 <tr bgcolor="#CCCCFF">
1734 <td colspan="2" align="center" class="tableHeader">
1735 Function Type Definitions
1736 </td>
1737 </tr>
1738 <tr bgcolor="#EEEEFF">
1739 <td>
1740 Type
1741 </td>
1742 <td>
1743 Description
1744 </td>
1745 </tr>
1746 <xsl:apply-templates select="//callback" mode="tableentry">
1747 <xsl:sort select="@id"/>
1748 </xsl:apply-templates>
1749 </table>
1750 <p/>
1751 <a name="EnumerationDefinitions"></a>
1752 <table border="1" cellpadding="3" cellspacing="0" width="100%">
1753 <tr bgcolor="#CCCCFF">
1754 <td colspan="2" align="center" class="tableHeader">
1755 Enumeration Definitions
1756 </td>
1757 </tr>
1758 <tr bgcolor="#EEEEFF">
1759 <td>
1760 Type
1761 </td>
1762 <td>
1763 Description
1764 </td>
1765 </tr>
1766 <xsl:apply-templates select="//constants[@kind='enum']" mode="tableentry">
1767 <xsl:sort select="@id"/>
1768 </xsl:apply-templates>
1769 </table>
1770 <p/>
1771 <a name="FunctionTable"></a>
1772 <table border="1" cellpadding="3" cellspacing="0" width="100%">
1773 <tr bgcolor="#CCCCFF">
1774 <td colspan="3" align="center" class="tableHeader">
1775 Function Table Layout
1776 </td>
1777 </tr>
1778 <tr bgcolor="#EEEEFF">
1779 <td>
1780 Position
1781 </td>
1782 <td>
1783 Function
1784 </td>
1785 <td>
1786 Declaration
1787 </td>
1788 </tr>
1789 <xsl:call-template name="funcStruct">
1790 <xsl:with-param name="funcs" select="//functionsection/category/function[count(@hide)=0]"/>
1791 <xsl:with-param name="index" select="1"/>
1792 </xsl:call-template>
1793 </table>
1794 <p/>
1795 </xsl:template>
1796
1797
1798 <xsl:template name="funcStruct">
1799 <xsl:param name="funcs"/>
1800 <xsl:param name="index"/>
1801 <xsl:variable name="thisFunction" select="$funcs[@num=$index]"/>
1802 <tr>
1803 <td align="right">
1804 <xsl:number value="$index" format=" 1"/>
1805 </td>
1806 <xsl:choose>
1807 <xsl:when test="count($thisFunction)=1">
1808 <td>
1809 <a>
1810 <xsl:attribute name="href">
1811 <xsl:text>#</xsl:text>
1812 <xsl:value-of select="$thisFunction/@id"/>
1813 </xsl:attribute>
1814 <xsl:value-of select="$thisFunction/synopsis"/>
1815 </a>
1816 </td>
1817 <td>
1818 <pre>
1819 <xsl:text>jvmtiError (JNICALL *</xsl:text>
1820 <xsl:value-of select="$thisFunction/@id"/>
1821 <xsl:text>) (jvmtiEnv* env</xsl:text>
1822 <xsl:apply-templates select="$thisFunction/parameters" mode="signature">
1823 <xsl:with-param name="comma">
1824 <xsl:text>, &#xA; </xsl:text>
1825 </xsl:with-param>
1826 </xsl:apply-templates>
1827 <xsl:text>);</xsl:text>
1828 </pre>
1829 </td>
1830 </xsl:when>
1831 <xsl:otherwise>
1832 <xsl:if test="count($thisFunction) != 0">
1833 <xsl:message terminate="yes">
1834 More than one function has index number <xsl:number value="$index" format=" 1"/>.
1835 </xsl:message>
1836 </xsl:if>
1837 <td>
1838 <i>reserved</i>
1839 </td>
1840 <td>
1841 <pre>
1842 <xsl:text>void *reserved</xsl:text>
1843 <xsl:value-of select="$index"/>
1844 <xsl:text>;</xsl:text>
1845 </pre>
1846 </td>
1847 </xsl:otherwise>
1848 </xsl:choose>
1849 </tr>
1850 <xsl:if test="count($funcs[@num &gt; $index]) &gt; 0">
1851 <xsl:call-template name="funcStruct">
1852 <xsl:with-param name="funcs" select="$funcs"/>
1853 <xsl:with-param name="index" select="1+$index"/>
1854 </xsl:call-template>
1855 </xsl:if>
1856 </xsl:template>
1857
1858
1859
1860 <xsl:template match="errorcategory">
1861 <h3>
1862 <xsl:attribute name="id">
1863 <xsl:value-of select="@id"/>
1864 </xsl:attribute>
1865 <xsl:value-of select="@label"/>
1866 </h3>
1867 <xsl:apply-templates select="intro"/>
1868 <p/>
1869 <dl>
1870 <xsl:apply-templates select="errorid"/>
1871 </dl>
1872 <p/>
1873 </xsl:template>
1874
1875 <xsl:template match="errorid">
1876 <dt>
1877 <code>
1878 <xsl:attribute name="id">
1879 <xsl:value-of select="@id"/>
1880 </xsl:attribute>
1881 <xsl:value-of select="@id"/> (<xsl:value-of select="@num"/>)
1882 </code>
1883 </dt>
1884 <dd>
1885 <xsl:apply-templates/>
1886 <p/>
1887 </dd>
1888 </xsl:template>
1889
1890 <xsl:template match="changehistory">
1891 <p/><hr noshade="noshade" size="3"/>
1892 <h2>Change History</h2>
1893 Last update: <xsl:value-of select="@update"/><br/>
1894 Version: <xsl:call-template name="showversion"/>
1895 <p/>
1896 <xsl:apply-templates select="intro"/>
1897 <p/>
1898 <table border="1" cellpadding="3" cellspacing="0" width="100%">
1899 <tr bgcolor="#EEEEFF">
1900 <td>
1901 <b>Version</b><br/>
1902 <b>Date</b>
1903 </td>
1904 <td>
1905 <b>Changes</b>
1906 </td>
1907 </tr>
1908 <xsl:apply-templates select="change"/>
1909 </table>
1910 </xsl:template>
1911
1912 <xsl:template match="change">
1913 <tr>
1914 <td>
1915 <xsl:if test="count(@version)">
1916 <b>
1917 <xsl:value-of select="@version"/>
1918 </b>
1919 <br/>
1920 </xsl:if>
1921 <xsl:value-of select="@date"/>
1922 </td>
1923 <td>
1924 <xsl:apply-templates/>
1925 </td>
1926 </tr>
1927 </xsl:template>
1928
1929 <xsl:template match="intro">
1930 <xsl:if test="@id!=''">
1931 <xsl:choose>
1932 <xsl:when test="@label!=''">
1933 <h4>
1934 <xsl:attribute name="id">
1935 <xsl:value-of select="@id"/>
1936 </xsl:attribute>
1937 <xsl:value-of select="@label"/>
1938 </h4>
1939 </xsl:when>
1940 <xsl:otherwise>
1941 <a>
1942 <xsl:attribute name="name">
1943 <xsl:value-of select="@id"/>
1944 </xsl:attribute>
1945 </a>
1946 </xsl:otherwise>
1947 </xsl:choose>
1948 </xsl:if>
1949 <xsl:apply-templates/>
1950 </xsl:template>
1951
1952 <xsl:template match="issue">
1953 <xsl:if test="$development = 'Show'">
1954 <p style="color: red">
1955 To be resolved:
1956 <xsl:apply-templates/>
1957 </p>
1958 </xsl:if>
1959 </xsl:template>
1960
1961 <xsl:template match="rationale">
1962 <p style="color: purple">
1963 Rationale:
1964 <xsl:apply-templates/>
1965 </p>
1966 </xsl:template>
1967
1968 <xsl:template match="todo">
1969 <xsl:if test="$development = 'Show'">
1970 <p style="color: green">
1971 To do:
1972 <xsl:apply-templates/>
1973 </p>
1974 </xsl:if>
1975 </xsl:template>
1976
1977 <xsl:template match="elide">
1978 </xsl:template>
1979
1980 <xsl:template match="b">
1981 <b>
1982 <xsl:apply-templates/>
1983 </b>
1984 </xsl:template>
1985
1986 <xsl:template match="example">
1987 <blockquote>
1988 <pre>
1989 <xsl:apply-templates/>
1990 </pre>
1991 </blockquote>
1992 </xsl:template>
1993
1994
1995 <xsl:template match="table">
1996 <table border="1" cellpadding="3" cellspacing="0" width="100%">
1997 <xsl:apply-templates/>
1998 </table>
1999 </xsl:template>
2000
2001 <xsl:template match="tr">
2002 <tr>
2003 <xsl:apply-templates/>
2004 </tr>
2005 </xsl:template>
2006
2007 <xsl:template match="td">
2008 <td>
2009 <xsl:attribute name="align">
2010 <xsl:value-of select="@align"/>
2011 </xsl:attribute>
2012 <xsl:apply-templates/>
2013 </td>
2014 </xsl:template>
2015
2016 <xsl:template match="th">
2017 <th bgcolor="#EEEEFF">
2018 <xsl:attribute name="align">
2019 <xsl:value-of select="@align"/>
2020 </xsl:attribute>
2021 <xsl:apply-templates/>
2022 </th>
2023 </xsl:template>
2024
2025 <xsl:template match="dl">
2026 <dl>
2027 <xsl:apply-templates/>
2028 </dl>
2029 </xsl:template>
2030
2031 <xsl:template match="dt">
2032 <dt>
2033 <xsl:apply-templates/>
2034 </dt>
2035 </xsl:template>
2036
2037 <xsl:template match="dd">
2038 <dd>
2039 <xsl:apply-templates/>
2040 </dd>
2041 </xsl:template>
2042
2043 <xsl:template match="p">
2044 <p>
2045 <xsl:apply-templates/>
2046 </p>
2047 </xsl:template>
2048
2049 <xsl:template match="br">
2050 <br>
2051 <xsl:apply-templates/>
2052 </br>
2053 </xsl:template>
2054
2055 <xsl:template match="ul">
2056 <ul>
2057 <xsl:attribute name="type"><xsl:value-of select="@type"/></xsl:attribute>
2058 <xsl:apply-templates/>
2059 </ul>
2060 </xsl:template>
2061
2062 <xsl:template match="li">
2063 <li>
2064 <xsl:apply-templates/>
2065 </li>
2066 </xsl:template>
2067
2068 <xsl:template match="code">
2069 <code>
2070 <xsl:apply-templates/>
2071 </code>
2072 </xsl:template>
2073
2074 <xsl:template match="tm">
2075 <xsl:apply-templates/>
2076 <sup style="font-size: xx-small">
2077 <xsl:text>TM</xsl:text>
2078 </sup>
2079 <xsl:text>&#032;</xsl:text>
2080 </xsl:template>
2081
2082 <xsl:template match="b">
2083 <b>
2084 <xsl:apply-templates/>
2085 </b>
2086 </xsl:template>
2087
2088 <xsl:template match="i">
2089 <i>
2090 <xsl:apply-templates/>
2091 </i>
2092 </xsl:template>
2093
2094 <xsl:template match="space">
2095 <xsl:text>&#032;</xsl:text>
2096 </xsl:template>
2097
2098 <xsl:template match="jvmti">
2099 <xsl:text>JVM</xsl:text><small style="font-size: xx-small">&#160;</small><xsl:text>TI</xsl:text>
2100 </xsl:template>
2101
2102
2103 </xsl:stylesheet>