Difference between revisions of "ZoteroToTEI"
Jump to navigation
Jump to search
(added commentary and reference to TEIZoteroTranslator) |
m (→User commentary) |
||
Line 14: | Line 14: | ||
== User commentary == | == User commentary == | ||
'''Please sign all comments.''' | '''Please sign all comments.''' | ||
− | Does not generate valid TEI fragments for book sections. [[User:Kshawkin|Kshawkin]] | + | Does not generate valid TEI fragments for book sections. ([[User:Kshawkin|Kshawkin]]) |
− | See also [[TEIZoteroTranslator]]. [[User:Kshawkin|Kshawkin]] | + | See also [[TEIZoteroTranslator]]. ([[User:Kshawkin|Kshawkin]]) |
== System requirements == | == System requirements == |
Revision as of 15:15, 28 April 2011
Contents
Synopsis
This is an XSLT stylesheet to transform RDF/XML into TEI bibls.
There is a good summary of the status of TEI/zotero interoperability at http://www.zotero.org/support/kb/tei . The official TEI bibliography is being constructed at http://www.zotero.org/groups/tei .
User commentary
Please sign all comments. Does not generate valid TEI fragments for book sections. (Kshawkin)
See also TEIZoteroTranslator. (Kshawkin)
System requirements
Source code and licensing
Source code is included at the bottom of this article
Language(s)
Documentation
None
Tech support
None
Here follows a Zotero to TEI XSLT, a simple one, that takes Zotero exported RDF and turns it into a listBibl with biblStruct.
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:tei="http://www.tei-c.org/ns/1.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:vcard="http://nwalsh.com/rdf/vCard#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:z="http://www.zotero.org/namespaces/export#" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:bib="http://purl.org/net/biblio#" xmlns:link="http://purl.org/rss/1.0/modules/link/" xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/" exclude-result-prefixes="xs rdf tei dc vcard foaf z dcterms bib link prism" > <xsl:output method="xml" escape-uri-attributes="yes" indent="yes"/> <xsl:template match="/rdf:RDF"> <listBibl> <head>Works Cited</head> <xsl:apply-templates/> </listBibl> </xsl:template> <xsl:template match="bib:Memo"/> <xsl:template match="z:Attachment"/> <xsl:template match="bib:Book"> <biblStruct> <monogr> <title> <xsl:value-of select="dc:title"/> </title> <xsl:call-template name="author"/> <imprint> <publisher> <xsl:value-of select="dc:publisher/foaf:Organization/foaf:name"/> </publisher> <date> <xsl:choose> <xsl:when test="contains(dc:date, '-')"> <xsl:value-of select="substring-before(dc:date, '-')"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="dc:date"/> </xsl:otherwise> </xsl:choose> </date> </imprint> </monogr> </biblStruct> </xsl:template> <xsl:template match="rdf:li"> <author> <persName> <forename> <xsl:value-of select="foaf:Person/foaf:givenname"/> </forename> <surname> <xsl:value-of select="foaf:Person/foaf:surname"/> </surname> </persName> </author> </xsl:template> <xsl:template match="bib:Article"> <biblStruct> <analytic> <title><xsl:value-of select="dc:title"/></title> <xsl:call-template name="author"/> </analytic> <monogr> <title> <xsl:value-of select="following-sibling::bib:Journal[1]/dc:title"/> </title> <imprint> <date><xsl:value-of select="dc:date"/></date> <biblScope type="vol"><xsl:value-of select="following-sibling::bib:Journal[1]/prism:volume"/></biblScope> <biblScope type="issue"><xsl:value-of select="following-sibling::bib:Journal[1]/prism:number"/></biblScope> <biblScope type="pp"><xsl:value-of select="bib:pages"/></biblScope> </imprint> </monogr> </biblStruct> </xsl:template> <xsl:template match="bib:Journal"/> <xsl:template match="bib:Document"/> <xsl:template match="rdf:Description"> <xsl:choose> <xsl:when test="z:itemType = 'conferencePaper'"> <biblStruct> <analytic> <title> <xsl:value-of select="dc:title"/> </title> <xsl:call-template name="author"/> </analytic> </biblStruct> </xsl:when> <!-- add outputs for other kinds of objects you collect --> </xsl:choose> </xsl:template> <xsl:template match="z:Collection"/> <xsl:template name="author"> <xsl:apply-templates select="bib:authors/rdf:Seq/rdf:li"/> </xsl:template> </xsl:stylesheet>