comparison docs/xsls/changes.xsls @ 4047:3e706fcccbf3 stable-1.0

Merge of r3996, r3998, r4015, r4023, r4025, r4026, r4027: Changes log build procedure fixes: *) using sed instead of perl *) support <br/> in the middle of input *) fixed "<br>" lookup (eliminates the need in " <br/>" hacks) *) fixed maximum length for unbreakable input *) fixed space lookup (allows a space at column 77 to break a line) *) traling spaces removal in text CHANGES files.
author Igor Sysoev <igor@sysoev.ru>
date Mon, 29 Aug 2011 13:57:43 +0000
parents 551102312e19
children f872a86a655c
comparison
equal deleted inserted replaced
4046:fd6f821d3fa2 4047:3e706fcccbf3
62 62
63 63
64 X:template wrap(text, prefix) { 64 X:template wrap(text, prefix) {
65 X:if "$text" { 65 X:if "$text" {
66 X:var offset = { 66 X:var offset = {
67 X:if "starts-with($text, concat($br, ' '))" { 67 X:choose {
68 !{string-length($br) + 2} 68 X:when "starts-with($text, concat($br, ' '))" {
69 } else { 69 !{string-length($br) + 2}
70 1 70 }
71 X:when "starts-with($text, $br)" {
72 !{string-length($br) + 1}
73 }
74 X:otherwise {
75 1
76 }
71 } 77 }
72 } 78 }
73 79
74 X:var length = { 80 X:var length = {
75 !length(text = "substring($text, $offset)", 81 !length(text = "substring($text, $offset)",
77 length = "$max") 83 length = "$max")
78 } 84 }
79 85
80 !{$prefix} 86 !{$prefix}
81 87
82 !{translate(substring($text, $offset, $length), '&#xA0;', ' ')} 88 !{normalize-space(translate(substring($text, $offset, $length),
89 '&#xA0;', ' '))}
83 90
84 X:text {&#10;} 91 X:text {&#10;}
85 92
86 !wrap(text = "substring($text, $length + $offset)", prefix = "$indent") 93 !wrap(text = "substring($text, $length + $offset)", prefix = "$indent")
87 } 94 }
88 } 95 }
89 96
90 97
91 X:template length(text, prefix, length) { 98 X:template length(text, prefix, length) {
92 X:var break = "substring-before(substring($text, 1, $length - $prefix), 99 X:var break = "substring-before(substring($text, 1,
100 $length - $prefix + string-length($br)),
93 $br)" 101 $br)"
94 102
95 X:choose { 103 X:choose {
96 X:when "$break" { !{string-length($break)} } 104 X:when "$break" { !{string-length($break)} }
97 105
98 X:when "$length = 0" { !{$max} } 106 X:when "$length = 0" { !{$max - $prefix} }
99 107
100 X:when "string-length($text) + $prefix &lt;= $length 108 X:when "string-length($text) + $prefix &lt;= $length" {
101 or substring($text, $length - $prefix, 1) = ' '"
102 {
103 !{$length - $prefix} 109 !{$length - $prefix}
110 }
111
112 X:when "substring($text, $length - $prefix + 1, 1) = ' '" {
113 !{$length - $prefix + 1}
104 } 114 }
105 115
106 X:otherwise { 116 X:otherwise {
107 !length(text = "$text", prefix = "$prefix", length = "$length - 1") 117 !length(text = "$text", prefix = "$prefix", length = "$length - 1")
108 } 118 }