private ViewDefinition readViewDefinition(Element element) { String name = element.getAttribute("name"); Assert.ifEmpty(name, "can`t read view without name"); String extend = element.getAttribute("extend"); String file = element.getAttribute("file"); if (isNoneEmpty(file)) file = fileScope.getRelativePath(file); ViewDefinition viewDef = new ViewDefinition(name, file); viewDef.setExtend(extend); fragmentRefExpressions.forEach( x -> { XmlUtils.iterateSubElements( element, x, e -> viewDef.addFragment(readFragmentReference(e))); }); resourcesRefExpressions.forEach( x -> { XmlUtils.iterateSubElements( element, x, e -> viewDef.addResources(readResourcesReference(e))); }); return viewDef; }