diff xsls/menu.xsls @ 0:61e04fc01027

Initial import of the nginx.org website.
author Ruslan Ermilov <ru@nginx.com>
date Thu, 11 Aug 2011 12:19:13 +0000
parents
children 202e4424cab8
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/xsls/menu.xsls
@@ -0,0 +1,67 @@
+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/>
+}
+
+}