mirror of
https://github.com/nginx/nginx.git
synced 2024-12-21 09:47:48 +08:00
b4a2393927
Dates in ISO 8601 format are in line with what is used in nginx.org news, and are generally less ambiguous and easier to work with. The changes.xml was converted using sed: $ sed 's/date="\(..\)\.\(..\)\.\(....\)"/date="\3-\2-\1"/g' changes.xml Appropriate changes to changes.xsls were introduced.
135 lines
3.2 KiB
Plaintext
135 lines
3.2 KiB
Plaintext
X:stylesheet {
|
|
|
|
X:output method="text";
|
|
|
|
X:param lang="'en'";
|
|
X:param configuration="'../xml/change_log_conf.xml'";
|
|
|
|
X:var conf = "document($configuration)/configuration";
|
|
X:var start = "$conf/start";
|
|
X:var indent = "$conf/indent";
|
|
X:var max = "$conf/length";
|
|
X:var br = {<br>}
|
|
|
|
|
|
X:template = "/" { !! "change_log"; }
|
|
X:template = "change_log" { !! "changes"; }
|
|
|
|
|
|
X:template = "changes" {
|
|
X:text { }
|
|
|
|
!{substring(concat($conf/changes[@lang=$lang]/title,
|
|
//change_log/@title,
|
|
' ', @ver,
|
|
' '),
|
|
1, $conf/changes[@lang=$lang]/length)}
|
|
|
|
X:if "$lang='ru'" {
|
|
!{substring(@date, 9, 2)}
|
|
X:text {.}
|
|
!{substring(@date, 6, 2)}
|
|
X:text {.}
|
|
!{substring(@date, 1, 4)}
|
|
}
|
|
|
|
X:if "$lang='en'" {
|
|
!{substring(@date, 9, 2)}
|
|
!{$conf/changes[@lang=$lang]/month[number(substring(current()/@date,
|
|
6, 2))]}
|
|
!{substring(@date, 1, 4)}
|
|
}
|
|
|
|
X:text { }
|
|
|
|
!! "change";
|
|
|
|
X:text { }
|
|
}
|
|
|
|
|
|
X:template = "change" {
|
|
X:var prefix = "$conf/changes[@lang=$lang]/*[local-name(.)=current()/@type]"
|
|
|
|
X:var postfix = { X:if "$prefix" { X:text {: } } }
|
|
|
|
!! "para[@lang=$lang]" (prefix = "concat($start, $prefix, $postfix)");
|
|
}
|
|
|
|
|
|
X:template para(prefix) = "para" {
|
|
X:var text = { !!; }
|
|
|
|
X:text { }
|
|
|
|
!wrap(text = "normalize-space($text)",
|
|
prefix = { X:if "position() = 1" { !{$prefix} } else { !{$indent} } })
|
|
}
|
|
|
|
|
|
X:template wrap(text, prefix) {
|
|
X:if "$text" {
|
|
X:var offset = {
|
|
X:choose {
|
|
X:when "starts-with($text, concat($br, ' '))" {
|
|
!{string-length($br) + 2}
|
|
}
|
|
X:when "starts-with($text, $br)" {
|
|
!{string-length($br) + 1}
|
|
}
|
|
X:otherwise {
|
|
1
|
|
}
|
|
}
|
|
}
|
|
|
|
X:var length = {
|
|
!length(text = "substring($text, $offset)",
|
|
prefix = "string-length($prefix)",
|
|
length = "$max")
|
|
}
|
|
|
|
!{$prefix}
|
|
|
|
!{normalize-space(translate(substring($text, $offset, $length),
|
|
' ', ' '))}
|
|
|
|
X:text { }
|
|
|
|
!wrap(text = "substring($text, $length + $offset)", prefix = "$indent")
|
|
}
|
|
}
|
|
|
|
|
|
X:template length(text, prefix, length) {
|
|
X:var break = "substring-before(substring($text, 1,
|
|
$length - $prefix + string-length($br)),
|
|
$br)"
|
|
|
|
X:choose {
|
|
X:when "$break" { !{string-length($break)} }
|
|
|
|
X:when "$length = 0" { !{$max - $prefix} }
|
|
|
|
X:when "string-length($text) + $prefix <= $length" {
|
|
!{$length - $prefix}
|
|
}
|
|
|
|
X:when "substring($text, $length - $prefix + 1, 1) = ' '" {
|
|
!{$length - $prefix + 1}
|
|
}
|
|
|
|
X:otherwise {
|
|
!length(text = "$text", prefix = "$prefix", length = "$length - 1")
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
X:template = "at" {@}
|
|
X:template = "br" { !{$br} }
|
|
X:template = "nobr" { !{translate(., ' ', ' ')} }
|
|
|
|
|
|
}
|