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 Summary}}] ], Event[ rdf:Description[ attributes{rdf:about{var Summary}}, optional cal:date[ attributes{rdf:nodeID{var Date}} ], optional dc:title[var Titel], optional cal:summary[var Summary], optional cal:location[var Location], optional cal:contact[var Contact], ] ], Date[ rdf:Description[ optional attributes{rdf:nodeID{var Date}}, optional cal: duration[var Duration], 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], optional cal:frequency[var Frequency], ] ] ] FROM in { resource ["file:Sprechstunde.html","html"], html [[ body {{ desc /.*/ {{ attributes {class{"vevent"}}, optional desc /.*/{{ optional desc /.*/ {{ attributes {class{/\s*summary\s*/}}, var Titel }}, optional desc /.*/{{ attributes {class{/\s*summary\s*/}, title{var Titel}}, }}, optional desc /.*/{{ attributes{class{"description"}}, var Summary }}, optional desc /.*/{{ attributes{class{"duration"}, title{var Duration}}, }}, optional desc /.*/{{ attributes{class{"location"}}, var Location }}, %optional desc /.*/{{ % attributes{class{"freq"}, title{var Frequency}}, %}}, 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})?)/}}, }}, }}, optional desc /.*/{{ attributes{class{/\s*url\s*/},href{var Contact}}, }}, }}, }} }} ]] } END