diff -r 50b9832c51fc -r f398896b7ebf svghmi/detachable_pages.ysl2 --- a/svghmi/detachable_pages.ysl2 Wed Mar 18 09:37:26 2020 +0100 +++ b/svghmi/detachable_pages.ysl2 Wed Mar 18 12:06:50 2020 +0100 @@ -1,4 +1,4 @@ -// detachable_elements.ysl2 +// detachable_pages.ysl2 // // compute what elements are required by pages // and decide where to cut when removing/attaching @@ -98,6 +98,7 @@ result "string-length($ancest) > 0 and starts-with($descend,$ancest)"; } + template "svg:*", mode="page_desc" { const "desc", "func:parselabel(@inkscape:label)/widget"; const "page", "."; @@ -105,7 +106,7 @@ const "page_all_elements", "func:all_related_elements($page)"; - const "all_page_widgets","$hmi_elements[@id = $page_all_elements/@id and @id != $page/@id]"; + const "all_page_widgets","$hmi_elements[@id = $page_all_elements/@id and @id != $page/@id][not(func:parselabels(ancestor::svg:*)/widget/@type = 'ForEach')]"; const "page_relative_widgets", "$all_page_widgets[func:is_descendant_path(func:parselabel(@inkscape:label)/widget/path/@value, $desc/path/@value)]";