DateAndTime.xslt
Jump to navigation
Jump to search
Simple stylesheet adjusts the attributes of <date> and elements.
<?xml version="1.0" encoding="UTF-8"?> <!-- Tiny XSLT 1.0 stylesheet that reads in a TEI (P4) file and writes out the --> <!-- same file with the attributes of <date> and <time> adjusted to P5 flavor: --> <!-- value= -> when= --> <!-- certainty= -> cert= --> <!-- zone= is dropped --> <!-- The output of this stylesheet is not P5-conformant XML; in fact, even the --> <!-- elements we are changing may not be valid P5. This is because although we --> <!-- move all the bits of information to the right place, it may still be in --> <!-- the wrong format. E.g., a <date value="ca.1948" certainty="moderate"> will--> <!-- become <date when="ca.1948" cert="moderate">, which has 2 invalid at- --> <!-- tributes. --> <!-- Copyleft 2008 Syd Bauman and the Brown University Women Writers Project --> <!-- written 2008-05-02 --> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <!-- Anything that isn't matched below just gets copied over --> <xsl:import href="Copy-All.xsl"/> <!-- housekeeping: --> <xsl:output method="xml" encoding="UTF-8" cdata-section-elements="eg"/> <!-- for value= of either <date> or <time> ... --> <xsl:template match="date/@value|time/@value"> <!-- ... convert to when= with same value --> <xsl:attribute name="when"><xsl:value-of select="."/></xsl:attribute> </xsl:template> <!-- for certainty= of <date> ... --> <xsl:template match="date/@certainty"> <!-- ... convert to cert= with same value --> <xsl:attribute name="cert"><xsl:value-of select="."/></xsl:attribute> </xsl:template> <!-- for zone= of <time> ... --> <xsl:template match="time/@zone"> <!-- ... ignore it, and advise user we've done so --> <xsl:message>WARNING: zone= attribute of <time> is being dropped!</xsl:message> </xsl:template> </xsl:stylesheet>