view xsls/link.xsls @ 1202:2d3dd37a0fc8

Fixed the pubDate element spelling. While most feed readers happily ignore the improper lowercase spelling of the element, some feed validators and aggregators are picky and mark the feed as broken.
author Konstantin Pavlov <thresh@nginx.com>
date Thu, 22 May 2014 14:44:42 +0400
parents 8e8a6a7cff2b
children c1d078b13527
line wrap: on
line source

<!--
  Copyright (C) Igor Sysoev
  Copyright (C) Nginx, Inc.
  -->

X:stylesheet {

X:template = "img" { <img src="{@href}"> !!; </img> }

X:template = "origin" {
    <a>
    X:attribute "href" {
        !root(path = "$ORIGIN")
        !{ concat(substring-before($ORIGIN, '.xml'), '.html') }
    }
    !!;
    </a>
}

X:template = "link[@url]" {
    <a href="{@url}">
    X:if "count(node()) != 0" { !!; } else { !{@url} }
    </a>
}

X:template = "link[@id and not(@doc)]" {
    <a href="#{@id}">
    X:if "count(node()) != 0" { !!; } else { !{@id} }
    </a>
}

X:template = "link[@doc and not(@id)]" {
    <a href="{substring-before(@doc, '.xml')}.html">
    X:if "count(node()) != 0" {
        !!;
    } else {
        !{ document(@doc)/article/@name | document(@doc)/module/@name }
    }
    </a>
}

X:template = "link[@id and @doc]" {
    <a href="{substring-before(@doc, '.xml')}.html#{@id}">
    X:if "count(node()) != 0" { !!; } else { !{@id} }
    </a>
}

X:template = "links" {
    X:for-each "link", X:sort "@id" {
        <a href="{substring-before(@doc, '.xml')}.html#{@id}">!{@id}</a>
        X:if "count(../link[@id = current()/@id]) > 1" {
            X:text{ (}
            !{substring-before(substring-after(@doc, '/'), '.xml')}
            X:text{)}
        }
        <br/>
    }
}

X:template = "varlinks" {
    X:for-each "link", X:sort "@id" {
        <a href="{substring-before(@doc, '.xml')}.html#{@id}">!!;</a>
        X:if "count(../link[@id = current()/@id and @doc != current()/@doc]) > 0" {
            X:text{ (}
            !{substring-before(substring-after(@doc, '/'), '.xml')}
            X:text{)}
        }
        <br/>
    }
}

}