svghmi/gen_index_xhtml.ysl2
branchsvghmi
changeset 2858 39c8d6079f0f
parent 2857 a5c781b2f8f9
child 2861 84c16ece8e10
equal deleted inserted replaced
2857:a5c781b2f8f9 2858:39c8d6079f0f
   258                 result "/..";
   258                 result "/..";
   259             }
   259             }
   260         }
   260         }
   261     }
   261     }
   262 
   262 
   263     const "detachable_elements", "func:detachable_elements($hmi_pages)";
   263     // Avoid nested detachables
   264 
   264     const "_detachable_elements", "func:detachable_elements($hmi_pages)";
   265 
   265     const "detachable_elements", "$_detachable_elements[not(ancestor::*/@id = $_detachable_elements/@id)]";
   266 
   266 
   267     //////////////// HMI Tree Index
   267     //////////////// HMI Tree Index
   268 
   268 
   269     template "*", mode="index" {
   269     template "*", mode="index" {
   270         param "index", "0";
   270         param "index", "0";
   589 
   589 
   590             const "page_all_elements", "func:all_related_elements($page)";
   590             const "page_all_elements", "func:all_related_elements($page)";
   591 
   591 
   592             const "all_page_ids","$page_all_elements[@id = $hmi_elements/@id and @id != $page/@id]/@id";
   592             const "all_page_ids","$page_all_elements[@id = $hmi_elements/@id and @id != $page/@id]/@id";
   593 
   593 
   594             const "required_detachables", "func:sumarized_elements($page_all_elements)";
   594             // Take closest ancestor in detachable_elements
       
   595             // since nested detachable elements are filtered out
       
   596             const "required_detachables", 
       
   597                 """func:sumarized_elements($page_all_elements)/
       
   598                    ancestor-or-self::*[@id = $detachable_elements/@id]""";
   595 
   599 
   596             |   "«$desc/arg[1]/@value»": {
   600             |   "«$desc/arg[1]/@value»": {
   597             |     widget: hmi_widgets["«@id»"],
   601             |     widget: hmi_widgets["«@id»"],
   598             |     bbox: [«$p/@x», «$p/@y», «$p/@w», «$p/@h»],
   602             |     bbox: [«$p/@x», «$p/@y», «$p/@w», «$p/@h»],
   599             |     widgets: [
   603             |     widgets: [