view xsls/dirname.xsls @ 76:4a4caa566120

Russian documentation import. Changes in module.dtd: <example> now allowed to contain <value> and <emphasis> elements (we need this to show important parts in examples), less strict checking of <directive> syntax (we don't want to fully document some directives, notably deprecated ones). Known issues: 1. <syntax> elements are preserved as is, they will require manual conversion (likely to some not-yet-existed format a la DocBook cmdsynopsis, as currently used one seems to be incomplete); 2. <value> no longer corresponds to replaceable content, and it's use in examples isn't correct; 3. <link doc="document#fragment"> doesn't work with current xslt, either should be supported or changed to <link doc="document" id="fragment">. The following files are intentionally omitted: maillists.xml (support.xml should be used instead), experimental.xml (obsolete), faq.xml (conflicts with existing one, needs discussion). Not yet linked to site.
author Maxim Dounin <mdounin@mdounin.ru>
date Tue, 11 Oct 2011 12:57:50 +0000
parents 61e04fc01027
children be54c443235a
line wrap: on
line source

X:stylesheet {


<!-- return a dirname of an article link -->

X:var DIRNAME = { !dirname (path = "$LINK") }

X:template dirname (path) {
    X:if "contains($path, '/')" {
        !{ substring-before($path, '/') }
        X:text {/}
        !dirname (path = "substring-after($path, '/')")
    }
}


<!-- return a path to the root of an article link, i.e., "../../.."  -->

X:var ROOT = { !root (path = { !{ substring($DIRNAME, 2) } }) }

X:template root (path) {
    X:if "contains($path, '/')" {
        X:text {..}
        X:if "substring-after($path, '/')" {
            X:text {/}
            !root (path = "substring-after($path, '/')")
        }
    }
}

}