annotate docs/xslt/changes.xslt @ 7690:8253424d1aff

Added size check to ngx_http_alloc_large_header_buffer(). This ensures that copying won't write more than the buffer size even if the buffer comes from hc->free and it is smaller than the large client header buffer size in the virtual host configuration. This might happen if size of large client header buffers is different in name-based virtual hosts, similarly to the problem with number of buffers fixed in 6926:e662cbf1b932.
author Maxim Dounin <mdounin@mdounin.ru>
date Thu, 06 Aug 2020 05:02:22 +0300
parents b7e02f47a339
children de20142f5046
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
450
551102312e19 nginx-0.1.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
1 <?xml version="1.0" encoding="utf-8"?>
551102312e19 nginx-0.1.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
2 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
551102312e19 nginx-0.1.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
3
5586
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
4 <xsl:output method="text"/>
4014
234907e676a5 XSLT regeneration for r3998.
Ruslan Ermilov <ru@nginx.com>
parents: 450
diff changeset
5
5586
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
6 <xsl:param select="'en'" name="lang"/>
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
7 <xsl:param select="'../xml/change_log_conf.xml'" name="configuration"/>
4014
234907e676a5 XSLT regeneration for r3998.
Ruslan Ermilov <ru@nginx.com>
parents: 450
diff changeset
8
5586
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
9 <xsl:variable select="document($configuration)/configuration" name="conf"/>
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
10 <xsl:variable select="$conf/start" name="start"/>
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
11 <xsl:variable select="$conf/indent" name="indent"/>
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
12 <xsl:variable select="$conf/length" name="max"/>
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
13 <xsl:variable name="br">&lt;br&gt;</xsl:variable>
4014
234907e676a5 XSLT regeneration for r3998.
Ruslan Ermilov <ru@nginx.com>
parents: 450
diff changeset
14
234907e676a5 XSLT regeneration for r3998.
Ruslan Ermilov <ru@nginx.com>
parents: 450
diff changeset
15
5586
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
16 <xsl:template match="/"> <xsl:apply-templates select="change_log"/> </xsl:template>
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
17 <xsl:template match="change_log"> <xsl:apply-templates select="changes"/> </xsl:template>
4014
234907e676a5 XSLT regeneration for r3998.
Ruslan Ermilov <ru@nginx.com>
parents: 450
diff changeset
18
234907e676a5 XSLT regeneration for r3998.
Ruslan Ermilov <ru@nginx.com>
parents: 450
diff changeset
19
5586
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
20 <xsl:template match="changes">
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
21 <xsl:text>&#10;</xsl:text>
450
551102312e19 nginx-0.1.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
22
5586
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
23 <xsl:value-of select="substring(concat($conf/changes[@lang=$lang]/title,
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
24 //change_log/@title,
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
25 ' ', @ver,
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
26 ' '),
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
27 1, $conf/changes[@lang=$lang]/length)"/>
450
551102312e19 nginx-0.1.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
28
6915
b7e02f47a339 Docs: changes.xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 5586
diff changeset
29 <xsl:if test="$lang='ru'">
b7e02f47a339 Docs: changes.xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 5586
diff changeset
30 <xsl:value-of select="substring(@date, 9, 2)"/>
b7e02f47a339 Docs: changes.xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 5586
diff changeset
31 <xsl:text>.</xsl:text>
b7e02f47a339 Docs: changes.xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 5586
diff changeset
32 <xsl:value-of select="substring(@date, 6, 2)"/>
b7e02f47a339 Docs: changes.xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 5586
diff changeset
33 <xsl:text>.</xsl:text>
b7e02f47a339 Docs: changes.xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 5586
diff changeset
34 <xsl:value-of select="substring(@date, 1, 4)"/>
b7e02f47a339 Docs: changes.xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 5586
diff changeset
35 </xsl:if>
4014
234907e676a5 XSLT regeneration for r3998.
Ruslan Ermilov <ru@nginx.com>
parents: 450
diff changeset
36
5586
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
37 <xsl:if test="$lang='en'">
6915
b7e02f47a339 Docs: changes.xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 5586
diff changeset
38 <xsl:value-of select="substring(@date, 9, 2)"/>
5586
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
39 <xsl:value-of select="$conf/changes[@lang=$lang]/month[number(substring(current()/@date,
6915
b7e02f47a339 Docs: changes.xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 5586
diff changeset
40 6, 2))]"/>
b7e02f47a339 Docs: changes.xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 5586
diff changeset
41 <xsl:value-of select="substring(@date, 1, 4)"/>
5586
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
42 </xsl:if>
450
551102312e19 nginx-0.1.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
43
5586
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
44 <xsl:text>&#10;</xsl:text>
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
45
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
46 <xsl:apply-templates select="change"/>
450
551102312e19 nginx-0.1.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
47
5586
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
48 <xsl:text>&#10;</xsl:text>
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
49 </xsl:template>
4014
234907e676a5 XSLT regeneration for r3998.
Ruslan Ermilov <ru@nginx.com>
parents: 450
diff changeset
50
450
551102312e19 nginx-0.1.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
51
5586
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
52 <xsl:template match="change">
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
53 <xsl:variable select="$conf/changes[@lang=$lang]/*[local-name(.)=current()/@type]" name="prefix"/>
450
551102312e19 nginx-0.1.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
54
5586
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
55 <xsl:variable name="postfix"> <xsl:if test="$prefix"> <xsl:text>: </xsl:text> </xsl:if> </xsl:variable>
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
56
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
57 <xsl:apply-templates select="para[@lang=$lang]"><xsl:with-param select="concat($start, $prefix, $postfix)" name="prefix"/></xsl:apply-templates>
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
58 </xsl:template>
450
551102312e19 nginx-0.1.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
59
4014
234907e676a5 XSLT regeneration for r3998.
Ruslan Ermilov <ru@nginx.com>
parents: 450
diff changeset
60
5586
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
61 <xsl:template name="para" match="para"><xsl:param name="prefix"/>
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
62 <xsl:variable name="text"> <xsl:apply-templates/> </xsl:variable>
450
551102312e19 nginx-0.1.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
63
5586
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
64 <xsl:text>&#10;</xsl:text>
450
551102312e19 nginx-0.1.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
65
5586
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
66 <xsl:call-template name="wrap"><xsl:with-param select="normalize-space($text)" name="text"/><xsl:with-param name="prefix"> <xsl:choose><xsl:when test="position() = 1"> <xsl:value-of select="$prefix"/> </xsl:when><xsl:otherwise> <xsl:value-of select="$indent"/> </xsl:otherwise></xsl:choose> </xsl:with-param></xsl:call-template></xsl:template>
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
67
4014
234907e676a5 XSLT regeneration for r3998.
Ruslan Ermilov <ru@nginx.com>
parents: 450
diff changeset
68
5586
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
69 <xsl:template name="wrap"><xsl:param name="text"/><xsl:param name="prefix"/>
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
70 <xsl:if test="$text">
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
71 <xsl:variable name="offset">
450
551102312e19 nginx-0.1.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
72 <xsl:choose>
5586
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
73 <xsl:when test="starts-with($text, concat($br, ' '))">
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
74 <xsl:value-of select="string-length($br) + 2"/>
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
75 </xsl:when>
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
76 <xsl:when test="starts-with($text, $br)">
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
77 <xsl:value-of select="string-length($br) + 1"/>
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
78 </xsl:when>
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
79 <xsl:otherwise>
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
80 1
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
81 </xsl:otherwise>
450
551102312e19 nginx-0.1.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
82 </xsl:choose>
5586
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
83 </xsl:variable>
4014
234907e676a5 XSLT regeneration for r3998.
Ruslan Ermilov <ru@nginx.com>
parents: 450
diff changeset
84
5586
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
85 <xsl:variable name="length">
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
86 <xsl:call-template name="length"><xsl:with-param select="substring($text, $offset)" name="text"/><xsl:with-param select="string-length($prefix)" name="prefix"/><xsl:with-param select="$max" name="length"/></xsl:call-template></xsl:variable>
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
87
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
88 <xsl:value-of select="$prefix"/>
4014
234907e676a5 XSLT regeneration for r3998.
Ruslan Ermilov <ru@nginx.com>
parents: 450
diff changeset
89
5586
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
90 <xsl:value-of select="normalize-space(translate(substring($text, $offset, $length),
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
91 '&#xA0;', ' '))"/>
450
551102312e19 nginx-0.1.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
92
5586
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
93 <xsl:text>&#10;</xsl:text>
450
551102312e19 nginx-0.1.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
94
5586
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
95 <xsl:call-template name="wrap"><xsl:with-param select="substring($text, $length + $offset)" name="text"/><xsl:with-param select="$indent" name="prefix"/></xsl:call-template></xsl:if>
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
96 </xsl:template>
450
551102312e19 nginx-0.1.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
97
5586
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
98
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
99 <xsl:template name="length"><xsl:param name="text"/><xsl:param name="prefix"/><xsl:param name="length"/>
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
100 <xsl:variable select="substring-before(substring($text, 1,
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
101 $length - $prefix + string-length($br)),
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
102 $br)" name="break"/>
4014
234907e676a5 XSLT regeneration for r3998.
Ruslan Ermilov <ru@nginx.com>
parents: 450
diff changeset
103
5586
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
104 <xsl:choose>
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
105 <xsl:when test="$break"> <xsl:value-of select="string-length($break)"/> </xsl:when>
4014
234907e676a5 XSLT regeneration for r3998.
Ruslan Ermilov <ru@nginx.com>
parents: 450
diff changeset
106
5586
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
107 <xsl:when test="$length = 0"> <xsl:value-of select="$max - $prefix"/> </xsl:when>
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
108
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
109 <xsl:when test="string-length($text) + $prefix &lt;= $length">
450
551102312e19 nginx-0.1.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
110 <xsl:value-of select="$length - $prefix"/>
5586
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
111 </xsl:when>
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
112
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
113 <xsl:when test="substring($text, $length - $prefix + 1, 1) = ' '">
4024
023b288a22b2 XSLT regeneration for r4023.
Igor Sysoev <igor@sysoev.ru>
parents: 4014
diff changeset
114 <xsl:value-of select="$length - $prefix + 1"/>
5586
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
115 </xsl:when>
4024
023b288a22b2 XSLT regeneration for r4023.
Igor Sysoev <igor@sysoev.ru>
parents: 4014
diff changeset
116
5586
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
117 <xsl:otherwise>
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
118 <xsl:call-template name="length"><xsl:with-param select="$text" name="text"/><xsl:with-param select="$prefix" name="prefix"/><xsl:with-param select="$length - 1" name="length"/></xsl:call-template></xsl:otherwise>
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
119 </xsl:choose>
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
120 </xsl:template>
450
551102312e19 nginx-0.1.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
121
4014
234907e676a5 XSLT regeneration for r3998.
Ruslan Ermilov <ru@nginx.com>
parents: 450
diff changeset
122
5586
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
123 <xsl:template match="at">@</xsl:template>
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
124 <xsl:template match="br"> <xsl:value-of select="$br"/> </xsl:template>
db6d07dbef3c Docs: xslt regenerated.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4028
diff changeset
125 <xsl:template match="nobr"> <xsl:value-of select="translate(., ' ', '&#xA0;')"/> </xsl:template>
4014
234907e676a5 XSLT regeneration for r3998.
Ruslan Ermilov <ru@nginx.com>
parents: 450
diff changeset
126
234907e676a5 XSLT regeneration for r3998.
Ruslan Ermilov <ru@nginx.com>
parents: 450
diff changeset
127
234907e676a5 XSLT regeneration for r3998.
Ruslan Ermilov <ru@nginx.com>
parents: 450
diff changeset
128 </xsl:stylesheet>