|
From: Chris L. <ch...@wi...> - 2002-05-04 09:27:01
|
John, It seems to me in the quick test I did on this that the file produced is a start for the new format and quite a bit still has to be added, is that correct? Chris PS It took me a bit of combing thru the SK mailing list to find the info I needed about how to put together a OMF system for the docs, perhaps we could use a 'HOWTO' for this sort of like what Sasha wrote for getting docbook xml to work? Any takers? On Mon, 2002-04-22 at 20:25, John Fleck wrote: > Folks - > > I've made an xsl stylesheet to convert old OMF files to the form > required by ScrollKeeper's new dtd. This is tested against some of my > old files, and also against Dan's "Complete OMF File" example (which > is of the old type): > > http://scrollkeeper.sourceforge.net/documentation/writing_scrollkeeper_omf_files/ar01s06.html > > Run this using xsltproc at the command line: > > [jfleck@jelloiii omfexamples]$ xsltproc omftransform.xsl complete.omf > testout.omf > > Then by all means, you should validate the resulting output: > > [jfleck@jelloiii omfexamples]$ xmllint --noout --dtdvalid /usr/share/xml/scrollkeeper/dtds/scrollkeeper-omf.dtd testout.omf > > Suggestions welcome, as my xslt skills are modest at best. > > Cheers, > John > > -- > John Fleck > jf...@in... (h) jf...@ab... (w) > http://www.inkstain.net http://www.abqjournal.com > > "You don't want to die with the music still in you." > - John Gardner > ---- > > <?xml version="1.0"?> > <xsl:stylesheet id="omf" > version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > <xsl:strip-space elements="*"/> > > <xsl:template match="omf"> > <xsl:element name="omf"> > <xsl:text> > </xsl:text> > <xsl:apply-templates/> > </xsl:element> > </xsl:template> > > > <xsl:template match="resource"> > <xsl:element name="resource"> > <xsl:text> > </xsl:text> > <xsl:apply-templates/> > </xsl:element> > <xsl:text> > </xsl:text> > </xsl:template> > > <xsl:template match="creator"> > <xsl:element name="creator"> > <xsl:apply-templates/> > </xsl:element> > <xsl:text> > </xsl:text> > </xsl:template> > > <xsl:template match="maintainer"> > <xsl:element name="maintainer"> > <xsl:apply-templates/> > </xsl:element> > <xsl:text> > </xsl:text> > </xsl:template> > > <xsl:template match="contributor"> > <xsl:element name="contributor"> > <xsl:apply-templates/> > </xsl:element> > <xsl:text> > </xsl:text> > </xsl:template> > > <xsl:template match="type"> > <xsl:element name="type"> > <xsl:apply-templates/> > </xsl:element> > <xsl:text> > </xsl:text> > </xsl:template> > > <xsl:template match="title"> > <xsl:element name="title"> > <xsl:apply-templates/> > </xsl:element> > <xsl:text> > </xsl:text> > </xsl:template> > > <xsl:template match="date"> > <xsl:element name="date"> > <xsl:apply-templates/> > </xsl:element> > <xsl:text> > </xsl:text> > </xsl:template> > > <xsl:template match="version"> > <version xsl:use-attribute-sets="version-atts"> > > </version> > <xsl:text> > </xsl:text> > </xsl:template> > > <xsl:attribute-set name="version-atts"> > <xsl:attribute name="identifier"><xsl:value-of select="normalize-space(identifier)"/></xsl:attribute> > <xsl:attribute name="date"><xsl:value-of select="normalize-space(date)"/></xsl:attribute> > <xsl:attribute name="description"><xsl:value-of select="normalize-space(description)"/></xsl:attribute> > </xsl:attribute-set> > > <xsl:template match="subject"> > <subject xsl:use-attribute-sets="subject-atts"> > > </subject> > <xsl:text> > </xsl:text> > </xsl:template> > > <xsl:attribute-set name="subject-atts"> > <xsl:attribute name="category"><xsl:value-of select="normalize-space(category)"/></xsl:attribute> > > </xsl:attribute-set> > > <xsl:template match="description"> > <xsl:element name="description"> > <xsl:apply-templates/> > </xsl:element> > <xsl:text> > </xsl:text> > </xsl:template> > > <xsl:template match="format"> > <format xsl:use-attribute-sets="format-atts"> > > </format> > <xsl:text> > </xsl:text> > </xsl:template> > > <xsl:attribute-set name="format-atts"> > <xsl:attribute name="mime"><xsl:value-of select="@mime"/></xsl:attribute> > <xsl:attribute name="dtd"><xsl:value-of select="@dtd"/></xsl:attribute> > </xsl:attribute-set> > > <xsl:template match="identifier"> > <identifier xsl:use-attribute-sets="identifier-atts"> > > </identifier> > <xsl:text> > </xsl:text> > </xsl:template> > > <xsl:attribute-set name="identifier-atts"> > <xsl:attribute name="url"><xsl:value-of select="@url"/></xsl:attribute> > </xsl:attribute-set> > > <xsl:template match="relation"> > <relation xsl:use-attribute-sets="relation-atts"> > > </relation> > <xsl:text> > </xsl:text> > </xsl:template> > > <xsl:attribute-set name="relation-atts"> > <xsl:attribute name="seriesid"><xsl:value-of select="@seriesid"/></xsl:attribute> > </xsl:attribute-set> > > <xsl:template match="language"> > <language xsl:use-attribute-sets="language-atts"> > > </language> > <xsl:text> > </xsl:text> > </xsl:template> > > <xsl:attribute-set name="language-atts"> > <xsl:attribute name="code"><xsl:value-of select="@code"/></xsl:attribute> > </xsl:attribute-set> > > <xsl:template match="rights"> > <rights xsl:use-attribute-sets="rights-atts"> > > </rights> > <xsl:text> > </xsl:text> > </xsl:template> > > <xsl:attribute-set name="rights-atts"> > <xsl:attribute name="type"><xsl:value-of select="normalize-space(type)"/></xsl:attribute> > <xsl:attribute name="license.version"><xsl:value-of select="normalize-space(license.version)"/></xsl:attribute> > <xsl:attribute name="holder"><xsl:value-of select="normalize-space(holder)"/></xsl:attribute> > </xsl:attribute-set> > > </xsl:stylesheet> |