44 .centered { text-align: center; } |
44 .centered { text-align: center; } |
45 .leftAligned { text-align: left; } |
45 .leftAligned { text-align: left; } |
46 .rightAligned { text-align: right; } |
46 .rightAligned { text-align: right; } |
47 .bgLight { background-color: #EEEEFF; } |
47 .bgLight { background-color: #EEEEFF; } |
48 .bgDark { background-color: #CCCCFF} |
48 .bgDark { background-color: #CCCCFF} |
49 th { background-color: #EEEEFF; } |
49 th { font-weight: normal; text-align: left; } |
50 td.tableHeader {font-size: larger; text-align:center; } |
|
51 div.sep { height: 10px; } |
50 div.sep { height: 10px; } |
52 div.callbackCtnr { margin: 0 5%; } |
51 div.callbackCtnr { margin: 0 5%; } |
53 hr { border-width:0; color:gray; background-color:gray; } |
52 hr { border-width:0; color:gray; background-color:gray; } |
54 hr.thick { height:3px; } |
53 hr.thick { height:3px; } |
55 hr.thin { height:1px; } |
54 hr.thin { height:1px; } |
56 table.bordered { border: 1px solid gray; border-spacing: 0; border-collapse: separate; } |
55 table.bordered, div.bordered { border: 2px solid black; border-spacing: 0; border-collapse: collapse; } |
57 table.bordered td, table.bordered th { padding: 3px; border: 1px solid black; } |
56 table.bordered td, table.bordered th, div.bordered div.divTableHead, div.bordered .divTableCell { |
58 table.wide { width: 100%; } |
57 padding: 3px; |
|
58 border: 2px solid black; |
|
59 } |
|
60 .wide { width: 100%; } |
|
61 table.bordered caption, divCaption { |
|
62 border: 2px solid black; |
|
63 border-bottom-width: 0; |
|
64 } |
|
65 .captionTitle { |
|
66 background-color: #CCCCFF; |
|
67 font-size: larger; |
|
68 text-align:center; |
|
69 padding: 3px; |
|
70 } |
|
71 .captionDescr { |
|
72 border-top: 2px solid black; |
|
73 padding: 3px; |
|
74 text-align: left; |
|
75 } |
|
76 div.divTable { display: table; } |
|
77 <!-- workaround for <div> with border, display: table & width: 100% --> |
|
78 div.wideDivTableCtnr { padding-right: 2px; } |
|
79 div.divTableRow { display: table-row; } |
|
80 div.divTableHead, div.divTableCell { display: table-cell; vertical-align: middle; } |
|
81 div.divTableHead { font-weight: bold; text-align: center; } |
|
82 table.bordered td.noPadding { padding: 0; } |
|
83 div.withPadding { padding: 3px; } |
|
84 div.topBorder { border-top: 2px solid black; } |
59 </style> |
85 </style> |
60 </head> |
86 </head> |
61 <body> |
87 <body> |
62 <div class="centered" role="banner"> |
88 <header class="centered"> |
63 <xsl:apply-templates select="title"/> |
89 <xsl:apply-templates select="title"/> |
64 </div> |
90 </header> |
65 <nav> |
91 <nav> |
66 <ul> |
92 <ul> |
67 <li> |
93 <li> |
68 <a href="#SpecificationIntro"><b>Introduction</b></a> |
94 <a href="#SpecificationIntro"><b>Introduction</b></a> |
69 <ul> |
95 <ul> |
347 <xsl:apply-templates select="parameters" mode="body"/> |
373 <xsl:apply-templates select="parameters" mode="body"/> |
348 <xsl:apply-templates select="." mode="errors"/> |
374 <xsl:apply-templates select="." mode="errors"/> |
349 </xsl:template> |
375 </xsl:template> |
350 |
376 |
351 <xsl:template match="function" mode="generalinfo"> |
377 <xsl:template match="function" mode="generalinfo"> |
352 <table class="bordered wide"> |
378 <div class="wideDivTableCtnr"> |
353 <tr class="bgLight"> |
379 <div class="divTable bordered wide"> |
354 <td > |
380 <div class="divTableRow bgLight"> |
355 <a href="#jvmtiPhase">Phase</a> |
381 <div class="divTableCell"><a href="#jvmtiPhase">Phase</a></div> |
356 </td> |
382 <div class="divTableCell"><a href="#heapCallbacks">Callback Safe</a></div> |
357 <td> |
383 <div class="divTableCell"><a href="#FunctionTable">Position</a></div> |
358 <a href="#heapCallbacks">Callback Safe</a> |
384 <div class="divTableCell"><a href="#ChangeHistory">Since</a></div> |
359 </td> |
385 </div> |
360 <td> |
386 <div class="divTableRow"> |
361 <a href="#FunctionTable">Position</a> |
387 <div class="divTableCell"> |
362 </td> |
|
363 <td> |
|
364 <a href="#ChangeHistory">Since</a> |
|
365 </td> |
|
366 </tr> |
|
367 <tr> |
|
368 <td> |
|
369 <xsl:apply-templates select="." mode="phaseinfo"/> |
388 <xsl:apply-templates select="." mode="phaseinfo"/> |
370 </td> |
389 </div> |
371 <td> |
390 <div class="divTableCell"> |
372 <xsl:apply-templates select="." mode="callbacksafeinfo"/> |
391 <xsl:apply-templates select="." mode="callbacksafeinfo"/> |
373 </td> |
392 </div> |
374 <td> |
393 <div class="divTableCell"> |
375 <xsl:value-of select="@num"/> |
394 <xsl:value-of select="@num"/> |
376 </td> |
395 </div> |
377 <td> |
396 <div class="divTableCell"> |
378 <xsl:value-of select="@since"/> |
397 <xsl:value-of select="@since"/> |
379 </td> |
398 </div> |
380 </tr> |
399 </div> |
381 </table> |
400 </div> |
|
401 </div> |
382 </xsl:template> |
402 </xsl:template> |
383 |
403 |
384 <xsl:template match="event" mode="generalinfo"> |
404 <xsl:template match="event" mode="generalinfo"> |
385 <table class="bordered wide"> |
405 <div class="wideDivTableCtnr"> |
386 <tr class="bgLight"> |
406 <div class="divTable bordered wide"> |
387 <td > |
407 <div class="divTableRow bgLight"> |
388 <a href="#jvmtiPhase">Phase</a> |
408 <div class="divTableCell"><a href="#jvmtiPhase">Phase</a></div> |
389 </td> |
409 <div class="divTableCell"><a href="#heapCallbacks">Event Type</a></div> |
390 <td> |
410 <div class="divTableCell"><a href="#FunctionTable">Number</a></div> |
391 <a href="#jvmtiEvent">Event Type</a> |
411 <div class="divTableCell"><a href="#FunctionTable">Enabling</a></div> |
392 </td> |
412 <div class="divTableCell"><a href="#ChangeHistory">Since</a></div> |
393 <td> |
413 </div> |
394 <a href="#jvmtiEvent">Number</a> |
414 <div class="divTableRow"> |
395 </td> |
415 <div class="divTableCell"> |
396 <td> |
|
397 <a href="#enablingevents">Enabling</a> |
|
398 </td> |
|
399 <td> |
|
400 <a href="#ChangeHistory">Since</a> |
|
401 </td> |
|
402 </tr> |
|
403 <tr> |
|
404 <td > |
|
405 <xsl:apply-templates select="." mode="phaseinfo"/> |
416 <xsl:apply-templates select="." mode="phaseinfo"/> |
406 </td> |
417 </div> |
407 <td> |
418 <div class="divTableCell"> |
408 <code><xsl:value-of select="@const"/></code> |
419 <code><xsl:value-of select="@const"/></code> |
409 </td> |
420 </div> |
410 <td> |
421 <div class="divTableCell"> |
411 <xsl:value-of select="@num"/> |
422 <xsl:value-of select="@num"/> |
412 </td> |
423 </div> |
413 <td> |
424 <div class="divTableCell"> |
414 <code><a href="#SetEventNotificationMode">SetEventNotificationMode</a>(JVMTI_ENABLE, |
425 <code><a href="#SetEventNotificationMode">SetEventNotificationMode</a>(JVMTI_ENABLE, |
415 <xsl:value-of select="@const"/>, NULL)</code> |
426 <xsl:value-of select="@const"/>, NULL)</code> |
416 </td> |
427 </div> |
417 <td> |
428 <div class="divTableCell"> |
418 <xsl:value-of select="@since"/> |
429 <xsl:value-of select="@since"/> |
419 </td> |
430 </div> |
420 </tr> |
431 </div> |
421 </table> |
432 </div> |
|
433 </div> |
422 </xsl:template> |
434 </xsl:template> |
423 |
435 |
424 <xsl:template match="function" mode="phaseinfo"> |
436 <xsl:template match="function" mode="phaseinfo"> |
425 may |
437 may |
426 <xsl:choose> |
438 <xsl:choose> |
703 <xsl:apply-templates select="." mode="justbody"/> |
707 <xsl:apply-templates select="." mode="justbody"/> |
704 </xsl:template> |
708 </xsl:template> |
705 |
709 |
706 <xsl:template match="capabilitiestypedef" mode="justbody"> |
710 <xsl:template match="capabilitiestypedef" mode="justbody"> |
707 <table class="bordered wide"> |
711 <table class="bordered wide"> |
708 <tr class="bgDark"> |
712 <caption> |
709 <td colspan="3" class="tableHeader"> |
713 <div class="captionTitle"> |
710 <code><xsl:value-of select="@id"/></code> - <xsl:value-of select="@label"/> |
714 <code><xsl:value-of select="@id"/></code> - <xsl:value-of select="@label"/> |
711 </td> |
715 </div> |
712 </tr> |
716 <div class="captionDescr">All types are <code>unsigned int : 1</code></div> |
|
717 </caption> |
713 <tr class="bgLight"> |
718 <tr class="bgLight"> |
714 <td colspan="3"> |
719 <th scope="col">Field</th> |
715 All types are <code>unsigned int : 1</code> |
720 <th scope="col">Description</th> |
716 </td> |
721 <th scope="col"><a href="#ChangeHistory">Since</a></th> |
717 </tr> |
|
718 <tr class="bgLight"> |
|
719 <td> |
|
720 Field |
|
721 </td> |
|
722 <td> |
|
723 Description |
|
724 </td> |
|
725 <td> |
|
726 <a href="#ChangeHistory">Since</a> |
|
727 </td> |
|
728 </tr> |
722 </tr> |
729 <xsl:apply-templates select="capabilityfield" mode="body"/> |
723 <xsl:apply-templates select="capabilityfield" mode="body"/> |
730 </table> |
724 </table> |
731 </xsl:template> |
725 </xsl:template> |
732 |
726 |
733 <xsl:template match="typedef|uniontypedef|capabilitiestypedef|constants" mode="tableentry"> |
727 <xsl:template match="typedef|uniontypedef|capabilitiestypedef|constants" mode="tableentry"> |
734 <tr> |
728 <tr> |
735 <td> |
729 <th scope="row"> |
736 <a> |
730 <a> |
737 <xsl:attribute name="href"> |
731 <xsl:attribute name="href"> |
738 <xsl:text>#</xsl:text> |
732 <xsl:text>#</xsl:text> |
739 <xsl:value-of select="@id"/> |
733 <xsl:value-of select="@id"/> |
740 </xsl:attribute> |
734 </xsl:attribute> |
741 <code><xsl:value-of select="@id"/></code> |
735 <code><xsl:value-of select="@id"/></code> |
742 </a> |
736 </a> |
743 </td> |
737 </th> |
744 <td> |
738 <td> |
745 <xsl:value-of select="@label"/> |
739 <xsl:value-of select="@label"/> |
746 </td> |
740 </td> |
747 </tr> |
741 </tr> |
748 </xsl:template> |
742 </xsl:template> |
749 |
743 |
750 <xsl:template match="field" mode="body"> |
744 <xsl:template match="field" mode="body"> |
751 <tr> |
745 <tr> |
752 <td> |
746 <th scope="row"> |
753 <code> |
747 <code> |
754 <xsl:attribute name="id"> |
748 <xsl:attribute name="id"> |
755 <xsl:value-of select="../@id"/>.<xsl:value-of select="@id"/> |
749 <xsl:value-of select="../@id"/>.<xsl:value-of select="@id"/> |
756 </xsl:attribute> |
750 </xsl:attribute> |
757 <xsl:value-of select="@id"/> |
751 <xsl:value-of select="@id"/> |
758 </code> |
752 </code> |
759 </td> |
753 </th> |
760 <td> |
754 <td> |
761 <code> |
755 <code> |
762 <xsl:apply-templates select="child::*[position()=1]" mode="link"/> |
756 <xsl:apply-templates select="child::*[position()=1]" mode="link"/> |
763 </code> |
757 </code> |
764 </td> |
758 </td> |
819 <blockquote> |
813 <blockquote> |
820 <table class="bordered"> |
814 <table class="bordered"> |
821 <xsl:attribute name="id"> |
815 <xsl:attribute name="id"> |
822 <xsl:value-of select="@id"/> |
816 <xsl:value-of select="@id"/> |
823 </xsl:attribute> |
817 </xsl:attribute> |
824 <tr class="bgDark"> |
818 <caption class="captionTitle"> |
825 <td colspan="3" class="tableHeader"> |
819 <xsl:value-of select="@label"/> |
826 <xsl:value-of select="@label"/> |
820 <xsl:if test="@kind='enum'"> |
827 <xsl:if test="@kind='enum'"> |
821 <xsl:text> (</xsl:text> |
828 <xsl:text> (</xsl:text> |
822 <code> |
829 <code> |
823 <xsl:value-of select="@id"/> |
830 <xsl:value-of select="@id"/> |
824 </code> |
831 </code> |
825 <xsl:text>)</xsl:text> |
832 <xsl:text>)</xsl:text> |
826 </xsl:if> |
833 </xsl:if> |
827 </caption> |
834 </td> |
828 |
835 </tr> |
|
836 <tr class="bgLight"> |
829 <tr class="bgLight"> |
837 <td> |
830 <th scope="col">Constant</th> |
838 Constant |
831 <th scope="col">Value</th> |
839 </td> |
832 <th scope="col">Description</th> |
840 <td> |
|
841 Value |
|
842 </td> |
|
843 <td> |
|
844 Description |
|
845 </td> |
|
846 </tr> |
833 </tr> |
847 <xsl:apply-templates select="constant" mode="body"/> |
834 <xsl:apply-templates select="constant" mode="body"/> |
848 </table> |
835 </table> |
849 </blockquote> |
836 </blockquote> |
850 </xsl:template> |
837 </xsl:template> |
884 <xsl:attribute name="id"> |
871 <xsl:attribute name="id"> |
885 <xsl:value-of select="@id"/> |
872 <xsl:value-of select="@id"/> |
886 </xsl:attribute> |
873 </xsl:attribute> |
887 </p> |
874 </p> |
888 <table class="bordered wide"> |
875 <table class="bordered wide"> |
889 <tr class="bgDark"> |
876 <caption class="captionTitle"><xsl:value-of select="@label"/></caption> |
890 <td colspan="2" class="tableHeader"> |
|
891 <xsl:value-of select="@label"/> |
|
892 </td> |
|
893 </tr> |
|
894 <tr class="bgLight"> |
877 <tr class="bgLight"> |
895 <td> |
878 <th scope="col">Type</th> |
896 Type |
879 <th scope="col">Description</th> |
897 </td> |
|
898 <td> |
|
899 Description |
|
900 </td> |
|
901 </tr> |
880 </tr> |
902 <xsl:apply-templates select="basetype" mode="body"/> |
881 <xsl:apply-templates select="basetype" mode="body"/> |
903 </table> |
882 </table> |
904 </xsl:template> |
883 </xsl:template> |
905 |
884 |
906 <xsl:template match="basetype" mode="body"> |
885 <xsl:template match="basetype" mode="body"> |
907 <xsl:choose> |
886 <tr> |
908 <xsl:when test="count(definition)=0"> |
887 <th scope="row"> |
909 <tr> |
888 <code> |
910 <td> |
889 <xsl:value-of select="@id"/> |
911 <code> |
890 </code> |
912 <xsl:value-of select="@id"/> |
891 </th> |
913 </code> |
892 <td class="noPadding"> |
914 </td> |
893 <div class="withPadding"> |
915 <td> |
894 <a> |
916 <a> |
895 <xsl:attribute name="id"> |
917 <xsl:attribute name="id"> |
896 <xsl:choose> |
918 <xsl:choose> |
897 <xsl:when test="count(@name)=1"> |
919 <xsl:when test="count(@name)=1"> |
898 <xsl:value-of select="@name"/> |
920 <xsl:value-of select="@name"/> |
899 </xsl:when> |
921 </xsl:when> |
900 <xsl:otherwise> |
922 <xsl:otherwise> |
901 <xsl:value-of select="@id"/> |
923 <xsl:value-of select="@id"/> |
902 </xsl:otherwise> |
924 </xsl:otherwise> |
903 </xsl:choose> |
925 </xsl:choose> |
904 </xsl:attribute> |
926 </xsl:attribute> |
905 </a> |
927 </a> |
906 <xsl:apply-templates select="description" mode="brief"/> |
928 <xsl:apply-templates select="description" mode="brief"/> |
907 </div> |
929 </td> |
908 <xsl:if test="count(definition)!=0"> |
930 </tr> |
909 <div class="withPadding topBorder"> |
931 </xsl:when> |
|
932 <xsl:otherwise> |
|
933 <tr> |
|
934 <td rowspan="2"> |
|
935 <code> |
|
936 <xsl:value-of select="@id"/> |
|
937 </code> |
|
938 </td> |
|
939 <td> |
|
940 <a> |
|
941 <xsl:attribute name="id"> |
|
942 <xsl:value-of select="@id"/> |
|
943 </xsl:attribute> |
|
944 </a> |
|
945 <xsl:apply-templates select="description" mode="brief"/> |
|
946 </td> |
|
947 </tr> |
|
948 <tr> |
|
949 <td> |
|
950 <pre> |
910 <pre> |
951 <xsl:apply-templates select="definition"/> |
911 <xsl:apply-templates select="definition"/> |
952 </pre> |
912 </pre> |
953 </td> |
913 </div> |
954 </tr> |
914 </xsl:if> |
955 </xsl:otherwise> |
915 </td> |
956 </xsl:choose> |
916 </tr> |
957 </xsl:template> |
917 </xsl:template> |
958 |
918 |
959 <xsl:template match="description"> |
919 <xsl:template match="description"> |
960 <xsl:apply-templates/> |
920 <xsl:apply-templates/> |
961 <div class="sep"/> |
921 <div class="sep"/> |
1072 </a> |
1032 </a> |
1073 </xsl:template> |
1033 </xsl:template> |
1074 |
1034 |
1075 <xsl:template match="parameters" mode="body"> |
1035 <xsl:template match="parameters" mode="body"> |
1076 <div class="sep"/> |
1036 <div class="sep"/> |
1077 <table class="bordered wide"> |
1037 <!-- |
1078 <tr class="bgDark"> |
1038 docchecker complains if a table has only one row. |
1079 <td colspan="3" class="tableHeader"> |
1039 --> |
1080 Parameters |
1040 <xsl:choose> |
1081 </td> |
1041 <xsl:when test="count(param)!=0"> |
1082 </tr> |
1042 <table class="bordered wide"> |
1083 <tr class="bgLight"> |
1043 <caption class="captionTitle">Parameters</caption> |
1084 <td> |
1044 <tr class="bgLight"> |
1085 Name |
1045 <th scope="col">Name</th> |
1086 </td> |
1046 <th scope="col">Type</th> |
1087 <td> |
1047 <th scope="col">Description</th> |
1088 Type |
1048 </tr> |
1089 </td> |
1049 <xsl:apply-templates select="param[count(jclass/@method)=0]" mode="body"/> |
1090 <td> |
1050 </table> |
1091 Description |
1051 </xsl:when> |
1092 </td> |
1052 <xsl:otherwise> |
1093 </tr> |
1053 <div class="bordered"> |
1094 <xsl:apply-templates select="param[count(jclass/@method)=0]" mode="body"/> |
1054 <div class="captionTitle">Parameters</div> |
1095 </table> |
1055 <div class="captionDescr">None</div> |
|
1056 </div> |
|
1057 </xsl:otherwise> |
|
1058 </xsl:choose> |
1096 </xsl:template> |
1059 </xsl:template> |
1097 |
1060 |
1098 <xsl:template match="param" mode="body"> |
1061 <xsl:template match="param" mode="body"> |
1099 <tr> |
1062 <tr> |
1100 <td> |
1063 <th scope="row"> |
1101 <code> |
1064 <code> |
1102 <xsl:attribute name="id"> |
1065 <xsl:attribute name="id"> |
1103 <xsl:value-of select="../../@id"/>.<xsl:value-of select="@id"/> |
1066 <xsl:value-of select="../../@id"/>.<xsl:value-of select="@id"/> |
1104 </xsl:attribute> |
1067 </xsl:attribute> |
1105 <xsl:value-of select="@id"/> |
1068 <xsl:value-of select="@id"/> |
1106 </code> |
1069 </code> |
1107 </td> |
1070 </th> |
1108 <td> |
1071 <td> |
1109 <code> |
1072 <code> |
1110 <xsl:apply-templates select="child::*[position()=1]" mode="link"/> |
1073 <xsl:apply-templates select="child::*[position()=1]" mode="link"/> |
1111 </code> |
1074 </code> |
1112 </td> |
1075 </td> |
1120 </xsl:template> |
1083 </xsl:template> |
1121 |
1084 |
1122 <xsl:template match="capabilities"> |
1085 <xsl:template match="capabilities"> |
1123 <div class="sep"/> |
1086 <div class="sep"/> |
1124 <!-- |
1087 <!-- |
1125 W3C Validator reports error if all cells has colspan==2. |
1088 docchecker complains if a table has only one column. |
1126 The workaround is to detect the case and set colspan = 1 for all cells |
|
1127 which fills the entire row. |
|
1128 --> |
1089 --> |
1129 <xsl:variable name="fullRowColspan"> |
1090 <xsl:choose> |
1130 <xsl:choose> |
1091 <xsl:when test="count(required)!=0 or count(capability)!=0"> |
1131 <xsl:when test="count(required)!=0 or count(capability)!=0">2</xsl:when> |
1092 <table class="bordered wide"> |
1132 <xsl:otherwise>1</xsl:otherwise> |
1093 <caption> |
1133 </xsl:choose> |
1094 <div class="captionTitle">Capabilities</div> |
1134 </xsl:variable> |
1095 <xsl:choose> |
|
1096 <xsl:when test="count(required)=0"> |
|
1097 <div class="captionDescr"><b>Required Functionality</b></div> |
|
1098 </xsl:when> |
|
1099 <xsl:otherwise> |
|
1100 <div class="captionDescr"> |
|
1101 <b>Optional Functionality:</b> might not be implemented for all virtual machines. |
|
1102 <xsl:choose> |
|
1103 <xsl:when test="count(required)=1"> |
|
1104 The following capability |
|
1105 </xsl:when> |
|
1106 <xsl:otherwise> |
|
1107 One of the following capabilities |
|
1108 </xsl:otherwise> |
|
1109 </xsl:choose> |
|
1110 (as returned by <a href="#GetCapabilities"><code>GetCapabilities</code></a>) |
|
1111 must be true to use this |
|
1112 <xsl:choose> |
|
1113 <xsl:when test="ancestor::function"> |
|
1114 function. |
|
1115 </xsl:when> |
|
1116 <xsl:otherwise> |
|
1117 event. |
|
1118 </xsl:otherwise> |
|
1119 </xsl:choose> |
|
1120 </div> |
|
1121 </xsl:otherwise> |
|
1122 </xsl:choose> |
|
1123 </caption> |
|
1124 <xsl:if test="count(required)!=0"> |
|
1125 <tr class="bgLight"> |
|
1126 <th scope="col">Capability</th> |
|
1127 <th scope="col">Effect</th> |
|
1128 </tr> |
|
1129 <xsl:apply-templates select="required"/> |
|
1130 </xsl:if> |
|
1131 |
|
1132 <xsl:if test="count(capability)!=0"> |
|
1133 <tr class="bgDark"> |
|
1134 <th colspan="2" scope="rowgroup" class="centered"> |
|
1135 Optional Features |
|
1136 </th> |
|
1137 </tr> |
|
1138 <xsl:if test="count(required)=0"> |
|
1139 <tr class="bgLight"> |
|
1140 <th scope="col">Capability</th> |
|
1141 <th scope="col">Effect</th> |
|
1142 </tr> |
|
1143 </xsl:if> |
|
1144 <xsl:apply-templates select="capability"/> |
|
1145 </xsl:if> |
|
1146 </table> |
|
1147 </xsl:when> |
|
1148 <xsl:otherwise> |
|
1149 <div class="bordered"> |
|
1150 <div class="captionTitle">Capabilities</div> |
|
1151 <div class="captionDescr"><b>Required Functionality</b></div> |
|
1152 </div> |
|
1153 </xsl:otherwise> |
|
1154 </xsl:choose> |
|
1155 </xsl:template> |
|
1156 |
|
1157 <xsl:template match="eventcapabilities"> |
|
1158 <div class="sep"/> |
1135 <table class="bordered wide"> |
1159 <table class="bordered wide"> |
|
1160 <caption> |
|
1161 <div class="captionTitle">Capabilities</div> |
|
1162 <div class="captionDescr"><b>Required Functionality</b></div> |
|
1163 </caption> |
1136 <tr class="bgDark"> |
1164 <tr class="bgDark"> |
1137 <td colspan="{$fullRowColspan}" class="tableHeader"> |
1165 <th colspan="2" scope="rowgroup" class="centered"> |
1138 Capabilities |
|
1139 </td> |
|
1140 </tr> |
|
1141 <xsl:choose> |
|
1142 <xsl:when test="count(required)=0"> |
|
1143 <tr> |
|
1144 <td colspan="{$fullRowColspan}"> |
|
1145 <b>Required Functionality</b> |
|
1146 </td> |
|
1147 </tr> |
|
1148 </xsl:when> |
|
1149 <xsl:otherwise> |
|
1150 <tr> |
|
1151 <td colspan="2"> |
|
1152 <b>Optional Functionality:</b> might not be implemented for all |
|
1153 virtual machines. |
|
1154 <xsl:choose> |
|
1155 <xsl:when test="count(required)=1"> |
|
1156 The following capability |
|
1157 </xsl:when> |
|
1158 <xsl:otherwise> |
|
1159 One of the following capabilities |
|
1160 </xsl:otherwise> |
|
1161 </xsl:choose> |
|
1162 (as returned by |
|
1163 <a href="#GetCapabilities"><code>GetCapabilities</code></a>) |
|
1164 must be true to use this |
|
1165 <xsl:choose> |
|
1166 <xsl:when test="ancestor::function"> |
|
1167 function. |
|
1168 </xsl:when> |
|
1169 <xsl:otherwise> |
|
1170 event. |
|
1171 </xsl:otherwise> |
|
1172 </xsl:choose> |
|
1173 </td> |
|
1174 </tr> |
|
1175 <tr class="bgLight"> |
|
1176 <td > |
|
1177 Capability |
|
1178 </td> |
|
1179 <td> |
|
1180 Effect |
|
1181 </td> |
|
1182 </tr> |
|
1183 <xsl:apply-templates select="required"/> |
|
1184 </xsl:otherwise> |
|
1185 </xsl:choose> |
|
1186 <xsl:if test="count(capability)!=0"> |
|
1187 <tr class="bgDark"> |
|
1188 <td colspan="{$fullRowColspan}" class="centered"> |
|
1189 Optional Features |
|
1190 </td> |
|
1191 </tr> |
|
1192 <xsl:if test="count(required)=0"> |
|
1193 <tr class="bgLight"> |
|
1194 <td > |
|
1195 Capability |
|
1196 </td> |
|
1197 <td> |
|
1198 Effect |
|
1199 </td> |
|
1200 </tr> |
|
1201 </xsl:if> |
|
1202 <xsl:apply-templates select="capability"/> |
|
1203 </xsl:if> |
|
1204 </table> |
|
1205 </xsl:template> |
|
1206 |
|
1207 <xsl:template match="eventcapabilities"> |
|
1208 <div class="sep"/> |
|
1209 <table class="bordered wide"> |
|
1210 <tr class="bgDark"> |
|
1211 <td colspan="2" class="tableHeader"> |
|
1212 Capabilities |
|
1213 </td> |
|
1214 </tr> |
|
1215 <tr> |
|
1216 <td colspan="2"> |
|
1217 <b>Required Functionality</b> |
|
1218 </td> |
|
1219 </tr> |
|
1220 <tr class="bgDark"> |
|
1221 <td colspan="2" class="centered"> |
|
1222 Event Enabling Capabilities |
1166 Event Enabling Capabilities |
1223 </td> |
1167 </th> |
1224 </tr> |
1168 </tr> |
1225 <tr class="bgLight"> |
1169 <tr class="bgLight"> |
1226 <td > |
1170 <th scope="col">Capability</th> |
1227 Capability |
1171 <th scope="col">Events</th> |
1228 </td> |
|
1229 <td> |
|
1230 Events |
|
1231 </td> |
|
1232 </tr> |
1172 </tr> |
1233 <xsl:for-each select="//capabilityfield"> |
1173 <xsl:for-each select="//capabilityfield"> |
1234 <xsl:variable name="capa" select="@id"/> |
1174 <xsl:variable name="capa" select="@id"/> |
1235 <xsl:variable name="events" select="//event[capabilities/required/@id=$capa]"/> |
1175 <xsl:variable name="events" select="//event[capabilities/required/@id=$capa]"/> |
1236 <xsl:if test="count($events)"> |
1176 <xsl:if test="count($events)"> |
1237 <tr> |
1177 <tr> |
1238 <td> |
1178 <th scope="row"> |
1239 <a> |
1179 <a> |
1240 <xsl:attribute name="href">#jvmtiCapabilities.<xsl:value-of select="@id"/> |
1180 <xsl:attribute name="href">#jvmtiCapabilities.<xsl:value-of select="@id"/> |
1241 </xsl:attribute> |
1181 </xsl:attribute> |
1242 <code> |
1182 <code> |
1243 <xsl:value-of select="@id"/> |
1183 <xsl:value-of select="@id"/> |
1244 </code> |
1184 </code> |
1245 </a> |
1185 </a> |
1246 </td> |
1186 </th> |
1247 <td> |
1187 <td> |
1248 <xsl:for-each select="$events"> |
1188 <xsl:for-each select="$events"> |
1249 <a> |
1189 <a> |
1250 <xsl:attribute name="href">#<xsl:value-of select="@id"/> |
1190 <xsl:attribute name="href">#<xsl:value-of select="@id"/> |
1251 </xsl:attribute> |
1191 </xsl:attribute> |
1295 <xsl:apply-templates select="errors/error" mode="haserrors"/> |
1235 <xsl:apply-templates select="errors/error" mode="haserrors"/> |
1296 <xsl:apply-templates select="parameters/param" mode="haserrors"/> |
1236 <xsl:apply-templates select="parameters/param" mode="haserrors"/> |
1297 </xsl:variable> |
1237 </xsl:variable> |
1298 <div class="sep"/> |
1238 <div class="sep"/> |
1299 <!-- |
1239 <!-- |
1300 W3C Validator reports error if all cells has colspan==2. |
1240 docchecker complains if a table has only one column. |
1301 The workaround is to detect the case and set colspan = 1 for all cells |
|
1302 which fills the entire row. |
|
1303 --> |
1241 --> |
1304 <xsl:variable name="fullRowColspan"> |
1242 <xsl:choose> |
1305 <xsl:choose> |
1243 <xsl:when test="contains($haserrors,'yes')"> |
1306 <xsl:when test="contains($haserrors,'yes')">2</xsl:when> |
1244 <table class="bordered wide"> |
1307 <xsl:otherwise>1</xsl:otherwise> |
1245 <caption> |
1308 </xsl:choose> |
1246 <div class="captionTitle">Errors</div> |
1309 </xsl:variable> |
1247 <div class="captionDescr"> |
1310 <table class="bordered wide"> |
|
1311 <tr class="bgDark"> |
|
1312 <td colspan="{$fullRowColspan}" class="tableHeader"> |
|
1313 Errors |
|
1314 </td> |
|
1315 </tr> |
|
1316 <xsl:choose> |
|
1317 <xsl:when test="contains($haserrors,'yes')"> |
|
1318 <tr> |
|
1319 <td colspan="2"> |
|
1320 This function returns either a |
1248 This function returns either a |
1321 <a href="#universal-error">universal error</a> |
1249 <a href="#universal-error">universal error</a> |
1322 or one of the following errors |
1250 or one of the following errors |
1323 </td> |
1251 </div> |
1324 </tr> |
1252 </caption> |
1325 <tr class="bgLight"> |
1253 <tr class="bgLight"> |
1326 <td> |
1254 <th scope="col">Error</th> |
1327 Error |
1255 <th scope="col">Description</th> |
1328 </td> |
|
1329 <td> |
|
1330 Description |
|
1331 </td> |
|
1332 </tr> |
1256 </tr> |
1333 <xsl:apply-templates select="capabilities/required" mode="errors"/> |
1257 <xsl:apply-templates select="capabilities/required" mode="errors"/> |
1334 <xsl:apply-templates select="errors/error"/> |
1258 <xsl:apply-templates select="errors/error"/> |
1335 <xsl:apply-templates select="parameters/param" mode="errors"/> |
1259 <xsl:apply-templates select="parameters/param" mode="errors"/> |
1336 </xsl:when> |
1260 </table> |
1337 <xsl:otherwise> |
1261 </xsl:when> |
1338 <tr> |
1262 <xsl:otherwise> |
1339 <td colspan="{$fullRowColspan}"> |
1263 <div class="bordered"> |
|
1264 <div class="captionTitle">Errors</div> |
|
1265 <div class="captionDescr"> |
1340 This function returns a |
1266 This function returns a |
1341 <a href="#universal-error">universal error</a> |
1267 <a href="#universal-error">universal error</a> |
1342 </td> |
1268 </div> |
1343 </tr> |
1269 </div> |
1344 </xsl:otherwise> |
1270 </xsl:otherwise> |
1345 </xsl:choose> |
1271 </xsl:choose> |
1346 </table> |
|
1347 </xsl:template> |
1272 </xsl:template> |
1348 |
1273 |
1349 <xsl:template match="required" mode="haserrors"> |
1274 <xsl:template match="required" mode="haserrors"> |
1350 yes |
1275 yes |
1351 </xsl:template> |
1276 </xsl:template> |
1352 |
1277 |
1353 <xsl:template match="required" mode="errors"> |
1278 <xsl:template match="required" mode="errors"> |
1354 <tr> |
1279 <tr> |
1355 <td> |
1280 <th scope="row"> |
1356 <a href="#JVMTI_ERROR_MUST_POSSESS_CAPABILITY"> |
1281 <a href="#JVMTI_ERROR_MUST_POSSESS_CAPABILITY"> |
1357 <code> |
1282 <code> |
1358 JVMTI_ERROR_MUST_POSSESS_CAPABILITY |
1283 JVMTI_ERROR_MUST_POSSESS_CAPABILITY |
1359 </code> |
1284 </code> |
1360 </a> |
1285 </a> |
1361 </td> |
1286 </th> |
1362 <td> |
1287 <td> |
1363 The environment does not possess the capability |
1288 The environment does not possess the capability |
1364 <a> |
1289 <a> |
1365 <xsl:attribute name="href">#jvmtiCapabilities.<xsl:value-of select="@id"/></xsl:attribute> |
1290 <xsl:attribute name="href">#jvmtiCapabilities.<xsl:value-of select="@id"/></xsl:attribute> |
1366 <code> |
1291 <code> |
1725 <div class="sep"/> |
1650 <div class="sep"/> |
1726 <xsl:apply-templates select="intro"/> |
1651 <xsl:apply-templates select="intro"/> |
1727 <xsl:apply-templates select="basetypes"/> |
1652 <xsl:apply-templates select="basetypes"/> |
1728 <div class="sep"/> |
1653 <div class="sep"/> |
1729 <table id="StructureTypeDefinitions" class="bordered wide"> |
1654 <table id="StructureTypeDefinitions" class="bordered wide"> |
1730 <tr class="bgDark"> |
1655 <caption class="captionTitle">Structure Type Definitions</caption> |
1731 <td colspan="2" class="tableHeader"> |
|
1732 Structure Type Definitions |
|
1733 </td> |
|
1734 </tr> |
|
1735 <tr class="bgLight"> |
1656 <tr class="bgLight"> |
1736 <td> |
1657 <th scope="col">Type</th> |
1737 Type |
1658 <th scope="col">Description</th> |
1738 </td> |
|
1739 <td> |
|
1740 Description |
|
1741 </td> |
|
1742 </tr> |
1659 </tr> |
1743 <xsl:apply-templates select="//typedef|//uniontypedef|//capabilitiestypedef" mode="tableentry"> |
1660 <xsl:apply-templates select="//typedef|//uniontypedef|//capabilitiestypedef" mode="tableentry"> |
1744 <xsl:sort select="@id"/> |
1661 <xsl:sort select="@id"/> |
1745 </xsl:apply-templates> |
1662 </xsl:apply-templates> |
1746 </table> |
1663 </table> |
1747 <div class="sep"/> |
1664 <div class="sep"/> |
1748 <table id="FunctionTypeDefinitions" class="bordered wide"> |
1665 <table id="FunctionTypeDefinitions" class="bordered wide"> |
1749 <tr class="bgDark"> |
1666 <caption class="captionTitle">Function Type Definitions</caption> |
1750 <td colspan="2" class="tableHeader"> |
|
1751 Function Type Definitions |
|
1752 </td> |
|
1753 </tr> |
|
1754 <tr class="bgLight"> |
1667 <tr class="bgLight"> |
1755 <td> |
1668 <th scope="col">Type</th> |
1756 Type |
1669 <th scope="col">Description</th> |
1757 </td> |
|
1758 <td> |
|
1759 Description |
|
1760 </td> |
|
1761 </tr> |
1670 </tr> |
1762 <xsl:apply-templates select="//callback" mode="tableentry"> |
1671 <xsl:apply-templates select="//callback" mode="tableentry"> |
1763 <xsl:sort select="@id"/> |
1672 <xsl:sort select="@id"/> |
1764 </xsl:apply-templates> |
1673 </xsl:apply-templates> |
1765 </table> |
1674 </table> |
1766 <div class="sep"/> |
1675 <div class="sep"/> |
1767 <table id="EnumerationDefinitions" class="bordered wide"> |
1676 <table id="EnumerationDefinitions" class="bordered wide"> |
1768 <tr class="bgDark"> |
1677 <caption class="captionTitle">Enumeration Definitions</caption> |
1769 <td colspan="2" class="tableHeader"> |
|
1770 Enumeration Definitions |
|
1771 </td> |
|
1772 </tr> |
|
1773 <tr class="bgLight"> |
1678 <tr class="bgLight"> |
1774 <td> |
1679 <th scope="col">Type</th> |
1775 Type |
1680 <th scope="col">Description</th> |
1776 </td> |
|
1777 <td> |
|
1778 Description |
|
1779 </td> |
|
1780 </tr> |
1681 </tr> |
1781 <xsl:apply-templates select="//constants[@kind='enum']" mode="tableentry"> |
1682 <xsl:apply-templates select="//constants[@kind='enum']" mode="tableentry"> |
1782 <xsl:sort select="@id"/> |
1683 <xsl:sort select="@id"/> |
1783 </xsl:apply-templates> |
1684 </xsl:apply-templates> |
1784 </table> |
1685 </table> |
1785 <div class="sep"/> |
1686 <div class="sep"/> |
1786 <table id="FunctionTable" class="bordered wide"> |
1687 <table id="FunctionTable" class="bordered wide"> |
1787 <tr class="bgDark"> |
1688 <caption class="captionTitle">Function Table Layout</caption> |
1788 <td colspan="3" class="tableHeader"> |
|
1789 Function Table Layout |
|
1790 </td> |
|
1791 </tr> |
|
1792 <tr class="bgLight"> |
1689 <tr class="bgLight"> |
1793 <td> |
1690 <th scope="col">Position</th> |
1794 Position |
1691 <th scope="col">Function</th> |
1795 </td> |
1692 <th scope="col">Declaration</th> |
1796 <td> |
|
1797 Function |
|
1798 </td> |
|
1799 <td> |
|
1800 Declaration |
|
1801 </td> |
|
1802 </tr> |
1693 </tr> |
1803 <xsl:call-template name="funcStruct"> |
1694 <xsl:call-template name="funcStruct"> |
1804 <xsl:with-param name="funcs" select="//functionsection/category/function[count(@hide)=0]"/> |
1695 <xsl:with-param name="funcs" select="//functionsection/category/function[count(@hide)=0]"/> |
1805 <xsl:with-param name="index" select="1"/> |
1696 <xsl:with-param name="index" select="1"/> |
1806 </xsl:call-template> |
1697 </xsl:call-template> |