gccxml.xsl 30 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007
  1. <?xml version="1.0"?>
  2. <!-- This file was taken from http://www.gccxml.org
  3. where it was contributed by Ivan Kissiov.
  4. This is useful to 'see' the structure of the gccXML output.
  5. Usage:
  6. xsltproc gccxml.xsl file_created_by_gccxml.xml
  7. -->
  8. <xsl:stylesheet
  9. xmlns:xsl = "http://www.w3.org/1999/XSL/Transform"
  10. version = "1.0">
  11. <xsl:output method="html"/>
  12. <xsl:template match = "GCC_XML">
  13. <!-- =============================================== -->
  14. <html>
  15. <table border="0">
  16. <tr><td>A</td><td ><a href="#TA">Array Types</a></td></tr>
  17. <tr><td>B</td><td ><a href="#TB">Builtins</a></td></tr>
  18. <tr><td>Co</td><td ><a href="#TC">Constructors</a></td></tr>
  19. <tr><td>Cvt</td><td ><a href="#TCT">Converter</a></td></tr>
  20. <tr><td>Q</td><td ><a href="#TQ">Cvq Types</a></td></tr>
  21. <tr><td>Z</td><td ><a href="#TZ">Classes</a></td></tr>
  22. <tr><td>D</td><td ><a href="#TD">Destructors</a></td></tr>
  23. <tr><td>E</td><td ><a href="#TE">Enumerations</a></td></tr>
  24. <tr><td>Fd</td><td ><a href="#TFd">Fields</a></td></tr>
  25. <tr><td>Fu</td><td ><a href="#TF">Functions</a></td></tr>
  26. <tr><td>FT</td><td ><a href="#TFT">Function Types</a></td></tr>
  27. <tr><td>M</td><td ><a href="#TM">Methods</a></td></tr>
  28. <tr><td>MT</td><td ><a href="#TMT">Method Typess</a></td></tr>
  29. <tr><td>N</td><td ><a href="#TN">Namespaces</a></td></tr>
  30. <tr><td>OpM</td><td ><a href="#TOM">Operator Methods</a></td></tr>
  31. <tr><td>OpF</td><td ><a href="#TOF">Operator Functions</a></td></tr>
  32. <tr><td>O</td><td ><a href="#TO">Offset Types</a></td></tr>
  33. <tr><td>P</td><td ><a href="#TP">Pointer Types</a></td></tr>
  34. <tr><td>R</td><td ><a href="#TR">Reference Types</a></td></tr>
  35. <tr><td>S</td><td ><a href="#TS">Structures</a></td></tr>
  36. <tr><td>TT</td><td ><a href="#TT">Typedefs</a></td></tr>
  37. <tr><td>U</td><td ><a href="#TU">Unions</a></td></tr>
  38. <tr><td>V</td><td ><a href="#TV">Variables</a></td></tr>
  39. </table><hr/>
  40. <!-- =============================================== -->
  41. <table border="1">
  42. <a name="TB"></a>
  43. <thead>
  44. <tr align="center" colspan="5">Builtin Types</tr>
  45. <tr>
  46. <td align="center">T</td>
  47. <td align="center">id</td>
  48. <td align="center">name</td>
  49. </tr>
  50. </thead>
  51. <xsl:apply-templates select="FundamentalType">
  52. <xsl:sort select="@id"/>
  53. </xsl:apply-templates>
  54. </table><hr/>
  55. <!-- =============================================== -->
  56. <table border="1">
  57. <a name="TN"></a>
  58. <thead>
  59. <tr align="center" colspan="5">Namespaces</tr>
  60. <tr>
  61. <td align="center">T</td>
  62. <td align="center">id</td>
  63. <td align="center">name</td>
  64. <td align="center">context</td>
  65. <td align="center">members</td>
  66. </tr>
  67. </thead>
  68. <xsl:apply-templates select="Namespace">
  69. <xsl:sort select="@name"/>
  70. </xsl:apply-templates>
  71. </table><hr/>
  72. <!-- =============================================== -->
  73. <table border="1">
  74. <a name="TZ"></a>
  75. <thead>
  76. <tr align="center" colspan="5">Classes</tr>
  77. <tr>
  78. <td align="center">T</td>
  79. <td align="center">id</td>
  80. <td align="center">name</td>
  81. <td align="center">context</td>
  82. <td align="center">bases</td>
  83. <td align="center">members</td>
  84. <td align="center">file</td>
  85. <td align="center">line</td>
  86. </tr>
  87. </thead>
  88. <xsl:apply-templates select="Class">
  89. <xsl:sort select="@name"/>
  90. </xsl:apply-templates>
  91. </table><hr/>
  92. <!-- =============================================== -->
  93. <table border="1">
  94. <a name="TS"></a>
  95. <thead>
  96. <tr align="center" colspan="5">Structures</tr>
  97. <tr>
  98. <td align="center">T</td>
  99. <td align="center">id</td>
  100. <td align="center">name</td>
  101. <td align="center">context</td>
  102. <td align="center">bases</td>
  103. <td align="center">members</td>
  104. <td align="center">file</td>
  105. <td align="center">line</td>
  106. </tr>
  107. </thead>
  108. <xsl:apply-templates select="Struct">
  109. <xsl:sort select="@name"/>
  110. </xsl:apply-templates>
  111. </table><hr/>
  112. <!-- =============================================== -->
  113. <table border="1">
  114. <a name="TU"></a>
  115. <thead>
  116. <tr align="center" colspan="5">Unions</tr>
  117. <tr>
  118. <td align="center">T</td>
  119. <td align="center">id</td>
  120. <td align="center">name</td>
  121. <td align="center">context</td>
  122. <td align="center">bases</td>
  123. <td align="center">members</td>
  124. <td align="center">file</td>
  125. <td align="center">line</td>
  126. </tr>
  127. </thead>
  128. <xsl:apply-templates select="Union">
  129. <xsl:sort select="@name"/>
  130. </xsl:apply-templates>
  131. </table><hr/>
  132. <!-- =============================================== -->
  133. <table border="1">
  134. <a name="TFd"></a>
  135. <thead>
  136. <tr align="center" colspan="5">Fields</tr>
  137. <tr>
  138. <td align="center">T</td>
  139. <td align="center">id</td>
  140. <td align="center">name</td>
  141. <td align="center">context</td>
  142. <td align="center">type</td>
  143. <td align="center">bits</td>
  144. <td align="center">access</td>
  145. <td align="center">file</td>
  146. <td align="center">line</td>
  147. </tr>
  148. </thead>
  149. <xsl:apply-templates select="Field">
  150. <xsl:sort select="@name"/>
  151. </xsl:apply-templates>
  152. </table><hr/>
  153. <!-- =============================================== -->
  154. <table border="1">
  155. <a name="TT"></a>
  156. <thead>
  157. <tr align="center" colspan="5">Typedefs</tr>
  158. <tr>
  159. <td align="center">T</td>
  160. <td align="center">id</td>
  161. <td align="center">name</td>
  162. <td align="center">context</td>
  163. <td align="center">type</td>
  164. </tr>
  165. </thead>
  166. <xsl:apply-templates select="Typedef">
  167. <xsl:sort select="@name"/>
  168. </xsl:apply-templates>
  169. </table><hr/>
  170. <!-- =============================================== -->
  171. <table border="1">
  172. <a name="TA"></a>
  173. <thead>
  174. <tr align="center" colspan="2">Arrays</tr>
  175. <tr>
  176. <td align="center">T</td>
  177. <td align="center">id</td>
  178. <td align="center">type</td>
  179. <td align="center">min</td>
  180. <td align="center">max</td>
  181. </tr>
  182. </thead>
  183. <xsl:apply-templates select="ArrayType">
  184. <xsl:sort select="@id"/>
  185. </xsl:apply-templates>
  186. </table><hr/>
  187. <!-- =============================================== -->
  188. <table border="1">
  189. <a name="TP"></a>
  190. <thead>
  191. <tr align="center" colspan="2">Pointers</tr>
  192. <tr>
  193. <td align="center">T</td>
  194. <td align="center">id</td>
  195. <td align="center">type</td>
  196. </tr>
  197. </thead>
  198. <xsl:apply-templates select="PointerType">
  199. <xsl:sort select="@id"/>
  200. </xsl:apply-templates>
  201. </table><hr/>
  202. <!-- =============================================== -->
  203. <table border="1">
  204. <a name="TO"></a>
  205. <thead>
  206. <tr align="center" colspan="2">Offset Types</tr>
  207. <tr>
  208. <td align="center">T</td>
  209. <td align="center">id</td>
  210. <td align="center">basetype</td>
  211. <td align="center">type</td>
  212. </tr>
  213. </thead>
  214. <xsl:apply-templates select="OffsetType">
  215. <xsl:sort select="@id"/>
  216. </xsl:apply-templates>
  217. </table><hr/>
  218. <!-- =============================================== -->
  219. <table border="1">
  220. <a name="TR"></a>
  221. <thead>
  222. <tr align="center" colspan="2">References</tr>
  223. <tr>
  224. <td align="center">T</td>
  225. <td align="center">id</td>
  226. <td align="center">type</td>
  227. </tr>
  228. </thead>
  229. <xsl:apply-templates select="ReferenceType">
  230. <xsl:sort select="@id"/>
  231. </xsl:apply-templates>
  232. </table><hr/>
  233. <!-- =============================================== -->
  234. <table border="1">
  235. <a name="TQ"></a>
  236. <thead>
  237. <tr align="center" colspan="2">CVQ Types</tr>
  238. <tr>
  239. <td align="center">T</td>
  240. <td align="center">id</td>
  241. <td align="center">type</td>
  242. </tr>
  243. </thead>
  244. <xsl:apply-templates select="CvQualifiedType">
  245. <xsl:sort select="@id"/>
  246. </xsl:apply-templates>
  247. </table><hr/>
  248. <!-- =============================================== -->
  249. <table border="1">
  250. <a name="TV"></a>
  251. <thead>
  252. <tr align="center" colspan="5">Variables</tr>
  253. <tr>
  254. <td align="center">T</td>
  255. <td align="center">id</td>
  256. <td align="center">name</td>
  257. <td align="center">context</td>
  258. <td align="center">type</td>
  259. <td align="center">access</td>
  260. <td align="center">file</td>
  261. <td align="center">line</td>
  262. </tr>
  263. </thead>
  264. <xsl:apply-templates select="Variable">
  265. <xsl:sort select="@name"/>
  266. </xsl:apply-templates>
  267. </table><hr/>
  268. <!-- =============================================== -->
  269. <table border="1">
  270. <a name="TM"></a>
  271. <thead>
  272. <tr align="center" colspan="5">Methods</tr>
  273. <tr>
  274. <td align="center">T</td>
  275. <td align="center">id</td>
  276. <td align="center">name</td>
  277. <td align="center">context</td>
  278. <td align="center">returns</td>
  279. <td align="center">throws</td>
  280. <td align="center">arguments</td>
  281. <td align="center">access</td>
  282. <td align="center">static</td>
  283. <td align="center">const</td> <!--MINE-->
  284. <td align="center">file</td>
  285. <td align="center">line</td>
  286. </tr>
  287. </thead>
  288. <xsl:apply-templates select="Method">
  289. <xsl:sort select="@name"/>
  290. </xsl:apply-templates>
  291. </table><hr/>
  292. <!-- =============================================== -->
  293. <table border="1">
  294. <a name="TOM"></a>
  295. <thead>
  296. <tr align="center" colspan="5">Operator Methods</tr>
  297. <tr>
  298. <td align="center">T</td>
  299. <td align="center">id</td>
  300. <td align="center">name</td>
  301. <td align="center">context</td>
  302. <td align="center">returns</td>
  303. <td align="center">throws</td>
  304. <td align="center">arguments</td>
  305. <td align="center">access</td>
  306. <td align="center">static</td>
  307. <td align="center">file</td>
  308. <td align="center">line</td>
  309. </tr>
  310. </thead>
  311. <xsl:apply-templates select="OperatorMethod">
  312. <xsl:sort select="@name"/>
  313. </xsl:apply-templates>
  314. </table><hr/>
  315. <!-- =============================================== -->
  316. <table border="1">
  317. <a name="TMT"></a>
  318. <thead>
  319. <tr align="center" colspan="5">Method Types</tr>
  320. <tr>
  321. <td align="center">T</td>
  322. <td align="center">id</td>
  323. <td align="center">basetype</td>
  324. <td align="center">returns</td>
  325. <td align="center">arguments</td>
  326. <td align="center">const</td>
  327. </tr>
  328. </thead>
  329. <xsl:apply-templates select="MethodType">
  330. <xsl:sort select="@id"/>
  331. </xsl:apply-templates>
  332. </table><hr/>
  333. <!-- =============================================== -->
  334. <table border="1">
  335. <a name="TCT"></a>
  336. <thead>
  337. <tr align="center" colspan="5">Converters</tr>
  338. <tr>
  339. <td align="center">T</td>
  340. <td align="center">id</td>
  341. <td align="center">name</td>
  342. <td align="center">context</td>
  343. <td align="center">returns</td>
  344. <td align="center">throws</td>
  345. <td align="center">access</td>
  346. <td align="center">file</td>
  347. <td align="center">line</td>
  348. </tr>
  349. </thead>
  350. <xsl:apply-templates select="Converter">
  351. <xsl:sort select="@name"/>
  352. </xsl:apply-templates>
  353. </table><hr/>
  354. <!-- =============================================== -->
  355. <table border="1">
  356. <a name="TF"></a>
  357. <thead>
  358. <tr align="center" colspan="5">Functions</tr>
  359. <tr>
  360. <td align="center">T</td>
  361. <td align="center">id</td>
  362. <td align="center">name</td>
  363. <td align="center">context</td>
  364. <td align="center">returns</td>
  365. <td align="center">throws</td>
  366. <td align="center">arguments</td>
  367. <td align="center">file</td>
  368. <td align="center">line</td>
  369. </tr>
  370. </thead>
  371. <xsl:apply-templates select="Function">
  372. <xsl:sort select="@name"/>
  373. </xsl:apply-templates>
  374. </table><hr/>
  375. <!-- =============================================== -->
  376. <table border="1">
  377. <a name="TOF"></a>
  378. <thead>
  379. <tr align="center" colspan="5">Operator Functions</tr>
  380. <tr>
  381. <td align="center">T</td>
  382. <td align="center">id</td>
  383. <td align="center">name</td>
  384. <td align="center">context</td>
  385. <td align="center">returns</td>
  386. <td align="center">throws</td>
  387. <td align="center">arguments</td>
  388. <td align="center">file</td>
  389. <td align="center">line</td>
  390. </tr>
  391. </thead>
  392. <xsl:apply-templates select="OperatorFunction">
  393. <xsl:sort select="@name"/>
  394. </xsl:apply-templates>
  395. </table><hr/>
  396. <!-- =============================================== -->
  397. <table border="1">
  398. <a name="TFT"></a>
  399. <thead>
  400. <tr align="center" colspan="5">Function Types</tr>
  401. <tr>
  402. <td align="center">T</td>
  403. <td align="center">id</td>
  404. <td align="center">returns</td>
  405. <td align="center">arguments</td>
  406. </tr>
  407. </thead>
  408. <xsl:apply-templates select="FunctionType">
  409. <xsl:sort select="@name"/>
  410. </xsl:apply-templates>
  411. </table><hr/>
  412. <!-- =============================================== -->
  413. <table border="1">
  414. <a name="TC"></a>
  415. <thead>
  416. <tr align="center" colspan="5">Constructors</tr>
  417. <tr>
  418. <td align="center">T</td>
  419. <td align="center">id</td>
  420. <td align="center">name</td>
  421. <td align="center">context</td>
  422. <td align="center">throws</td>
  423. <td align="center">arguments</td>
  424. <td align="center">access</td>
  425. <td align="center">artificial</td>
  426. <td align="center">file</td>
  427. <td align="center">line</td>
  428. </tr>
  429. </thead>
  430. <xsl:apply-templates select="Constructor">
  431. <xsl:sort select="@name"/>
  432. </xsl:apply-templates>
  433. </table><hr/>
  434. <!-- =============================================== -->
  435. <table border="1">
  436. <a name="TD"></a>
  437. <thead>
  438. <tr align="center" colspan="5">Destructors</tr>
  439. <tr>
  440. <td align="center">T</td>
  441. <td align="center">id</td>
  442. <td align="center">name</td>
  443. <td align="center">context</td>
  444. <td align="center">throws</td>
  445. <td align="center">access</td>
  446. <td align="center">virtual</td>
  447. <td align="center">artificial</td>
  448. <td align="center">file</td>
  449. <td align="center">line</td>
  450. </tr>
  451. </thead>
  452. <xsl:apply-templates select="Destructor">
  453. <xsl:sort select="@name"/>
  454. </xsl:apply-templates>
  455. </table><hr/>
  456. <!-- =============================================== -->
  457. <table border="1">
  458. <a name="TE"></a>
  459. <thead>
  460. <tr align="center" colspan="5">Enumerations</tr>
  461. <tr>
  462. <td align="center">T</td>
  463. <td align="center">id</td>
  464. <td align="center">name</td>
  465. <td align="center">context</td>
  466. <td align="center">artificial</td>
  467. <td align="center">file</td>
  468. <td align="center">line</td>
  469. </tr>
  470. </thead>
  471. <xsl:apply-templates select="Enumeration">
  472. <xsl:sort select="@name"/>
  473. </xsl:apply-templates>
  474. </table><hr/>
  475. <!-- =============================================== -->
  476. <table border="1">
  477. <thead>
  478. <tr align="center" colspan="5">File</tr>
  479. <tr>
  480. <td align="center">T</td>
  481. <td align="center">id</td>
  482. <td align="center">name</td>
  483. </tr>
  484. </thead>
  485. <xsl:apply-templates select="File">
  486. <xsl:sort select="@name"/>
  487. </xsl:apply-templates>
  488. </table><hr/>
  489. </html>
  490. </xsl:template>
  491. <!-- ====================================================================== -->
  492. <xsl:template match = "Class">
  493. <tr>
  494. <td>Z</td>
  495. <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
  496. <td><xsl:value-of select="@name"/></td>
  497. <td><a href="#{@context}"><xsl:value-of select="@context"/></a></td>
  498. <td>
  499. <xsl:call-template name="tokenize">
  500. <xsl:with-param name="string" select="@bases" />
  501. </xsl:call-template>
  502. </td>
  503. <td>
  504. <xsl:call-template name="tokenize">
  505. <xsl:with-param name="string" select="@members" />
  506. </xsl:call-template>
  507. </td>
  508. <td><a href="#{@file}"><xsl:value-of select="@file"/></a></td>
  509. <td><xsl:value-of select="@line"/></td>
  510. </tr>
  511. </xsl:template>
  512. <!-- =============================================== -->
  513. <xsl:template match = "Struct">
  514. <tr>
  515. <td>S</td>
  516. <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
  517. <td><xsl:value-of select="@name"/></td>
  518. <td><a href="#{@context}"><xsl:value-of select="@context"/></a></td>
  519. <td>
  520. <xsl:call-template name="tokenize">
  521. <xsl:with-param name="string" select="@bases" />
  522. </xsl:call-template>
  523. </td>
  524. <td>
  525. <xsl:call-template name="tokenize">
  526. <xsl:with-param name="string" select="@members" />
  527. </xsl:call-template>
  528. </td>
  529. <td><a href="#{@file}"><xsl:value-of select="@file"/></a></td>
  530. <td><xsl:value-of select="@line"/></td>
  531. </tr>
  532. </xsl:template>
  533. <!-- =============================================== -->
  534. <xsl:template match = "Union">
  535. <tr>
  536. <td>U</td>
  537. <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
  538. <td><xsl:value-of select="@name"/></td>
  539. <td><a href="#{@context}"><xsl:value-of select="@context"/></a></td>
  540. <td>
  541. <xsl:call-template name="tokenize">
  542. <xsl:with-param name="string" select="@bases" />
  543. </xsl:call-template>
  544. </td>
  545. <td>
  546. <xsl:call-template name="tokenize">
  547. <xsl:with-param name="string" select="@members" />
  548. </xsl:call-template>
  549. </td>
  550. <td><a href="#{@file}"><xsl:value-of select="@file"/></a></td>
  551. <td><xsl:value-of select="@line"/></td>
  552. </tr>
  553. </xsl:template>
  554. <!-- =============================================== -->
  555. <xsl:template match = "Namespace">
  556. <tr>
  557. <td>N</td>
  558. <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
  559. <td><xsl:value-of select="@name"/></td>
  560. <td><a href="#{@context}"><xsl:value-of select="@context"/></a></td>
  561. <td>
  562. <xsl:call-template name="tokenize">
  563. <xsl:with-param name="string" select="@members" />
  564. </xsl:call-template>
  565. </td>
  566. </tr>
  567. </xsl:template>
  568. <!-- =============================================== -->
  569. <xsl:template match = "Field">
  570. <tr>
  571. <td>Fd</td>
  572. <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
  573. <td><xsl:value-of select="@name"/></td>
  574. <td><a href="#{@context}"><xsl:value-of select="@context"/></a></td>
  575. <td><a href="#{@type}"><xsl:value-of select="@type"/></a></td>
  576. <td><xsl:value-of select="@access"/></td>
  577. <td><xsl:value-of select="@bits"/></td>
  578. <td><a href="#{@file}"><xsl:value-of select="@file"/></a></td>
  579. <td><xsl:value-of select="@line"/></td>
  580. </tr>
  581. </xsl:template>
  582. <!-- =============================================== -->
  583. <xsl:template match = "Typedef">
  584. <tr>
  585. <td>T</td>
  586. <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
  587. <td><xsl:value-of select="@name"/></td>
  588. <td><a href="#{@context}"><xsl:value-of select="@context"/></a></td>
  589. <td><a href="#{@type}"><xsl:value-of select="@type"/></a></td>
  590. </tr>
  591. </xsl:template>
  592. <!-- =============================================== -->
  593. <xsl:template match = "ArrayType">
  594. <tr>
  595. <td>A</td>
  596. <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
  597. <td><a href="#{@type}"><xsl:value-of select="@type"/></a></td>
  598. <td><a name="{@min}"><xsl:value-of select="@min"/></a></td>
  599. <td><a name="{@max}"><xsl:value-of select="@max"/></a></td>
  600. </tr>
  601. </xsl:template>
  602. <!-- =============================================== -->
  603. <xsl:template match = "PointerType">
  604. <tr>
  605. <td>P</td>
  606. <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
  607. <td><a href="#{@type}"><xsl:value-of select="@type"/></a></td>
  608. </tr>
  609. </xsl:template>
  610. <!-- =============================================== -->
  611. <xsl:template match = "OffsetType">
  612. <tr>
  613. <td>O</td>
  614. <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
  615. <td><a href="#{@basetype}"><xsl:value-of select="@basetype"/></a></td>
  616. <td><a href="#{@type}"><xsl:value-of select="@type"/></a></td>
  617. </tr>
  618. </xsl:template>
  619. <!-- =============================================== -->
  620. <xsl:template match = "ReferenceType">
  621. <tr>
  622. <td>R</td>
  623. <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
  624. <td><a href="#{@type}"><xsl:value-of select="@type"/></a></td>
  625. </tr>
  626. </xsl:template>
  627. <!-- =============================================== -->
  628. <xsl:template match = "CvQualifiedType">
  629. <tr>
  630. <td>Q</td>
  631. <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
  632. <td><a href="#{@type}"><xsl:value-of select="@type"/></a></td>
  633. </tr>
  634. </xsl:template>
  635. <!-- =============================================== -->
  636. <xsl:template match = "FundamentalType">
  637. <tr>
  638. <td>B</td>
  639. <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
  640. <td><xsl:value-of select="@name"/></td>
  641. </tr>
  642. </xsl:template>
  643. <!-- =============================================== -->
  644. <xsl:template match = "Variable">
  645. <tr>
  646. <td>V</td>
  647. <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
  648. <td><xsl:value-of select="@name"/></td>
  649. <td><a href="#{@context}"><xsl:value-of select="@context"/></a></td>
  650. <td><a href="#{@type}"><xsl:value-of select="@type"/></a></td>
  651. <td><xsl:value-of select="@access"/></td>
  652. <td><a href="#{@file}"><xsl:value-of select="@file"/></a></td>
  653. <td><xsl:value-of select="@line"/></td>
  654. </tr>
  655. </xsl:template>
  656. <!-- =============================================== -->
  657. <xsl:template match = "Method">
  658. <tr>
  659. <td>M</td>
  660. <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
  661. <td><xsl:value-of select="@name"/></td>
  662. <td><a href="#{@context}"><xsl:value-of select="@context"/></a></td>
  663. <td><a href="#{@returns}"><xsl:value-of select="@returns"/></a></td>
  664. <td>
  665. <xsl:call-template name="tokenize">
  666. <xsl:with-param name="string" select="@throw" />
  667. </xsl:call-template>
  668. </td>
  669. <td><xsl:value-of select="@demangled"/></td>
  670. <td><xsl:value-of select="@access"/></td>
  671. <td>
  672. <xsl:choose>
  673. <xsl:when test="@static='1'">true</xsl:when>
  674. <xsl:otherwise>false</xsl:otherwise>
  675. </xsl:choose>
  676. </td>
  677. <td>
  678. <xsl:choose>
  679. <xsl:when test="@const='1'">true</xsl:when>
  680. <xsl:otherwise>false</xsl:otherwise>
  681. </xsl:choose>
  682. </td>
  683. <td><a href="#{@file}"><xsl:value-of select="@file"/></a></td>
  684. <td><xsl:value-of select="@line"/></td>
  685. </tr>
  686. </xsl:template>
  687. <!-- =============================================== -->
  688. <xsl:template match = "MethodType">
  689. <tr>
  690. <td>MT</td>
  691. <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
  692. <td><a href="#{@basetype}"><xsl:value-of select="@basetype"/></a></td>
  693. <td><a href="#{@returns}"><xsl:value-of select="@returns"/></a></td>
  694. <td><xsl:apply-templates select="Argument"/></td>
  695. <td>
  696. <xsl:choose>
  697. <xsl:when test="@const='1'">true</xsl:when>
  698. <xsl:otherwise>false</xsl:otherwise>
  699. </xsl:choose>
  700. </td>
  701. </tr>
  702. </xsl:template>
  703. <!-- =============================================== -->
  704. <xsl:template match = "OperatorMethod">
  705. <tr>
  706. <td>OpM</td>
  707. <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
  708. <td><a href="#{@basetype}"><xsl:value-of select="@basetype"/></a></td>
  709. <td><a href="#{@returns}"><xsl:value-of select="@returns"/></a></td>
  710. <td>
  711. <xsl:call-template name="tokenize">
  712. <xsl:with-param name="string" select="@throw" />
  713. </xsl:call-template>
  714. </td>
  715. <td><xsl:apply-templates select="Argument"/></td>
  716. <td><xsl:value-of select="@access"/></td>
  717. <td>
  718. <xsl:choose>
  719. <xsl:when test="@static='1'">true</xsl:when>
  720. <xsl:otherwise>false</xsl:otherwise>
  721. </xsl:choose>
  722. </td>
  723. <td><a href="#{@file}"><xsl:value-of select="@file"/></a></td>
  724. <td><xsl:value-of select="@line"/></td>
  725. </tr>
  726. </xsl:template>
  727. <!-- =============================================== -->
  728. <xsl:template match = "Converter">
  729. <tr>
  730. <td>Cnv</td>
  731. <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
  732. <td><xsl:value-of select="@name"/></td>
  733. <td><a href="#{@context}"><xsl:value-of select="@context"/></a></td>
  734. <td><a href="#{@returns}"><xsl:value-of select="@returns"/></a></td>
  735. <td>
  736. <xsl:call-template name="tokenize">
  737. <xsl:with-param name="string" select="@throw" />
  738. </xsl:call-template>
  739. </td>
  740. <td><xsl:value-of select="@access"/></td>
  741. <td><a href="#{@file}"><xsl:value-of select="@file"/></a></td>
  742. <td><xsl:value-of select="@line"/></td>
  743. </tr>
  744. </xsl:template>
  745. <!-- =============================================== -->
  746. <xsl:template match = "Function">
  747. <tr>
  748. <td>F</td>
  749. <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
  750. <td><xsl:value-of select="@name"/></td>
  751. <td><a href="#{@context}"><xsl:value-of select="@context"/></a></td>
  752. <td><a href="#{@returns}"><xsl:value-of select="@returns"/></a></td>
  753. <td>
  754. <xsl:call-template name="tokenize">
  755. <xsl:with-param name="string" select="@throw" />
  756. </xsl:call-template>
  757. </td>
  758. <td><xsl:apply-templates select="Argument"/></td>
  759. <td><a href="#{@file}"><xsl:value-of select="@file"/></a></td>
  760. <td><xsl:value-of select="@line"/></td>
  761. </tr>
  762. </xsl:template>
  763. <!-- =============================================== -->
  764. <xsl:template match = "OperatorFunction">
  765. <tr>
  766. <td>OpF</td>
  767. <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
  768. <td><xsl:value-of select="@name"/></td>
  769. <td><a href="#{@context}"><xsl:value-of select="@context"/></a></td>
  770. <td><a href="#{@returns}"><xsl:value-of select="@returns"/></a></td>
  771. <td>
  772. <xsl:call-template name="tokenize">
  773. <xsl:with-param name="string" select="@throw" />
  774. </xsl:call-template>
  775. </td>
  776. <td><xsl:apply-templates select="Argument"/></td>
  777. <td><a href="#{@file}"><xsl:value-of select="@file"/></a></td>
  778. <td><xsl:value-of select="@line"/></td>
  779. </tr>
  780. </xsl:template>
  781. <!-- =============================================== -->
  782. <xsl:template match = "FunctionType">
  783. <tr>
  784. <td>FT</td>
  785. <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
  786. <td><a href="#{@returns}"><xsl:value-of select="@returns"/></a></td>
  787. <td><xsl:apply-templates select="Argument"/></td>
  788. </tr>
  789. </xsl:template>
  790. <!-- =============================================== -->
  791. <xsl:template match = "Destructor">
  792. <tr>
  793. <td>D</td>
  794. <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
  795. <td><xsl:value-of select="@name"/></td>
  796. <td><a href="#{@context}"><xsl:value-of select="@context"/></a></td>
  797. <td>
  798. <xsl:call-template name="tokenize">
  799. <xsl:with-param name="string" select="@throw" />
  800. </xsl:call-template>
  801. </td>
  802. <td><xsl:value-of select="@access"/></td>
  803. <td>
  804. <xsl:choose>
  805. <xsl:when test="@virtual='1'">true</xsl:when>
  806. <xsl:otherwise>false</xsl:otherwise>
  807. </xsl:choose>
  808. </td>
  809. <td>
  810. <xsl:choose>
  811. <xsl:when test="@artificial='1'">true</xsl:when>
  812. <xsl:otherwise>false</xsl:otherwise>
  813. </xsl:choose>
  814. </td>
  815. <td><a href="#{@file}"><xsl:value-of select="@file"/></a></td>
  816. <td><xsl:value-of select="@line"/></td>
  817. </tr>
  818. </xsl:template>
  819. <!-- =============================================== -->
  820. <xsl:template match = "Constructor">
  821. <tr>
  822. <td>Co</td>
  823. <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
  824. <td><xsl:value-of select="@name"/></td>
  825. <td><a href="#{@context}"><xsl:value-of select="@context"/></a></td>
  826. <td>
  827. <xsl:call-template name="tokenize">
  828. <xsl:with-param name="string" select="@throw" />
  829. </xsl:call-template>
  830. </td>
  831. <td><xsl:apply-templates select="Argument"/></td>
  832. <td><xsl:value-of select="@access"/></td>
  833. <td>
  834. <xsl:choose>
  835. <xsl:when test="@artificial='1'">true</xsl:when>
  836. <xsl:otherwise>false</xsl:otherwise>
  837. </xsl:choose>
  838. </td>
  839. <td><a href="#{@file}"><xsl:value-of select="@file"/></a></td>
  840. <td><xsl:value-of select="@line"/></td>
  841. </tr>
  842. </xsl:template>
  843. <!-- =============================================== -->
  844. <xsl:template match = "Enumeration">
  845. <tr>
  846. <td>En</td>
  847. <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
  848. <td><xsl:value-of select="@name"/></td>
  849. <td><a href="#{@context}"><xsl:value-of select="@context"/></a></td>
  850. <td>
  851. <xsl:choose>
  852. <xsl:when test="@artificial='1'">true</xsl:when>
  853. <xsl:otherwise>false</xsl:otherwise>
  854. </xsl:choose>
  855. </td>
  856. <td><a href="#{@file}"><xsl:value-of select="@file"/></a></td>
  857. <td><xsl:value-of select="@line"/></td>
  858. </tr>
  859. </xsl:template>
  860. <!-- =============================================== -->
  861. <xsl:template match = "File">
  862. <tr>
  863. <td>Fd</td>
  864. <td><a name="{@id}"><xsl:value-of select="@id"/></a></td>
  865. <td><a href="{@name}"><xsl:value-of select="@name"/></a></td>
  866. </tr>
  867. </xsl:template>
  868. <!-- =============================================== -->
  869. <xsl:template match = "Argument">
  870. <a href="#{@type}"><xsl:value-of select="@type"/></a>
  871. </xsl:template>
  872. <!--- ========== Tokenizer ================== -->
  873. <xsl:template name="tokenize">
  874. <xsl:param name="string" select="''" />
  875. <xsl:param name="delimiters" select="' &#x9; '" />
  876. <xsl:choose>
  877. <xsl:when test="not($string)" />
  878. <xsl:when test="not($delimiters)">
  879. <xsl:call-template name="_tokenize-characters">
  880. <xsl:with-param name="string" select="$string" />
  881. </xsl:call-template>
  882. </xsl:when>
  883. <xsl:otherwise>
  884. <xsl:call-template name="_tokenize-delimiters">
  885. <xsl:with-param name="string" select="$string" />
  886. <xsl:with-param name="delimiters" select="$delimiters" />
  887. </xsl:call-template>
  888. </xsl:otherwise>
  889. </xsl:choose>
  890. </xsl:template>
  891. <!-- =============================================== -->
  892. <xsl:template name="_tokenize-characters">
  893. <xsl:param name="string" />
  894. <xsl:if test="$string">
  895. <a href="#{$string}">
  896. <xsl:value-of select="substring($string, 1, 1)" />
  897. </a>
  898. <xsl:call-template name="_tokenize-characters">
  899. <xsl:with-param name="string" select="substring($string, 2)" />
  900. </xsl:call-template>
  901. </xsl:if>
  902. </xsl:template>
  903. <!-- =============================================== -->
  904. <xsl:template name="_tokenize-delimiters">
  905. <xsl:param name="string" />
  906. <xsl:param name="delimiters" />
  907. <xsl:variable name="delimiter" select="substring($delimiters, 1, 1)" />
  908. <xsl:choose>
  909. <xsl:when test="not($delimiter)">
  910. <a href="#{$string}">
  911. <xsl:value-of select="$string" />
  912. </a>
  913. </xsl:when>
  914. <xsl:when test="contains($string, $delimiter)">
  915. <xsl:if test="not(starts-with($string, $delimiter))">
  916. <xsl:call-template name="_tokenize-delimiters">
  917. <xsl:with-param name="string" select="substring-before($string, $delimiter)" />
  918. <xsl:with-param name="delimiters" select="substring($delimiters, 2)" />
  919. </xsl:call-template>
  920. </xsl:if>
  921. <xsl:call-template name="_tokenize-delimiters">
  922. <xsl:with-param name="string" select="substring-after($string, $delimiter)" />
  923. <xsl:with-param name="delimiters" select="$delimiters" />
  924. </xsl:call-template>
  925. </xsl:when>
  926. <xsl:when test="starts-with($string, 'private:')">
  927. <xsl:call-template name="_tokenize-delimiters">
  928. <xsl:with-param name="string" select="substring($string, 9)" />
  929. </xsl:call-template>
  930. </xsl:when>
  931. <xsl:when test="starts-with($string, 'protected:')">
  932. <xsl:call-template name="_tokenize-delimiters">
  933. <xsl:with-param name="string" select="substring($string, 11)" />
  934. </xsl:call-template>
  935. </xsl:when>
  936. <xsl:otherwise>
  937. <xsl:call-template name="_tokenize-delimiters">
  938. <xsl:with-param name="string" select="$string" />
  939. <xsl:with-param name="delimiters" select="substring($delimiters, 2)" />
  940. </xsl:call-template>
  941. </xsl:otherwise>
  942. </xsl:choose>
  943. </xsl:template>
  944. </xsl:stylesheet>