svghmi/gen_index_xhtml.xslt
branchsvghmi
changeset 2783 5ee6967f721d
parent 2782 723e420dfe72
child 2788 2ed9ff826d03
--- a/svghmi/gen_index_xhtml.xslt	Thu Sep 19 15:32:36 2019 +0200
+++ b/svghmi/gen_index_xhtml.xslt	Fri Sep 20 13:38:58 2019 +0200
@@ -26,13 +26,25 @@
           <xsl:apply-templates select="@* | node()"/>
         </xsl:copy>
         <script>
+          <xsl:text>function evaluate_js_from_descriptions() {
+</xsl:text>
+          <xsl:text>    var Page;
+</xsl:text>
+          <xsl:text>    var Input;
+</xsl:text>
+          <xsl:text>    var Display;
+</xsl:text>
+          <xsl:text>    var res = [];
+</xsl:text>
           <xsl:variable name="midmark">
             <xsl:text>
 </xsl:text>
             <xsl:value-of select="$mark"/>
           </xsl:variable>
           <xsl:apply-templates mode="code_from_descs" select="//*[contains(child::svg:desc, $midmark) or                                starts-with(child::svg:desc, $mark)]"/>
-          <xsl:text>
+          <xsl:text>    return res;
+</xsl:text>
+          <xsl:text>}
 </xsl:text>
           <xsl:text>(function(){
 </xsl:text>
@@ -61,21 +73,41 @@
     </html>
   </xsl:template>
   <xsl:template mode="code_from_descs" match="*">
-    <xsl:text>function js_</xsl:text>
+    <xsl:text>{
+</xsl:text>
+    <xsl:text>    var path, role, name, priv;
+</xsl:text>
+    <xsl:text>    var id = "</xsl:text>
     <xsl:value-of select="@id"/>
-    <xsl:text>() {
+    <xsl:text>";
 </xsl:text>
-    <xsl:text>var path, role, path, priv;
+    <xsl:if test="&#xAB;@inkscape:label&#xBB;">
+      <xsl:text>name = "</xsl:text>
+      <xsl:value-of select="@inkscape:label"/>
+      <xsl:text>";
 </xsl:text>
-    <xsl:text>
+    </xsl:if>
+    <xsl:text>/* -------------- */
 </xsl:text>
     <xsl:value-of select="substring-after(svg:desc, $mark)"/>
     <xsl:text>
 </xsl:text>
+    <xsl:text>    /* -------------- */
+</xsl:text>
+    <xsl:text>    res.push({
+</xsl:text>
+    <xsl:text>        path:path,
+</xsl:text>
+    <xsl:text>        role:role,
+</xsl:text>
+    <xsl:text>        name:name,
+</xsl:text>
+    <xsl:text>        priv:priv
+</xsl:text>
+    <xsl:text>    })
+</xsl:text>
     <xsl:text>}
 </xsl:text>
-    <xsl:text>
-</xsl:text>
   </xsl:template>
   <xsl:template mode="testgeo" match="bbox">
     <xsl:text>ID: </xsl:text>