Mercurial > hg > nginx-site
view xsls/menu.xsls @ 271:4c6d2c614d2c
Cleaned up XML tag mess:
- all of <parameter> and <code>, and some of <dirname>, <value>,
and <command> were replaced by <literal>;
- the rest of <dirname> were replaced by links;
- <argument> were replaced by <value>;
- <value> is now rendered in HTML in italic;
- <literal> and <path> can now contain <value>.
Cleaned up terminology mess:
- directives take "parameters".
author | Ruslan Ermilov <ru@nginx.com> |
---|---|
date | Fri, 23 Dec 2011 17:29:59 +0000 |
parents | 61e04fc01027 |
children | 202e4424cab8 |
line wrap: on
line source
X:stylesheet { X:template = "menu/item" { <!-- -- variables are not allowed in a template match predicate, -- therefore, we have to use ugly "if"s instead of elegant -- "menu/item[@href = $LINK]", etc. --> X:if "@href = $LINK" { X:if "$YEAR and @href='/'" { <a href="./"> news </a> <br/> } else { !{ normalize-space(text()) }<br/> } } else { <a> X:attribute "href" { X:if "starts-with(@href, $DIRNAME)" { X:if "substring-after(@href, $DIRNAME) = ''" { ./ } else { !{ substring-after(@href, $DIRNAME) } } } else { !{ concat($ROOT, @href) } } } !{ normalize-space(text()) } </a> X:if "@lang" { X:text { [} !{@lang} X:text {]}} <br/> } } X:template = "menu/item[@year]" { X:if "$YEAR or $LINK='/'" { X:if "$YEAR=@year" { !{@year} <br/> } else { <a href="{@href}"> !{@year} </a> <br/> } } } X:template = "menu/item[starts-with(@href, 'http://')]" { <a href="{@href}"> !{ normalize-space(text()) } </a> X:if "@lang" { X:text { [} !{@lang} X:text {]}} <br/> } X:template = "menu/item[not(@href)]" { !{ normalize-space(text()) } <br/> } }