GOAL ns-prefix rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" ns-prefix dc = "http://purl.org/dcelements/1.1" ns-prefix cal = "http://www.example.org/Calendar#" rdf:RDF[ rdf:Description [ attributes{rdf:about {"http:/www.example.org/Calendar/calendar.html"}}, cal:events [ rdf:Bag [ all var Events, ] ] ], all var Event, all var Dates, ] FROM Events [ EventList [var Events], Event [var Event], Date [var Dates], ] END CONSTRUCT ns-prefix rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#" ns-prefix dc ="http://www.w3.org/1999/02/22-rdf-dyntax-ns#" ns-prefix cal ="http://www.example.org/Calendar#" Events[ EventList [ rdf:li [attributes{rdf:resources{var Titel}}] ], Event[ rdf:Description[ attributes{rdf:about{var Titel}}, optional cal:location[var Location], ] ], Date[ rdf:Description[ optional attributes{rdf:nodeID{var Date}}, optional cal:startday[var Start], optional cal:starttime[var StartTime], optional cal:endday[var End], optional cal:endtime[var EndTime], optional cal:starttimezone[var EndZone], optional cal:endtimezone[var StartZone], ] ] ] FROM in { resource ["file:EventinEvent.html","html"], html [[ body {{ desc /.*/ {{ attributes {class{"vevent"}}, desc /.*/ {{ attributes {class{"summary"}}, var Titel }}, without desc /.*/{{ attributes{class{"vevent"}}, }}, optional desc /.*/{{ attributes{class{"location"}}, var Location }}, optional desc /.*/{{ attributes{class{"dtstart"}, title{/^(var Start ->[0-9]{4}-?[0-9]{2}-?[0-9]{2})T(var StartTime ->[0-9]{2}:?[0-9]{2}(:?[0-9]{2})?)(var StartZone ->(Z|(-|\.+)[0-9]{2}:[0-9]{2}:[0-9]{2}))/}}, var Date }}, optional desc /.*/{{ attributes{class{"dtstart"}, title{/^(var Start ->[0-9]{4}-?[0-9]{2}-?[0-9]{2})T(var StartTime ->[0-9]{2}:?[0-9]{2}(:?[0-9]{2})?)/}}, var Date }}, optional desc/.*/{{ attributes{class{"dtend"}, title{/^(var End ->[0-9]{4}-?[0-9]{2}-?[0-9]{2})T(var EndTime ->[0-9]{2}:?[0-9]{2}(:?[0-9]{2})?)(var EndZone ->(Z|(-|\.+)[0-9]{2}:[0-9]{2}:[0-9]{2}))/}}, }}, optional desc/.*/{{ attributes{class{"dtend"}, title{/^(var End ->[0-9]{4}-?[0-9]{2}-?[0-9]{2})T(var EndTime ->[0-9]{2}:?[0-9]{2}(:?[0-9]{2})?)/}}, }}, }} }} ]] } END