1 |
<?xml version="1.0" encoding="iso-2022-jp"?> |
2 |
<t:stylesheet version="1.0" |
3 |
xmlns:t="http://www.w3.org/1999/XSL/Transform" |
4 |
xmlns:h1="http://www.w3.org/1999/xhtml" |
5 |
xmlns:h2="http://www.w3.org/2002/06/xhtml2"> |
6 |
|
7 |
<t:variable name="source-language" select="'en'"/> |
8 |
|
9 |
<t:template match="/child::source"> |
10 |
<t:processing-instruction name="xml-stylesheet"> |
11 |
href="http://suika.fam.cx/www/style/html/xhtml" media="all" |
12 |
</t:processing-instruction> |
13 |
<t:processing-instruction name="xml-stylesheet"> |
14 |
href="http://suika.fam.cx/www/style/ui/toc-none" media="all" |
15 |
</t:processing-instruction> |
16 |
<h2:html xml:lang="ja"> |
17 |
<h2:head> |
18 |
<h2:title></h2:title> |
19 |
</h2:head> |
20 |
<h2:body> |
21 |
<t:apply-templates select="document (/child::source/child::uri)/child::*"/> |
22 |
</h2:body> |
23 |
</h2:html> |
24 |
</t:template> |
25 |
|
26 |
|
27 |
<t:template match="child::*"> |
28 |
<h1:span style="display: block; color: red; border: dotted red thin; |
29 |
padding: 1em; margin: 1em" |
30 |
xml:lang="{$source-language}"> |
31 |
<t:value-of select="concat (local-name (), ': ')"/> |
32 |
<t:apply-templates select="child::* | attribute::* | text ()"/> |
33 |
</h1:span> |
34 |
</t:template> |
35 |
|
36 |
<t:template match="attribute::*"> |
37 |
<h1:span style="display: block; color: red; border: dotted red thin; |
38 |
padding: 1em; margin: 1em" |
39 |
xml:lang="{$source-language}"> |
40 |
<t:value-of select="concat ('@', local-name (), ': ', |
41 |
string (self::node ()))"/> |
42 |
</h1:span> |
43 |
</t:template> |
44 |
|
45 |
<t:template match="child::propset"> |
46 |
<h2:h>$BFC@-=89g(B</h2:h> |
47 |
<h2:dl> |
48 |
<t:choose> |
49 |
<t:when test="attribute::nsd"> |
50 |
<h2:di><h2:dt>$B<oN`(B</h2:dt><h2:dd>$B0l<!FC@-=89g(B</h2:dd></h2:di> |
51 |
<h2:di><h2:dt>$B5-K!;EMMJ8=q(B</h2:dt> |
52 |
<h2:dd><t:call-template name="notation"> |
53 |
<t:with-param name="node" select="attribute::nsd"/> |
54 |
</t:call-template></h2:dd></h2:di> |
55 |
</t:when> |
56 |
<t:otherwise> |
57 |
<h2:di><h2:dt>$B<oN`(B</h2:dt><h2:dd>$BJd=uFC@-=89g(B</h2:dd></h2:di> |
58 |
</t:otherwise> |
59 |
</t:choose> |
60 |
<h2:di><h2:dt>$B%0%m!<%V9=C[;EMMJ8=q(B</h2:dt> |
61 |
<h2:dd><t:choose> |
62 |
<t:when test="attribute::gcsd"> |
63 |
<t:call-template name="notation"> |
64 |
<t:with-param name="node" select="attribute::gcsd"/> |
65 |
</t:call-template> |
66 |
</t:when> |
67 |
<t:otherwise> |
68 |
<t:call-template name="notation"> |
69 |
<t:with-param name="node" select="attribute::nsd"/> |
70 |
</t:call-template> |
71 |
</t:otherwise> |
72 |
</t:choose></h2:dd></h2:di> |
73 |
<t:apply-templates select="child::desc | child::note"/> |
74 |
<t:call-template name="classdef-list"/> |
75 |
<t:call-template name="normdef-list"/> |
76 |
<t:call-template name="psmodule-list"/> |
77 |
<t:call-template name="classdef-list"/> |
78 |
</h2:dl> |
79 |
|
80 |
<t:apply-templates select="child::classdef | child::normdef | child::psmodule"/> |
81 |
</t:template> |
82 |
|
83 |
<t:template name="classdef-list"> |
84 |
<t:if test="child::classdef"> |
85 |
<h2:di> |
86 |
<h2:dt>$B5i(B</h2:dt> |
87 |
<h2:dd><h2:ul> |
88 |
<t:apply-templates select="child::classdef" mode="list"/> |
89 |
</h2:ul></h2:dd> |
90 |
</h2:di> |
91 |
</t:if> |
92 |
</t:template> |
93 |
|
94 |
<t:template name="propdef-list"> |
95 |
<t:if test="child::propdef"> |
96 |
<h2:di> |
97 |
<h2:dt>$BFC@-(B</h2:dt> |
98 |
<h2:dd><h2:ul> |
99 |
<t:apply-templates select="child::propdef" mode="list"/> |
100 |
</h2:ul></h2:dd> |
101 |
</h2:di> |
102 |
</t:if> |
103 |
</t:template> |
104 |
|
105 |
<t:template name="normdef-list"> |
106 |
<t:if test="child::normdef"> |
107 |
<h2:di> |
108 |
<h2:dt>$B@55,2=5,B'(B</h2:dt> |
109 |
<h2:dd><h2:ul> |
110 |
<t:apply-templates select="child::normdef" mode="list"/> |
111 |
</h2:ul></h2:dd> |
112 |
</h2:di> |
113 |
</t:if> |
114 |
</t:template> |
115 |
|
116 |
<t:template name="psmodule-list"> |
117 |
<t:if test="child::psmodule"> |
118 |
<h2:di> |
119 |
<h2:dt>$B%b%8%e!<%k(B</h2:dt> |
120 |
<h2:dd><h2:ul> |
121 |
<t:apply-templates select="child::psmodule" mode="list"/> |
122 |
</h2:ul></h2:dd> |
123 |
</h2:di> |
124 |
</t:if> |
125 |
</t:template> |
126 |
|
127 |
<t:template name="clause-notation"> |
128 |
<t:choose> |
129 |
<t:when test="attribute::clausenot"> |
130 |
<t:call-template name="notation"> |
131 |
<t:with-param name="node" select="attribute::clausenot"/> |
132 |
</t:call-template> |
133 |
</t:when> |
134 |
<t:otherwise xml:lang="en">ISO/IEC 10744:1997 A.4.2</t:otherwise> |
135 |
</t:choose> |
136 |
</t:template> |
137 |
|
138 |
<t:template match="child::when"> |
139 |
<h2:di> |
140 |
<h2:dt>$BCMB8:_>r7o(B</h2:dt> |
141 |
<h2:dd xml:lang="{$source-language}"><t:apply-templates/></h2:dd> |
142 |
</h2:di> |
143 |
</t:template> |
144 |
|
145 |
<t:template match="child::desc"> |
146 |
<h2:di> |
147 |
<h2:dt>$B@bL@(B</h2:dt> |
148 |
<h2:dd xml:lang="{$source-language}"><t:apply-templates/></h2:dd> |
149 |
</h2:di> |
150 |
</t:template> |
151 |
|
152 |
<t:template match="child::note"> |
153 |
<h2:di> |
154 |
<h2:dt>$BCm0U(B</h2:dt> |
155 |
<h2:dd xml:lang="{$source-language}"><t:apply-templates/></h2:dd> |
156 |
</h2:di> |
157 |
</t:template> |
158 |
|
159 |
<t:template name="notation"> |
160 |
<t:param name="node"/> |
161 |
<!-- XSLT 1.0 provides no access to notations --> |
162 |
<t:value-of select="concat ('(', $node, ')')"/> |
163 |
</t:template> |
164 |
|
165 |
<t:template mode="list" match="child::normdef | child::classdef | |
166 |
child::propdef | child::psmodule"> |
167 |
<h2:li href="#{generate-id (self::node ())}"><t:call-template name="fullname"/> |
168 |
(<t:call-template name="rcsname"/>)</h2:li> |
169 |
</t:template> |
170 |
|
171 |
<t:template name="fullname"> |
172 |
<h2:span xml:lang="{$source-language}"> |
173 |
<t:choose> |
174 |
<t:when test="attribute::fullnm"> |
175 |
<t:value-of select="attribute::fullnm"/> |
176 |
</t:when> |
177 |
<t:when test="attribute::appnm"> |
178 |
<t:value-of select="attribute::appnm"/> |
179 |
</t:when> |
180 |
<t:otherwise> |
181 |
<t:value-of select="attribute::rcsnm"/> |
182 |
</t:otherwise> |
183 |
</t:choose> |
184 |
</h2:span> |
185 |
</t:template> |
186 |
|
187 |
<t:template name="appname"> |
188 |
<t:choose> |
189 |
<t:when test="attribute::appnm"> |
190 |
<h2:code xml:lang="{$source-language}"><t:value-of select="attribute::appnm"/></h2:code> |
191 |
</t:when> |
192 |
<t:otherwise> |
193 |
<h2:code xml:lang="{$source-language}"><t:value-of select="attribute::rcsnm"/></h2:code> |
194 |
</t:otherwise> |
195 |
</t:choose> |
196 |
</t:template> |
197 |
|
198 |
<t:template name="rcsname"> |
199 |
<h2:code xml:lang="{$source-language}"><t:value-of select="attribute::rcsnm"/></h2:code> |
200 |
</t:template> |
201 |
|
202 |
<t:template match="child::normdef"> |
203 |
<h2:section><h1:a id="{generate-id (self::node ())}"/> |
204 |
<h2:h>$B@55,2=5,B'(B <t:call-template name="fullname"/></h2:h> |
205 |
<h2:dl> |
206 |
<t:call-template name="attributes-name"/> |
207 |
<t:call-template name="attributes-spec"/> |
208 |
<t:apply-templates select="child::desc | child::note"/> |
209 |
</h2:dl> |
210 |
</h2:section> |
211 |
</t:template> |
212 |
|
213 |
<t:template match="child::psmodule"> |
214 |
<h2:section><h1:a id="{generate-id (self::node ())}"/> |
215 |
<h2:h>$B%b%8%e!<%k(B <t:call-template name="fullname"/></h2:h> |
216 |
<h2:dl> |
217 |
<t:call-template name="attributes-name"/> |
218 |
<t:call-template name="attribute-dependon"/> |
219 |
<t:call-template name="attribute-default"/> |
220 |
<t:apply-templates select="child::desc | child::note"/> |
221 |
<t:call-template name="classdef-list"/> |
222 |
<t:call-template name="propdef-list"/> |
223 |
<t:call-template name="normdef-list"/> |
224 |
</h2:dl> |
225 |
|
226 |
<t:apply-templates select="child::classdef | child::propdef | child::normdef"/> |
227 |
</h2:section> |
228 |
</t:template> |
229 |
|
230 |
<t:template match="child::classdef"> |
231 |
<h2:section><h1:a id="{generate-id (self::node ())}"/> |
232 |
<h2:h>$B5i(B <t:call-template name="fullname"/></h2:h> |
233 |
<h2:dl> |
234 |
<t:call-template name="attributes-name"/> |
235 |
<t:call-template name="attributes-spec"/> |
236 |
<t:call-template name="attribute-default"/> |
237 |
<t:call-template name="attribute-prune"/> |
238 |
<t:call-template name="attribute-mayadd"/> |
239 |
<t:apply-templates select="child::desc | child::note"/> |
240 |
<t:apply-templates select="attribute::conprop | attribute::despprop"/> |
241 |
<t:call-template name="propdef-list"/> |
242 |
</h2:dl> |
243 |
|
244 |
<t:apply-templates select="child::propdef"/> |
245 |
</h2:section> |
246 |
</t:template> |
247 |
|
248 |
<t:template match="child::propdef"> |
249 |
<h2:section><h1:a id="{generate-id (self::node ())}"/> |
250 |
<h2:h>$BFC@-(B <t:call-template name="fullname"/></h2:h> |
251 |
<h2:dl> |
252 |
<t:call-template name="attributes-name"/> |
253 |
<t:call-template name="attribute-cn"/> |
254 |
<t:call-template name="attributes-spec"/> |
255 |
<t:call-template name="attribute-default"/> |
256 |
<t:call-template name="attribute-vrfytype"/> |
257 |
<t:apply-templates select="attribute::datatype"/> |
258 |
<t:apply-templates select="child::when"/> |
259 |
<t:apply-templates select="child::desc | child::note"/> |
260 |
</h2:dl> |
261 |
</h2:section> |
262 |
</t:template> |
263 |
|
264 |
<t:template match="child::enumdef"> |
265 |
<h2:dl><h1:a id="{generate-id (self::node ())}"/> |
266 |
<t:call-template name="attributes-name"/> |
267 |
<t:apply-templates select="child::desc | child::note"/> |
268 |
</h2:dl> |
269 |
</t:template> |
270 |
|
271 |
<t:template name="attributes-name"> |
272 |
<h2:di> |
273 |
<h2:dt>$B;2>H6q>]9=J8L>(B</h2:dt> |
274 |
<h2:dd><t:call-template name="rcsname"/></h2:dd> |
275 |
</h2:di> |
276 |
<h2:di> |
277 |
<h2:dt>$B1~MQL>(B</h2:dt> |
278 |
<h2:dd><t:call-template name="appname"/></h2:dd> |
279 |
</h2:di> |
280 |
<h2:di> |
281 |
<h2:dt>$B40A4L>(B</h2:dt> |
282 |
<h2:dd><t:call-template name="fullname"/></h2:dd> |
283 |
</h2:di> |
284 |
</t:template> |
285 |
|
286 |
<t:template name="attributes-spec"> |
287 |
<h2:di> |
288 |
<h2:dt>$B;EMM=q(B</h2:dt> |
289 |
<h2:dd> |
290 |
<t:choose> |
291 |
<t:when test="attribute::sd"> |
292 |
<t:call-template name="notation"> |
293 |
<t:with-param name="node" select="attribute::sd"/> |
294 |
</t:call-template> |
295 |
</t:when> |
296 |
<t:when test="ancestor::propset/attribute::nsd"> |
297 |
<t:call-template name="notation"> |
298 |
<t:with-param name="node" select="ancestor::propset/attribute::nsd"/> |
299 |
</t:call-template> |
300 |
</t:when> |
301 |
<t:otherwise> |
302 |
<t:call-template name="notation"> |
303 |
<t:with-param name="node" select="ancestor::propset/attribute::gcsd"/> |
304 |
</t:call-template> |
305 |
</t:otherwise> |
306 |
</t:choose> |
307 |
|
308 |
<t:choose> |
309 |
<t:when test="attribute::clause"> |
310 |
<t:value-of select="' '"/> |
311 |
<t:call-template name="clause"/> |
312 |
</t:when> |
313 |
<t:when test="self::propdef/parent::classdef/attribute::clause"> |
314 |
<t:value-of select="' '"/> |
315 |
<t:for-each select="parent::node ()"> |
316 |
<t:call-template name="clause"/> |
317 |
</t:for-each> |
318 |
</t:when> |
319 |
</t:choose> |
320 |
</h2:dd> |
321 |
</h2:di> |
322 |
</t:template> |
323 |
|
324 |
<t:template name="clause"> |
325 |
<t:choose> |
326 |
<t:when test="attribute::clausenot"> |
327 |
<t:value-of select="attribute::clause"/> |
328 |
[$B>r9`5-K!(B: <t:call-template name="clause-notation"/>] |
329 |
</t:when> |
330 |
<t:otherwise> |
331 |
<t:choose> |
332 |
<t:when test="contains (normalize-space (attribute::clause), ' ')"> |
333 |
<t:value-of select="attribute::clause"/> |
334 |
[$B>r9`5-K!(B: ISO/IEC 10744:1997] |
335 |
</t:when> |
336 |
<t:when test="substring (attribute::clause, 1, 3) = 'FIG'"> |
337 |
<t:value-of select="concat ('$B?^(B ', substring (attribute::clause, 4))"/> |
338 |
</t:when> |
339 |
<t:when test="substring (attribute::clause, 1, 1) = '4'"> |
340 |
<t:value-of select="concat ('$BDj5A(B ', |
341 |
substring (attribute::clause, 2, 3))"/> |
342 |
<t:call-template name="clause-number"> |
343 |
<t:with-param name="prefix" select="' $BBh(B '"/> |
344 |
<t:with-param name="number" |
345 |
select="substring (attribute::clause, 5)"/> |
346 |
<t:with-param name="suffix" select="' $BCJMn(B'"/> |
347 |
</t:call-template> |
348 |
</t:when> |
349 |
<t:when test="substring (attribute::clause, 2, 1) = '.'"> |
350 |
<t:value-of select="concat |
351 |
('$BImB0=q(B ', |
352 |
translate (substring (attribute::clause, 1, 1), |
353 |
'abcdefghijklmnopqrstuvwxyz', |
354 |
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'), |
355 |
'.')"/> |
356 |
<t:call-template name="clause-number"> |
357 |
<t:with-param name="number" |
358 |
select="substring (attribute::clause, 3, 1)"/> |
359 |
</t:call-template> |
360 |
<t:call-template name="clause-number"> |
361 |
<t:with-param name="prefix" select="'.'"/> |
362 |
<t:with-param name="number" |
363 |
select="substring (attribute::clause, 4, 1)"/> |
364 |
</t:call-template> |
365 |
<t:call-template name="clause-number"> |
366 |
<t:with-param name="prefix" select="'.'"/> |
367 |
<t:with-param name="number" |
368 |
select="substring (attribute::clause, 5, 1)"/> |
369 |
</t:call-template> |
370 |
<t:call-template name="clause-number"> |
371 |
<t:with-param name="prefix" select="'.'"/> |
372 |
<t:with-param name="number" |
373 |
select="substring (attribute::clause, 6, 1)"/> |
374 |
</t:call-template> |
375 |
<t:call-template name="clause-number"> |
376 |
<t:with-param name="prefix" select="' $BBh(B '"/> |
377 |
<t:with-param name="number" |
378 |
select="substring (attribute::clause, 7, 1)"/> |
379 |
<t:with-param name="suffix" select="' $BCJMn(B'"/> |
380 |
</t:call-template> |
381 |
</t:when> |
382 |
<t:otherwise> |
383 |
<t:call-template name="clause-number"> |
384 |
<t:with-param name="number" |
385 |
select="substring (attribute::clause, 1, 1)"/> |
386 |
</t:call-template> |
387 |
<t:call-template name="clause-number"> |
388 |
<t:with-param name="prefix" select="'.'"/> |
389 |
<t:with-param name="number" |
390 |
select="substring (attribute::clause, 2, 1)"/> |
391 |
</t:call-template> |
392 |
<t:call-template name="clause-number"> |
393 |
<t:with-param name="prefix" select="'.'"/> |
394 |
<t:with-param name="number" |
395 |
select="substring (attribute::clause, 3, 1)"/> |
396 |
</t:call-template> |
397 |
<t:call-template name="clause-number"> |
398 |
<t:with-param name="prefix" select="'.'"/> |
399 |
<t:with-param name="number" |
400 |
select="substring (attribute::clause, 4, 1)"/> |
401 |
</t:call-template> |
402 |
<t:call-template name="clause-number"> |
403 |
<t:with-param name="prefix" select="' $BBh(B '"/> |
404 |
<t:with-param name="number" |
405 |
select="substring (attribute::clause, 5, 1)"/> |
406 |
<t:with-param name="suffix" select="' $BCJMn(B'"/> |
407 |
</t:call-template> |
408 |
</t:otherwise> |
409 |
</t:choose> |
410 |
</t:otherwise> |
411 |
</t:choose> |
412 |
</t:template> |
413 |
|
414 |
<t:template name="clause-number"> |
415 |
<t:param name="prefix"/> |
416 |
<t:param name="number"/> |
417 |
<t:param name="suffix"/> |
418 |
<t:choose> |
419 |
<t:when test="$number = '0'"/> |
420 |
<t:when test="$number = 'a'"> |
421 |
<t:value-of select="concat ($prefix, '10', $suffix)"/> |
422 |
</t:when> |
423 |
<t:when test="$number = 'b'"> |
424 |
<t:value-of select="concat ($prefix, '11', $suffix)"/> |
425 |
</t:when> |
426 |
<t:when test="$number = 'c'"> |
427 |
<t:value-of select="concat ($prefix, '12', $suffix)"/> |
428 |
</t:when> |
429 |
<t:when test="$number = 'd'"> |
430 |
<t:value-of select="concat ($prefix, '13', $suffix)"/> |
431 |
</t:when> |
432 |
<t:when test="$number = 'e'"> |
433 |
<t:value-of select="concat ($prefix, '14', $suffix)"/> |
434 |
</t:when> |
435 |
<t:otherwise> |
436 |
<t:value-of select="concat ($prefix, $number, $suffix)"/> |
437 |
</t:otherwise> |
438 |
</t:choose> |
439 |
</t:template> |
440 |
|
441 |
<t:template name="attribute-default"> |
442 |
<h2:di> |
443 |
<h2:dt>$B4{Dj%0%m!<%V@_7W(B</h2:dt> |
444 |
<h2:dd> |
445 |
<t:choose> |
446 |
<t:when test="ancestor::psmodule and attribute::default = 'default'"> |
447 |
$B4^$^$l$k(B |
448 |
</t:when> |
449 |
<t:when test="ancestor::psmodule">$B4^$^$l$J$$(B</t:when> |
450 |
<t:otherwise>$B4^$^$l$k(B</t:otherwise> |
451 |
</t:choose> |
452 |
</h2:dd> |
453 |
</h2:di> |
454 |
</t:template> |
455 |
|
456 |
<t:template name="attribute-dependon"> |
457 |
<h2:di> |
458 |
<h2:dt>$B0MB8%b%8%e!<%k(B</h2:dt> |
459 |
<h2:dd> |
460 |
<h2:choose> |
461 |
<h2:when test="attribute::dependon"> |
462 |
<h2:value-of select="attribute::dependon"/> |
463 |
</h2:when> |
464 |
<h2:otherwise>$B$J$7(B</h2:otherwise> |
465 |
</h2:choose> |
466 |
</h2:dd> |
467 |
</h2:di> |
468 |
</t:template> |
469 |
|
470 |
<t:template name="attribute-prune"> |
471 |
<h2:di> |
472 |
<h2:dt>$B%0%m!<%V@_7W$+$i$N=|5n(B</h2:dt> |
473 |
<h2:dd> |
474 |
<t:choose> |
475 |
<t:when test="attribute::prune = 'nprune'">$B;R6!$r@\LZ(B</t:when> |
476 |
<t:otherwise>$BFbMFLZ$r4"<h$j(B</t:otherwise> |
477 |
</t:choose> |
478 |
</h2:dd> |
479 |
</h2:di> |
480 |
</t:template> |
481 |
|
482 |
<t:template name="attribute-mayadd"> |
483 |
<h2:di> |
484 |
<h2:dt>$B<+F0DI2C(B</h2:dt> |
485 |
<h2:dd> |
486 |
<t:choose> |
487 |
<t:when test="attribute::mayadd = 'mayadd'">$B2DG=(B</t:when> |
488 |
<t:otherwise>$BIT2DG=(B</t:otherwise> |
489 |
</t:choose> |
490 |
</h2:dd> |
491 |
</h2:di> |
492 |
</t:template> |
493 |
|
494 |
<t:template name="attribute-vrfytype"> |
495 |
<h2:di> |
496 |
<h2:dt>$B8!>Z7?(B</h2:dt> |
497 |
<h2:dd> |
498 |
<t:choose> |
499 |
<t:when test="attribute::mayadd = 'derived'">$BB>$NFC@-$+$iGI@8(B</t:when> |
500 |
<t:when test="attribute::mayadd = 'optional'">$B<+F04IM}2DG=(B</t:when> |
501 |
<t:otherwise>$B$=$NB>(B</t:otherwise> |
502 |
</t:choose> |
503 |
</h2:dd> |
504 |
</h2:di> |
505 |
</t:template> |
506 |
|
507 |
<t:template match="attribute::conprop"> |
508 |
<h2:di> |
509 |
<h2:dt>$BFbMFFC@-(B</h2:dt> |
510 |
<h2:dd href="#{generate-id (ancestor::propset/descendant::propdef[string (attribute::rcsnm) = string (current ())])}"><t:value-of select="self::node ()"/></h2:dd> |
511 |
</h2:di> |
512 |
</t:template> |
513 |
|
514 |
<t:template match="attribute::despprop"> |
515 |
<h2:di> |
516 |
<h2:dt>$B%G!<%?J,N%;RFC@-(B</h2:dt> |
517 |
<h2:dd href="#{generate-id (ancestor::propset/descendant::propdef[attribute::rcsnm = self::node ()])}"><t:value-of select="self::node ()"/></h2:dd> |
518 |
</h2:di> |
519 |
</t:template> |
520 |
|
521 |
<t:template name="attribute-cn"> |
522 |
<h2:di> |
523 |
<h2:dt>$B5i(B</h2:dt> |
524 |
<h2:dd> |
525 |
<t:choose> |
526 |
<t:when test="attribute::cn = '#ALL' or attribute::cn = '#all'"> |
527 |
<t:value-of select="($B$9$Y$F(B)"/> |
528 |
</t:when> |
529 |
<t:when test="attribute::cn"> |
530 |
<t:for-each select="ancestor::propset/descendant::classdef[attribute::rcsnm = string (current ()/attribute::cn)]"> |
531 |
<t:attribute name="href"> |
532 |
<t:value-of select="concat ('#', generate-id (self::node ()))"/> |
533 |
</t:attribute> |
534 |
<t:call-template name="fullname"/> |
535 |
</t:for-each> |
536 |
</t:when> |
537 |
<t:otherwise> |
538 |
<t:for-each select="ancestor::classdef"> |
539 |
<t:attribute name="href"> |
540 |
<t:value-of select="concat ('#', generate-id (self::node ()))"/> |
541 |
</t:attribute> |
542 |
<t:call-template name="fullname"/> |
543 |
</t:for-each> |
544 |
</t:otherwise> |
545 |
</t:choose> |
546 |
</h2:dd> |
547 |
</h2:di> |
548 |
</t:template> |
549 |
|
550 |
<t:template match="attribute::datatype"> |
551 |
<h2:di> |
552 |
<h2:dt>$B%G!<%?7?(B</h2:dt> |
553 |
<h2:dd> |
554 |
<t:choose> |
555 |
<t:when test="self::node () = 'node'"> |
556 |
<t:value-of select="'$B@aE@(B'"/> |
557 |
<t:call-template name="noderel"/> |
558 |
</t:when> |
559 |
<t:when test="self::node () = 'nodelist'"> |
560 |
<t:value-of select="'$B@aE@JB$S(B'"/> |
561 |
<t:call-template name="noderel"/> |
562 |
</t:when> |
563 |
<t:when test="self::node () = 'nmndlist'"> |
564 |
<t:value-of select="'$BL>A0IU$-@aE@JB$S(B'"/> |
565 |
<t:call-template name="noderel"/> |
566 |
($BL>A0FC@-(B: <t:value-of select="parent::node ()/attribute::acnmprop"/>) |
567 |
</t:when> |
568 |
<t:when test="self::node () = 'enum'"> |
569 |
<h2:ul> |
570 |
<h2:label>$BNs5s(B</h2:label> |
571 |
<h2:li> |
572 |
<t:apply-templates select="parent::node ()/child::enumdef"/> |
573 |
</h2:li> |
574 |
</h2:ul> |
575 |
</t:when> |
576 |
<t:when test="self::node () = 'char'">$BJ8;z(B</t:when> |
577 |
<t:when test="self::node () = 'string'"> |
578 |
$BJ8;zNs(B |
579 |
<t:apply-templates select="parent::node ()/attribute::strnorm"/> |
580 |
</t:when> |
581 |
<t:when test="self::node () = 'strlist'"> |
582 |
$BJ8;zNsJB$S(B |
583 |
<t:apply-templates select="parent::node ()/attribute::strnorm"/> |
584 |
</t:when> |
585 |
<t:when test="self::node () = 'integer'">$B@0?t(B</t:when> |
586 |
<t:when test="self::node () = 'intlist'">$B@0?tJB$S(B</t:when> |
587 |
<t:when test="self::node () = 'boolean'">$B??56CM(B</t:when> |
588 |
<t:when test="self::node () = 'compname'">$BItIJL>(B</t:when> |
589 |
<t:when test="self::node () = 'cnmlist'">$BItIJL>JB$S(B</t:when> |
590 |
</t:choose> |
591 |
</h2:dd> |
592 |
</h2:di> |
593 |
</t:template> |
594 |
|
595 |
<t:template name="noderel"> |
596 |
(<t:choose> |
597 |
<t:when test="parent::node ()/attribute::noderel = 'subnode'">$BItJ,@aE@(B</t:when> |
598 |
<t:when test="parent::node ()/attribute::noderel = 'irefnode'">$BFbIt;2>H@aE@(B</t:when> |
599 |
<t:when test="parent::node ()/attribute::noderel = 'urefnode'">$BHs@)8B;2>H@aE@(B</t:when> |
600 |
</t:choose><t:choose> |
601 |
<t:when test="parent::node ()/attribute::ac"> |
602 |
<t:value-of select="' '"/> |
603 |
<t:value-of select="parent::node ()/attribute::ac"/> |
604 |
</t:when> |
605 |
</t:choose>) |
606 |
</t:template> |
607 |
|
608 |
<t:template match="attribute::strnorm"> |
609 |
($B@55,2=(B: <t:for-each select="ancestor::propset/descendant::normdef[attribute::rcsnm = string (current ())]"><h2:a href="#{generate-id (self::node ())}"><t:call-template name="fullname"/></h2:a></t:for-each>) |
610 |
</t:template> |
611 |
</t:stylesheet> |