Ticket #517 (assigned defect)

Opened 3 years ago

Last modified 3 years ago

extend XSLT style sheets for new metadata scheme

Reported by: kohlhase Owned by: clange
Priority: major Milestone:
Component: XSLT Version: v0.1.3
Keywords: Cc:
Blocked By: Blocking:
Due to close: YYYY/MM/DD Include in GanttChart: no
Dependencies: Due to assign: YYYY/MM/DD

Description

We need templates for <meta>, <link>, and <resource>. They should do something sensible with these elements.

Change History

Changed 3 years ago by clange

  • status changed from new to assigned
  • component changed from System Implementation to XSLT/CSS

There is a trivial solution that I could make work in half an hour: have the same coverage as OMDoc 1.2, but support e.g. <meta property="dc:title"> in the same way as <dc:title> before. A slightly more sophisticated solution would not do a hard-coded match for dc:* but respect the RDFa namespace bindings.

For all new metadata elements, e.g. version logs, we'd have to know what the "sensible" information to display would be. Now, given that the RDF structures for that are already quite complex (with nested resources) and expressible in many semantically equivalent syntaxes (not just different namespace bindings, but e.g. <link><meta/></link> as an abbreviation for <link><resource><meta/></resource></link>, all those RDFa goodies, or even think about strict/pragmatic equivalences to appear in OMDoc 1.6, e.g. <proof for="..."/> = <proof><link rel="o:proves" href="..."/></proof>), it gets interesting, but "interesting" also means "not deliverable tomorrow".

We already have XSLT code that deals with complex RDF structures encoded in XML -- this is Krextor. For a related scenario (= embedding all RDF that we can obtain from OMDoc as RDFa into the rendered XHTML), I have already suggested integrating Krextor's XSLTs into the OMDoc XSLTs. This will be a bit tricky, as we'd have to accommodate two parallel ways of recursing over the input (the generation of presentation markup, and the extraction of RDF), but possible.

Note: See TracTickets for help on using tickets.