• v1.1 all.xsl document contents

    By Lance Spellman 2 decades ago

    A bug was reported with the all.xsl document in versions prior to 1.1. A template upgrade to 1.1 does not solve the issue as it is a document. If you're running 1.0 and upgrade, you will need to replace the all.xsl document in your database with the all.xsl document from the 1.1 template.



    In lieu of that, I've pasted the contents of that document below. If you're running previous versions, all you need to do is find the all.xsl document (by using the Admin | XSL files button to get to the view), open it and replace the contents with this:



    <?xml version="1.0"?>

    <!–

    # http://purl.org/net/syndication/subscribe/feed-rss1.0-1.4.xsl

    # A transformation of any of the following formats to RSS 1.0:<br/>
    # - RSS 0.9<br/>
    # - RSS 0.9x/2.0<br/>
    # - RSS 1.0<br/>
    # - Atom 0.3<br/>
    


    # (c) 2002-2003 Morten Frederiksen<br/>
    

    # License: http://www.gnu.org/licenses/gpl

    –>

    <xsl:transform

    xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;<br/>
    xmlns:simple=&quot;http://my.netscape.com/rdf/simple/0.9/&quot;<br/>
    xmlns:rss=&quot;http://purl.org/rss/1.0/&quot;<br/>
    xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot;<br/>
    xmlns:dcterms=&quot;http://purl.org/dc/terms/&quot;<br/>
    xmlns:content=&quot;http://purl.org/rss/1.0/modules/content/&quot;<br/>
    xmlns:syn=&quot;http://purl.org/rss/1.0/modules/syndication/&quot;<br/>
    xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot;<br/>
    xmlns:atom=&quot;http://purl.org/atom/ns#&quot;<br/>
    xmlns:foaf=&quot;http://xmlns.com/foaf/0.1/&quot;<br/>
    xmlns:admin=&quot;http://webns.net/mvcb/&quot;<br/>
    xmlns:icbm=&quot;http://postneo.com/icbm&quot;<br/>
    xmlns:geo=&quot;http://www.w3.org/2003/01/geo/wgs84_pos#&quot;<br/>
    exclude-result-prefixes=&quot;simple atom icbm&quot;<br/>
    version=&quot;1.0&quot;&gt;<br/>
    

    <xsl:output

    indent=&quot;yes&quot;<br/>
    omit-xml-declaration=&quot;yes&quot;<br/>
    method=&quot;xml&quot;/&gt;<br/>
    

    <xsl:namespace-alias

    result-prefix=&quot;rss&quot;<br/>
    stylesheet-prefix=&quot;rss&quot;/&gt;<br/>
    



    <xsl:param name="rss"/>



    <xsl:template match="/">

    &lt;xsl:apply-templates select=&quot;/rdf:RDF[rss:channel or simple:channel]&quot;/&gt;<br/>
    &lt;xsl:apply-templates select=&quot;/rss[@version]/channel&quot;/&gt;<br/>
    &lt;xsl:apply-templates select=&quot;/redirect/newLocation&quot;/&gt;<br/>
    &lt;xsl:apply-templates select=&quot;/atom:feed[@version='0.3']&quot;/&gt;<br/>
    

    </xsl:template>



    <xsl:template match="/redirect/newLocation">

    &lt;rdf:RDF&gt;<br/>
        &lt;xsl:apply-templates mode=&quot;version&quot; select=&quot;.&quot;/&gt;<br/>
        &lt;rdf:Description rdf:about=&quot;{$rss}&quot;&gt;<br/>
            &lt;dc:isReplacedBy rdf:resource=&quot;{normalize-space(.)}&quot;/&gt;<br/>
        &lt;/rdf:Description&gt;<br/>
    &lt;/rdf:RDF&gt;<br/>
    

    </xsl:template>



    <xsl:template match="/atom:feed">

    &lt;rdf:RDF&gt;<br/>
        &lt;xsl:copy-of select=&quot;@xml:lang&quot;/&gt;<br/>
        &lt;xsl:apply-templates mode=&quot;version&quot; select=&quot;.&quot;/&gt;<br/>
        &lt;rss:channel rdf:about=&quot;{$rss}&quot;&gt;<br/>
            &lt;xsl:apply-templates select=&quot;*&quot;/&gt;<br/>
            &lt;rss:items&gt;<br/>
                &lt;rdf:Seq&gt;<br/>
                    &lt;xsl:for-each select=&quot;atom:entry&quot;&gt;<br/>
                        &lt;rdf:li rdf:resource=&quot;{atom:link[@rel='alternate']/@href}&quot;/&gt;<br/>
                    &lt;/xsl:for-each&gt;<br/>
                &lt;/rdf:Seq&gt;<br/>
            &lt;/rss:items&gt;<br/>
        &lt;/rss:channel&gt;<br/>
        &lt;xsl:apply-templates mode=&quot;item&quot; select=&quot;atom:entry&quot;/&gt;<br/>
    &lt;/rdf:RDF&gt;<br/>
    

    </xsl:template>



    <xsl:template mode="item" match="atom:entry">

    &lt;rss:item rdf:about=&quot;{atom:link[@rel='alternate']/@href}&quot;&gt;<br/>
        &lt;xsl:copy-of select=&quot;@xml:lang&quot;/&gt;<br/>
        &lt;xsl:apply-templates select=&quot;*&quot;/&gt;<br/>
    &lt;/rss:item&gt;<br/>
    

    </xsl:template>



    <xsl:template match="/rdf:RDF">

    &lt;rdf:RDF&gt;<br/>
        &lt;xsl:apply-templates mode=&quot;version&quot; select=&quot;rss:channel|simple:channel&quot;/&gt;<br/>
        &lt;xsl:apply-templates mode=&quot;rss&quot; select=&quot;*&quot;/&gt;<br/>
        &lt;xsl:apply-templates select=&quot;simple:*&quot;/&gt;<br/>
    &lt;/rdf:RDF&gt;<br/>
    

    </xsl:template>



    <xsl:template mode="version" match="rss:channel|channel|simple:channel|newLocation|atom:feed">

    &lt;xsl:comment&gt;<br/>
        &lt;xsl:value-of select=&quot;' version=&amp;quot;'&quot;/&gt;<br/>
        &lt;xsl:choose&gt;<br/>
    

    <xsl:when test="namespace-uri()='http://purl.org/rss/1.0/'">

                &lt;xsl:value-of select=&quot;'RSS 1.0'&quot;/&gt;<br/>
            &lt;/xsl:when&gt;<br/>
    

    <xsl:when test="namespace-uri()='http://purl.org/atom/ns#'">

                &lt;xsl:value-of select=&quot;'Atom '&quot;/&gt;<br/>
                &lt;xsl:value-of select=&quot;@version&quot;/&gt;<br/>
            &lt;/xsl:when&gt;<br/>
            &lt;xsl:when test=&quot;../@version&quot;&gt;<br/>
                &lt;xsl:value-of select=&quot;'RSS '&quot;/&gt;<br/>
                &lt;xsl:value-of select=&quot;../@version&quot;/&gt;<br/>
            &lt;/xsl:when&gt;<br/>
    

    <xsl:when test="namespace-uri()='http://my.netscape.com/rdf/simple/0.9/'">

                &lt;xsl:value-of select=&quot;'RSS 0.9'&quot;/&gt;<br/>
            &lt;/xsl:when&gt;<br/>
            &lt;xsl:when test=&quot;local-name()='newLocation' and normalize-space(.)!=''&quot;&gt;<br/>
                &lt;xsl:value-of select=&quot;'Redirected'&quot;/&gt;<br/>
            &lt;/xsl:when&gt;<br/>
            &lt;xsl:when test=&quot;local-name()='newLocation'&quot;&gt;<br/>
                &lt;xsl:value-of select=&quot;'Dead'&quot;/&gt;<br/>
            &lt;/xsl:when&gt;<br/>
            &lt;xsl:otherwise&gt;<br/>
                &lt;xsl:value-of select=&quot;'?'&quot;/&gt;<br/>
            &lt;/xsl:otherwise&gt;<br/>
        &lt;/xsl:choose&gt;<br/>
        &lt;xsl:value-of select=&quot;'&amp;quot; '&quot;/&gt;<br/>
    &lt;/xsl:comment&gt;<br/>
    

    </xsl:template>



    <xsl:template mode="rss" match="rss:channel">

    &lt;rss:channel&gt;<br/>
        &lt;xsl:copy-of select=&quot;@*&quot;/&gt;<br/>
        &lt;xsl:apply-templates mode=&quot;rss&quot; select=&quot;node()|text()|comment()&quot;/&gt;<br/>
    &lt;/rss:channel&gt;<br/>
    

    </xsl:template>



    <xsl:template mode="rss" match="*">

    &lt;xsl:copy&gt;<br/>
        &lt;xsl:copy-of select=&quot;@*&quot;/&gt;<br/>
        &lt;xsl:apply-templates mode=&quot;rss&quot; select=&quot;node()|text()|comment()&quot;/&gt;<br/>
    &lt;/xsl:copy&gt;<br/>
    

    </xsl:template>



    <xsl:template mode="rss" match="rdf:li">

    &lt;rdf:li rdf:resource=&quot;{concat(@resource,@rdf:resource)}&quot;/&gt;<br/>
    

    </xsl:template>



    <xsl:template match="simple:channel">

    &lt;rss:channel rdf:about=&quot;{$rss}&quot;&gt;<br/>
        &lt;xsl:apply-templates select=&quot;simple:title|simple:description|simple:link&quot;/&gt;<br/>
        &lt;rss:items&gt;<br/>
            &lt;rdf:Seq&gt;<br/>
                &lt;xsl:for-each select=&quot;../simple:item[normalize-space(simple:link)!='']&quot;&gt;<br/>
                    &lt;rdf:li rdf:resource=&quot;{simple:link}&quot;/&gt;<br/>
                &lt;/xsl:for-each&gt;<br/>
            &lt;/rdf:Seq&gt;<br/>
        &lt;/rss:items&gt;<br/>
        &lt;xsl:if test=&quot;../simple:image[normalize-space(simple:url)!='']&quot;&gt;<br/>
            &lt;rss:image rdf:resource=&quot;{../simple:image[normalize-space(simple:url)!=''][1]/simple:url}&quot;/&gt;<br/>
        &lt;/xsl:if&gt;<br/>
        &lt;xsl:if test=&quot;../simple:textinput[normalize-space(simple:link)!='']&quot;&gt;<br/>
            &lt;rss:textinput rdf:resource=&quot;{../simple:textinput[normalize-space(simple:link)!=''][1]/simple:link}&quot;/&gt;<br/>
        &lt;/xsl:if&gt;<br/>
    &lt;/rss:channel&gt;<br/>
    

    </xsl:template>



    <xsl:template match="simple:item">

    &lt;xsl:if test=&quot;normalize-space(simple:link)!=''&quot;&gt;<br/>
        &lt;rss:item rdf:about=&quot;{simple:link}&quot;&gt;<br/>
            &lt;xsl:apply-templates select=&quot;simple:title|simple:description|simple:link&quot;/&gt;<br/>
        &lt;/rss:item&gt;<br/>
    &lt;/xsl:if&gt;<br/>
    

    </xsl:template>



    <xsl:template match="simple:image">

    &lt;xsl:if test=&quot;normalize-space(simple:url)!=''&quot;&gt;<br/>
        &lt;rss:image rdf:about=&quot;{simple:url}&quot;&gt;<br/>
            &lt;xsl:apply-templates select=&quot;simple:url|simple:link|simple:title|simple:description&quot;/&gt;<br/>
        &lt;/rss:image&gt;<br/>
    &lt;/xsl:if&gt;<br/>
    

    </xsl:template>



    <xsl:template match="simple:textinput">

    &lt;xsl:if test=&quot;normalize-space(simple:link)!=''&quot;&gt;<br/>
        &lt;rss:textinput rdf:about=&quot;{simple:link}&quot;&gt;<br/>
            &lt;xsl:apply-templates select=&quot;simple:name|simple:link|simple:title|simple:description&quot;/&gt;<br/>
        &lt;/rss:textinput&gt;<br/>
    &lt;/xsl:if&gt;<br/>
    

    </xsl:template>



    <xsl:template match="icbm:latitude">

    &lt;geo:lat&gt;<br/>
        &lt;xsl:value-of select=&quot;text()&quot;/&gt;<br/>
    &lt;/geo:lat&gt;<br/>
    

    </xsl:template>



    <xsl:template match="icbm:longitude">

    &lt;geo:long&gt;<br/>
        &lt;xsl:value-of select=&quot;text()&quot;/&gt;<br/>
    &lt;/geo:long&gt;<br/>
    

    </xsl:template>



    <xsl:template match="dc:|dcterms:">

    &lt;xsl:copy-of select=&quot;.&quot;/&gt;<br/>
    

    </xsl:template>



    <xsl:template match="atom:title|atom:link/@title|simple:title|simple:description|simple:link|simple:url|simple:name">

    &lt;xsl:element name=&quot;{concat('rss:',local-name(.))}&quot;&gt;<br/>
        &lt;xsl:value-of select=&quot;.&quot;/&gt;<br/>
    &lt;/xsl:element&gt;<br/>
    

    </xsl:template>



    <xsl:template match="atom:modified|atom:created|atom:issued">

    &lt;xsl:element name=&quot;{concat('dcterms:',local-name(.))}&quot;&gt;<br/>
        &lt;xsl:value-of select=&quot;.&quot;/&gt;<br/>
    &lt;/xsl:element&gt;<br/>
    

    </xsl:template>



    <xsl:template match="atom:name">

    &lt;xsl:element name=&quot;{concat('foaf:',local-name(.))}&quot;&gt;<br/>
        &lt;xsl:value-of select=&quot;.&quot;/&gt;<br/>
    &lt;/xsl:element&gt;<br/>
    

    </xsl:template>



    <xsl:template match="atom:url">

    &lt;foaf:homepage rdf:resource=&quot;{.}&quot;/&gt;<br/>
    

    </xsl:template>



    <xsl:template match="atom:email">

    &lt;foaf:mbox rdf:resource=&quot;mailto:{.}&quot;/&gt;<br/>
    

    </xsl:template>



    <xsl:template match="atom:link[@rel='alternate' and @type='text/html']">

    &lt;rss:link&gt;<br/>
        &lt;xsl:value-of select=&quot;@href&quot;/&gt;<br/>
    &lt;/rss:link&gt;<br/>
    &lt;foaf:page rdf:resource=&quot;{@href}&quot;/&gt;<br/>
    

    </xsl:template>



    <xsl:template match="atom:link">

    &lt;dcterms:references&gt;<br/>
        &lt;rdf:Description rdf:about=&quot;{@href}&quot;&gt;<br/>
            &lt;xsl:apply-templates select=&quot;@*&quot;/&gt;<br/>
        &lt;/rdf:Description&gt;<br/>
    &lt;/dcterms:references&gt;<br/>
    

    </xsl:template>



    <xsl:template match="atom:generator|atom:entry|atom:info|atom:/@">

    </xsl:template>



    <xsl:template match="atom:link/@type">

    &lt;dc:format&gt;<br/>
        &lt;xsl:value-of select=&quot;.&quot;/&gt;<br/>
    &lt;/dc:format&gt;<br/>
    

    </xsl:template>



    <xsl:template match="atom:link/@rel|atom:id">

    &lt;dc:identifier&gt;<br/>
        &lt;xsl:value-of select=&quot;.&quot;/&gt;<br/>
    &lt;/dc:identifier&gt;<br/>
    

    </xsl:template>



    <xsl:template match="atom:generator[@url and @version]">

    &lt;admin:generatorAgent rdf:resource=&quot;{@url}?v={@version}&quot;/&gt;<br/>
    

    </xsl:template>



    <xsl:template match="atom:author|atom:contributor">

    &lt;foaf:maker&gt;<br/>
        &lt;foaf:Person&gt;<br/>
            &lt;xsl:apply-templates select=&quot;*&quot;/&gt;<br/>
        &lt;/foaf:Person&gt;<br/>
    &lt;/foaf:maker&gt;<br/>
    

    </xsl:template>



    <xsl:template match="atom:tagline|atom:summary">

    &lt;dc:description&gt;<br/>
        &lt;xsl:value-of select=&quot;.&quot;/&gt;<br/>
    &lt;/dc:description&gt;<br/>
    

    </xsl:template>



    <xsl:template match="atom:copyright">

    &lt;dc:rights&gt;<br/>
        &lt;xsl:value-of select=&quot;.&quot;/&gt;<br/>
    &lt;/dc:rights&gt;<br/>
    

    </xsl:template>



    <xsl:template match="atom:content[@mode='escaped']">

    &lt;content:encoded&gt;<br/>
        &lt;xsl:copy-of select=&quot;@xml:lang&quot;/&gt;<br/>
        &lt;xsl:value-of select=&quot;.&quot;/&gt;<br/>
    &lt;/content:encoded&gt;<br/>
    

    </xsl:template>



    <xsl:template match="atom:content[not(@mode) or @mode='xml']">

    &lt;content:encoded&gt;<br/>
        &lt;xsl:copy-of select=&quot;@xml:lang&quot;/&gt;<br/>
        &lt;xsl:value-of select=&quot;.&quot;/&gt;<br/>
    &lt;/content:encoded&gt;<br/>
    

    </xsl:template>



    <xsl:template match="atom:content[@type='multipart/alternative']">

    &lt;xsl:apply-templates select=&quot;*&quot;/&gt;<br/>
    

    </xsl:template>



    <xsl:template match="atom:content">

    </xsl:template>



    <xsl:template match="channel">

    &lt;rdf:RDF&gt;<br/>
        &lt;xsl:apply-templates mode=&quot;version&quot; select=&quot;.&quot;/&gt;<br/>
        &lt;rss:channel rdf:about=&quot;{$rss}&quot;&gt;<br/>
            &lt;xsl:apply-templates select=&quot;title|link|description|language|copyright|webMaster|webmaster|managingEditor|managingeditor|pubDate|pubdate|lastBuildDate|lastbuilddate|category[@domain='Syndic8']&quot;/&gt;<br/>
            &lt;xsl:copy-of select=&quot;dc:*|dcterms:*|syn:*&quot;/&gt;<br/>
            &lt;rss:items&gt;<br/>
                &lt;rdf:Seq&gt;<br/>
                    &lt;xsl:for-each select=&quot;item&quot;&gt;<br/>
                        &lt;rdf:li&gt;<br/>
                            &lt;xsl:attribute name=&quot;rdf:resource&quot;&gt;<br/>
                                &lt;xsl:apply-templates mode=&quot;link&quot; select=&quot;.&quot;/&gt;<br/>
                            &lt;/xsl:attribute&gt;<br/>
                        &lt;/rdf:li&gt;<br/>
                    &lt;/xsl:for-each&gt;<br/>
                &lt;/rdf:Seq&gt;<br/>
            &lt;/rss:items&gt;<br/>
            &lt;xsl:if test=&quot;image[normalize-space(url)!='']&quot;&gt;<br/>
                &lt;rss:image rdf:resource=&quot;{image[normalize-space(url)!=''][1]/url}&quot;/&gt;<br/>
            &lt;/xsl:if&gt;<br/>
            &lt;xsl:if test=&quot;textinput[normalize-space(link)!='']&quot;&gt;<br/>
                &lt;rss:textinput rdf:resource=&quot;{textinput[normalize-space(link)!=''][1]/link}&quot;/&gt;<br/>
            &lt;/xsl:if&gt;<br/>
        &lt;/rss:channel&gt;<br/>
        &lt;xsl:apply-templates select=&quot;item|image[normalize-space(url)!='']|textinput[normalize-space(link)!='']&quot;/&gt;<br/>
    &lt;/rdf:RDF&gt;<br/>
    

    </xsl:template>



    <xsl:template match="item">

    &lt;rss:item&gt;<br/>
        &lt;xsl:attribute name=&quot;rdf:about&quot;&gt;<br/>
            &lt;xsl:apply-templates mode=&quot;link&quot; select=&quot;.&quot;/&gt;<br/>
        &lt;/xsl:attribute&gt;<br/>
        &lt;xsl:apply-templates select=&quot;icbm:latitude|icbm:longitude|link|title|description|language|category|pubDate|pubdate|lastBuildDate|lastbuilddate&quot;/&gt;<br/>
        &lt;xsl:if test=&quot;not(link) and normalize-space(guid[not(@isPermaLink='false')])!=''&quot;&gt;<br/>
            &lt;rss:link&gt;<br/>
                &lt;xsl:value-of select=&quot;guid[not(@isPermaLink='false')]&quot;/&gt;<br/>
            &lt;/rss:link&gt;<br/>
        &lt;/xsl:if&gt;<br/>
        &lt;xsl:if test=&quot;not(title)&quot;&gt;<br/>
            &lt;rss:title/&gt;<br/>
        &lt;/xsl:if&gt;<br/>
        &lt;xsl:copy-of select=&quot;dc:*|dcterms:*|content:*&quot;/&gt;<br/>
    &lt;/rss:item&gt;<br/>
    

    </xsl:template>



    <xsl:template mode="link" match="item">

    &lt;xsl:choose&gt;<br/>
        &lt;xsl:when test=&quot;normalize-space(guid[not(@isPermaLink='false')])!=''&quot;&gt;<br/>
            &lt;xsl:value-of select=&quot;guid[not(@isPermaLink='false')]&quot;/&gt;<br/>
        &lt;/xsl:when&gt;<br/>
        &lt;xsl:when test=&quot;normalize-space(link)!=''&quot;&gt;<br/>
            &lt;xsl:value-of select=&quot;link&quot;/&gt;<br/>
        &lt;/xsl:when&gt;<br/>
        &lt;xsl:otherwise&gt;<br/>
            &lt;xsl:value-of select=&quot;$rss&quot;/&gt;<br/>
            &lt;xsl:value-of select=&quot;'#'&quot;/&gt;<br/>
            &lt;xsl:value-of select=&quot;generate-id(.)&quot;/&gt;<br/>
        &lt;/xsl:otherwise&gt;<br/>
    &lt;/xsl:choose&gt;<br/>
    

    </xsl:template>



    <xsl:template mode="link" match="channel|image|textinput">

    &lt;xsl:value-of select=&quot;link[1]&quot;/&gt;<br/>
    

    </xsl:template>



    <xsl:template match="image">

    &lt;xsl:if test=&quot;normalize-space(url)!=''&quot;&gt;<br/>
        &lt;rss:image rdf:about=&quot;{url}&quot;&gt;<br/>
            &lt;xsl:apply-templates select=&quot;url|link|title|description&quot;/&gt;<br/>
        &lt;/rss:image&gt;<br/>
    &lt;/xsl:if&gt;<br/>
    

    </xsl:template>



    <xsl:template match="textinput">

    &lt;xsl:if test=&quot;normalize-space(link)!=''&quot;&gt;<br/>
        &lt;rss:textinput rdf:about=&quot;{link}&quot;&gt;<br/>
            &lt;xsl:apply-templates select=&quot;name|link|title|description&quot;/&gt;<br/>
        &lt;/rss:textinput&gt;<br/>
    &lt;/xsl:if&gt;<br/>
    

    </xsl:template>



    <xsl:template match="link">

    &lt;xsl:element name=&quot;{concat('rss:',name(.))}&quot;&gt;<br/>
        &lt;xsl:apply-templates mode=&quot;link&quot; select=&quot;..&quot;/&gt;<br/>
    &lt;/xsl:element&gt;<br/>
    

    </xsl:template>



    <xsl:template match="name|url|title|description">

    &lt;xsl:element name=&quot;{concat('rss:',name(.))}&quot;&gt;<br/>
        &lt;xsl:value-of select=&quot;normalize-space(.)&quot;/&gt;<br/>
    &lt;/xsl:element&gt;<br/>
    

    </xsl:template>



    <xsl:template match="language">

    &lt;xsl:element name=&quot;{concat('dc:',name(.))}&quot;&gt;<br/>
        &lt;xsl:value-of select=&quot;normalize-space(.)&quot;/&gt;<br/>
    &lt;/xsl:element&gt;<br/>
    

    </xsl:template>



    <xsl:template match="copyright">

    &lt;xsl:element name=&quot;dc:rights&quot;&gt;<br/>
        &lt;xsl:value-of select=&quot;normalize-space(.)&quot;/&gt;<br/>
    &lt;/xsl:element&gt;<br/>
    

    </xsl:template>



    <xsl:template match="webMaster|webmaster">

    &lt;xsl:element name=&quot;dc:publisher&quot;&gt;<br/>
        &lt;xsl:value-of select=&quot;normalize-space(.)&quot;/&gt;<br/>
    &lt;/xsl:element&gt;<br/>
    

    </xsl:template>



    <xsl:template match="managingEditor|managingeditor">

    &lt;xsl:element name=&quot;dc:creator&quot;&gt;<br/>
        &lt;xsl:value-of select=&quot;normalize-space(.)&quot;/&gt;<br/>
    &lt;/xsl:element&gt;<br/>
    

    </xsl:template>



    <xsl:template match="category[@domain='Syndic8']">

    &lt;xsl:element name=&quot;dcterms:isReferencedBy&quot;&gt;<br/>
        &lt;xsl:attribute name=&quot;rdf:resource&quot;&gt;<br/>
    

    <xsl:value-of select="'http://www.syndic8.com/feedinfo.php?FeedID='"/>

            &lt;xsl:value-of select=&quot;normalize-space(.)&quot;/&gt;<br/>
        &lt;/xsl:attribute&gt;<br/>
    &lt;/xsl:element&gt;<br/>
    

    </xsl:template>



    <xsl:template match="category">

    &lt;xsl:element name=&quot;dc:subject&quot;&gt;<br/>
        &lt;xsl:value-of select=&quot;normalize-space(.)&quot;/&gt;<br/>
    &lt;/xsl:element&gt;<br/>
    

    </xsl:template>



    <xsl:template match="pubDate|pubdate">

    &lt;xsl:apply-templates mode=&quot;rfc2822-w3cdtf&quot; select=&quot;.&quot;&gt;<br/>
        &lt;xsl:with-param name=&quot;name&quot; select=&quot;'dcterms:created'&quot;/&gt;<br/>
    &lt;/xsl:apply-templates&gt;<br/>
    

    </xsl:template>



    <xsl:template match="lastBuildDate|lastbuilddate">

    &lt;xsl:apply-templates mode=&quot;rfc2822-w3cdtf&quot; select=&quot;.&quot;&gt;<br/>
        &lt;xsl:with-param name=&quot;name&quot; select=&quot;'dcterms:modified'&quot;/&gt;<br/>
    &lt;/xsl:apply-templates&gt;<br/>
    

    </xsl:template>



    <xsl:template mode="rfc2822-w3cdtf" match="*">

    &lt;xsl:param name=&quot;name&quot; select=&quot;'dc:date'&quot;/&gt;<br/>
    &lt;xsl:if test=&quot;contains(.,',') and string-length(normalize-space(substring-before(.,',')))=3&quot;&gt;<br/>
        &lt;xsl:variable name=&quot;dmyhisz&quot; select=&quot;normalize-space(substring-after(.,','))&quot;/&gt;<br/>
        &lt;!-- Fetch date of month. --&gt;<br/>
        &lt;xsl:if test=&quot;contains($dmyhisz,' ') and string-length(substring-before($dmyhisz,' '))&amp;lt;=2&quot;&gt;<br/>
            &lt;xsl:variable name=&quot;d&quot; select=&quot;substring-before($dmyhisz,' ')&quot;/&gt;<br/>
            &lt;xsl:variable name=&quot;myhisz&quot; select=&quot;normalize-space(substring-after($dmyhisz,' '))&quot;/&gt;<br/>
            &lt;!-- Validate date of month, fetch and translate month name to month number. --&gt;<br/>
            &lt;xsl:if test=&quot;string-length(translate($d,'0123456789',''))=0 and contains($myhisz,' ') and string-length(substring-before($myhisz,' '))=3&quot;&gt;<br/>
                &lt;!-- Lance:  why in the hell is only a partial alphabet below?  This causes Jan to stay Jan instead of jan.  Fixing...<br/>
                &lt;xsl:variable name=&quot;m-temp&quot; select=&quot;translate(substring-before($myhisz,' '),'ACDEFGLMNOPRSTUY','acdefglmnoprstuy')&quot;/&gt;<br/>
                --&gt;<br/>
                &lt;xsl:variable name=&quot;m-temp&quot; select=&quot;translate(substring-before($myhisz,' '),'ACDEFGHIJKLMNOPQRSTUVWXYZ','acdefghijklmnopqrstuvwxyz')&quot;/&gt;<br/>
                &lt;!-- Line above changed to include entire alphabet --&gt;<br/>
                <br/>
                &lt;xsl:variable name=&quot;yhisz&quot; select=&quot;normalize-space(substring-after($myhisz,' '))&quot;/&gt;<br/>
                &lt;xsl:variable name=&quot;m&quot;&gt;<br/>
                    &lt;xsl:choose&gt;<br/>
                        &lt;xsl:when test=&quot;$m-temp='jan'&quot;&gt;<br/>
                            &lt;xsl:value-of select=&quot;'1'&quot;/&gt;<br/>
                        &lt;/xsl:when&gt;<br/>
                        &lt;xsl:when test=&quot;$m-temp='feb'&quot;&gt;<br/>
                            &lt;xsl:value-of select=&quot;'2'&quot;/&gt;<br/>
                        &lt;/xsl:when&gt;<br/>
                        &lt;xsl:when test=&quot;$m-temp='mar'&quot;&gt;<br/>
                            &lt;xsl:value-of select=&quot;'3'&quot;/&gt;<br/>
                        &lt;/xsl:when&gt;<br/>
                        &lt;xsl:when test=&quot;$m-temp='apr'&quot;&gt;<br/>
                            &lt;xsl:value-of select=&quot;'4'&quot;/&gt;<br/>
                        &lt;/xsl:when&gt;<br/>
                        &lt;xsl:when test=&quot;$m-temp='may'&quot;&gt;<br/>
                            &lt;xsl:value-of select=&quot;'5'&quot;/&gt;<br/>
                        &lt;/xsl:when&gt;<br/>
                        &lt;xsl:when test=&quot;$m-temp='jun'&quot;&gt;<br/>
                            &lt;xsl:value-of select=&quot;'6'&quot;/&gt;<br/>
                        &lt;/xsl:when&gt;<br/>
                        &lt;xsl:when test=&quot;$m-temp='jul'&quot;&gt;<br/>
                            &lt;xsl:value-of select=&quot;'7'&quot;/&gt;<br/>
                        &lt;/xsl:when&gt;<br/>
                        &lt;xsl:when test=&quot;$m-temp='aug'&quot;&gt;<br/>
                            &lt;xsl:value-of select=&quot;'8'&quot;/&gt;<br/>
                        &lt;/xsl:when&gt;<br/>
                        &lt;xsl:when test=&quot;$m-temp='sep'&quot;&gt;<br/>
                            &lt;xsl:value-of select=&quot;'9'&quot;/&gt;<br/>
                        &lt;/xsl:when&gt;<br/>
                        &lt;xsl:when test=&quot;$m-temp='oct'&quot;&gt;<br/>
                            &lt;xsl:value-of select=&quot;'10'&quot;/&gt;<br/>
                        &lt;/xsl:when&gt;<br/>
                        &lt;xsl:when test=&quot;$m-temp='nov'&quot;&gt;<br/>
                            &lt;xsl:value-of select=&quot;'11'&quot;/&gt;<br/>
                        &lt;/xsl:when&gt;<br/>
                        &lt;xsl:when test=&quot;$m-temp='dec'&quot;&gt;<br/>
                            &lt;xsl:value-of select=&quot;'12'&quot;/&gt;<br/>
                        &lt;/xsl:when&gt;<br/>
                    &lt;/xsl:choose&gt;<br/>
                &lt;/xsl:variable&gt;<br/>
                &lt;!-- Validate month, fetch (possibly translating) year. --&gt;<br/>
                &lt;xsl:if test=&quot;string-length($m)!=0 and contains($yhisz,' ')&quot;&gt;<br/>
                    &lt;xsl:variable name=&quot;y-temp&quot; select=&quot;substring-before($yhisz,' ')&quot;/&gt;<br/>
                    &lt;xsl:variable name=&quot;hisz&quot; select=&quot;normalize-space(substring-after($yhisz,' '))&quot;/&gt;<br/>
                    &lt;xsl:variable name=&quot;y&quot;&gt;<br/>
                        &lt;xsl:choose&gt;<br/>
                            &lt;xsl:when test=&quot;string-length(translate($y-temp,'0123456789',''))=0 and string-length($y-temp)=2 and $y-temp &amp;lt; 70&quot;&gt;<br/>
                                &lt;xsl:value-of select=&quot;concat('20',$y-temp)&quot;/&gt;<br/>
                            &lt;/xsl:when&gt;<br/>
                            &lt;xsl:when test=&quot;string-length(translate($y-temp,'0123456789',''))=0 and string-length($y-temp)=2 and $y-temp &amp;gt;= 70&quot;&gt;<br/>
                                &lt;xsl:value-of select=&quot;concat('19',$y-temp)&quot;/&gt;<br/>
                            &lt;/xsl:when&gt;<br/>
                            &lt;xsl:when test=&quot;string-length(translate($y-temp,'0123456789',''))=0 and string-length($y-temp)=4&quot;&gt;<br/>
                                &lt;xsl:value-of select=&quot;$y-temp&quot;/&gt;<br/>
                            &lt;/xsl:when&gt;<br/>
                        &lt;/xsl:choose&gt;<br/>
                    &lt;/xsl:variable&gt;<br/>
                    &lt;!-- Validate year, fetch time, fetch and translate time zone. --&gt;<br/>
                    &lt;xsl:if test=&quot;string-length($y)!=0 and contains($hisz,' ')&quot;&gt;<br/>
                        &lt;xsl:variable name=&quot;his&quot; select=&quot;substring-before($hisz,' ')&quot;/&gt;<br/>
                        &lt;xsl:variable name=&quot;z&quot; select=&quot;normalize-space(substring-after($hisz,' '))&quot;/&gt;<br/>
                        &lt;xsl:variable name=&quot;offset&quot;&gt;<br/>
                            &lt;xsl:choose&gt;<br/>
                                &lt;xsl:when test=&quot;$z='GMT'&quot;&gt;<br/>
                                    &lt;xsl:value-of select=&quot;'Z'&quot;/&gt;<br/>
                                &lt;/xsl:when&gt;<br/>
                            &lt;/xsl:choose&gt;<br/>
                        &lt;/xsl:variable&gt;<br/>
                        &lt;!-- Validate time and time zone. --&gt;<br/>
                        &lt;!-- Lance's code change below...first, comment out the if and replace with a choose --&gt;<br/>
                        &lt;!-- &lt;xsl:if test=&quot;string-length($his)=8 and string-length(translate($his,'0123456789',''))=2 and string-length(translate($his,':',''))=6 and string-length($offset)!=0&quot;&gt;--&gt;<br/>
                        &lt;xsl:choose&gt;<br/>
                            &lt;xsl:when test=&quot;string-length($his)=8 and string-length(translate($his,'0123456789',''))=2 and string-length(translate($his,':',''))=6 and string-length($offset)!=0&quot;&gt;<br/>
                                &lt;xsl:element name=&quot;{$name}&quot;&gt;<br/>
                                    &lt;xsl:value-of select=&quot;concat($y,'-',format-number($m,'00'),'-',format-number($d,'00'),'T',$his,$offset)&quot;/&gt;<br/>
                                &lt;/xsl:element&gt;<br/>
                                &lt;xsl:comment&gt;<br/>
                                    &lt;xsl:value-of select=&quot;.&quot;/&gt;<br/>
                                &lt;/xsl:comment&gt;<br/>
                            &lt;/xsl:when&gt;<br/>
                            &lt;xsl:when test=&quot;string-length($his)=8 and string-length(translate($his,'0123456789',''))=2 and string-length(translate($his,':',''))=6&quot;&gt;<br/>
                                &lt;xsl:element name=&quot;{$name}&quot;&gt;<br/>
                                    &lt;xsl:value-of select=&quot;concat($y,'-',format-number($m,'00'),'-',format-number($d,'00'),'T',$his,$z)&quot;/&gt;<br/>
                                &lt;/xsl:element&gt;<br/>
                                &lt;xsl:comment&gt;<br/>
                                    &lt;xsl:value-of select=&quot;.&quot;/&gt;<br/>
                                &lt;/xsl:comment&gt;<br/>
                            &lt;/xsl:when&gt;<br/>
                        &lt;/xsl:choose&gt;<br/>
                        &lt;!-- &lt;/xsl:if&gt; --&gt;<br/>
                    &lt;/xsl:if&gt;<br/>
                &lt;/xsl:if&gt;<br/>
            &lt;/xsl:if&gt;<br/>
        &lt;/xsl:if&gt;<br/>
    &lt;/xsl:if&gt;<br/>
    

    </xsl:template>



    </xsl:transform>