GOAL
out {
resource [ "stdout:", "html" ],
div[ class="inside",
h2[ class="hidden-screen", "Current Sessions" ],
all div[ class="story",
h3[ attributes { id{ &join(var Year,"-",var Month, "-",var Day, "-",var StartTime)} } , &join(var Year,"-",var Month,"-",var Day, ": "),
a[ attributes { href {&join(var Year,"-",var Month, "-",var Day, "-",var StartTime) } },
rel="bookmark", title="Permanent Link to Entry!",
var Title], &join(", ", var Speaker)
],
p [ span[ class="time", &join(var StartTime, "-", var EndTime)],
span[ class="location" ]],
optional p [ class="abstract", var Abstract ],
div[ class="details",
span[ class="location" ], " | ",
span[ class="time", &join(var StartTime, "-", var EndTime)], " | ",
optional span[ class="modification", "Last modified at ", var Updated], " | ",
optional span[ class="category", "Filed Under: ", var Type ] ]
] order by lexical [ Year, Month, Day, StartTime ] ascending,
]
}
FROM
ns-prefix atom = "http://www.w3.org/2005/Atom"
ns-prefix gd = "http://schemas.google.com/g/2005"
in {
resource [ "%1$s", "xml" ],
atom:feed {{
atom:entry {{
atom:title {{ var Title }},
gd:when {{
attributes {{
atom:startTime{ /^(var Year ->[0-9]{4})-(var Month ->[0-9]{2})-(var Day ->[0-9]{2})T(var StartTime ->[0-9]{2}:[0-9]{2}):[0-9]{2}/},
atom:endTime{ /^.*T(var EndTime ->[0-9]{2}:[0-9]{2}):[0-9]{2}/ }
}}
}},
atom:content {{ /^.*Speaker:( ?)(var Speaker ->.+)Type:( ?)(var Type ->.+)Abstract:( ?)(var Abstract ->.+)/ }},
optional atom:updated {{ /^(var Updated ->[0-9]{4}-[0-9]{2}-[0-9]{2})/ }}
}}
}}
}
END