diff -r 000000000000 -r 76005e62091d samples/uml.yml2 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/samples/uml.yml2 Mon Jul 11 23:15:28 2016 +0200 @@ -0,0 +1,46 @@ +include yslt.yml2 + +decl UML is textstylesheet( + xmlns:uml="http://schema.omg.org/spec/UML/2.1", + xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" +) { + output *output; + const "space", !"'" + " " * 200 + "'"!; + param "autoindent", 4; + template "text()"; + content; +}; + +decl Root is template(match="/xmi:XMI/uml:Model/packagedElement"), + All is template(%match="*", match="//[%match]"); + +decl Package is template( + %match="true()", + match="packagedElement[@xmi:type='uml:Package' and (%match)]" +); + +decl applyPackages is apply ( + %match="true()", + select="packagedElement[@xmi:type='uml:Package' and (%match)]" +); + +decl Class is template( + %match="true()", + match="packagedElement[@xmi:type='uml:Class' and (%match)]" +); + +decl applyClasses is apply ( + %match="true()", + select="packagedElement[@xmi:type='uml:Class' and (%match)]" +); + +decl Attribute is template( + %match="true()", + match="ownedAttribute[@xmi:type='uml:Property' and type/@xmi:type='uml:PrimitiveType' and (%match)]" +); + +decl applyAttributes is apply ( + %match="true()", + select="ownedAttribute[@xmi:type='uml:Property' and type/@xmi:type='uml:PrimitiveType' and (%match)]" +); +