diff -r 50d0fef791d5 -r 1e9b9d7451cd svghmi/detachable_pages.ysl2 --- a/svghmi/detachable_pages.ysl2 Wed Mar 10 19:29:49 2021 +0100 +++ b/svghmi/detachable_pages.ysl2 Thu Mar 11 20:46:05 2021 +0100 @@ -85,9 +85,18 @@ } } +const "required_page_elements", + "func:required_elements($hmi_pages | $keypads)/ancestor-or-self::svg:*"; + +const "hmi_lists_descs", "$parsed_widgets/widget[@type = 'List']"; +const "hmi_lists", "$hmi_elements[@id = $hmi_lists_descs/@id]"; + +const "required_list_elements", "func:refered_elements($hmi_lists[@id = $required_page_elements/@id])"; + const "required_elements", """//svg:defs/descendant-or-self::svg:* - | func:required_elements($hmi_pages | $keypads)/ancestor-or-self::svg:*"""; + | $required_list_elements + | $required_page_elements"""; const "discardable_elements", "//svg:*[not(@id = $required_elements/@id)]";