|
1 include yslt_noindent.yml2 |
|
2 |
|
3 in xsl decl widget_desc(%name, match="widget[@type='%name']", mode="widget_desc") alias template { |
|
4 type > «@type» |
|
5 content; |
|
6 }; |
|
7 |
|
8 decl nothing alias - ; |
|
9 decl widget_class(%name) alias - {nothing}; |
|
10 decl widget_defs(%name) alias - {nothing}; |
|
11 decl widget_page(%name) alias - {nothing}; |
|
12 decl gen_index_xhtml alias - {nothing}; |
|
13 decl emit(*name) alias - {nothing}; |
|
14 |
|
15 istylesheet |
|
16 /* From Inkscape */ |
|
17 xmlns:svg="http://www.w3.org/2000/svg" |
|
18 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" |
|
19 |
|
20 extension-element-prefixes="ns func exsl regexp str dyn" |
|
21 exclude-result-prefixes="ns func exsl regexp str dyn svg inkscape" { |
|
22 |
|
23 const "indexed_hmitree", "/.."; // compatibility with parse_labels.ysl2 |
|
24 include parse_labels.ysl2 |
|
25 |
|
26 const "hmi_elements", "//svg:*[starts-with(@inkscape:label, 'HMI:')]"; |
|
27 |
|
28 include widget_*.ysl2 |
|
29 |
|
30 template "@* | node()", mode="document" { |
|
31 xsl:copy apply "@* | node()", mode="document"; |
|
32 } |
|
33 |
|
34 template "widget", mode="document" { |
|
35 xsl:copy { |
|
36 apply "@* | node()", mode="document"; |
|
37 defs apply ".", mode="widget_desc"; |
|
38 } |
|
39 } |
|
40 |
|
41 template "/" { |
|
42 const "widgets" |
|
43 apply "$hmi_elements", mode="parselabel"; |
|
44 const "widget_ns", "exsl:node-set($widgets)"; |
|
45 widgets |
|
46 apply "$widget_ns", mode="document"; |
|
47 } |
|
48 |
|
49 } |