annotate xml/ru/docs/http/ngx_http_xslt_module.xml @ 376:a837069db70d

Revision.
author Ruslan Ermilov <ru@nginx.com>
date Mon, 30 Jan 2012 12:11:17 +0000
parents 4c6d2c614d2c
children dd9fec875834
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
222
bfe3eff81d04 Removed redundant encoding specification.
Ruslan Ermilov <ru@nginx.com>
parents: 110
diff changeset
1 <?xml version="1.0"?>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
2
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
3 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
4
376
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
5 <module name="Модуль ngx_http_xslt_module"
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
6 link="/ru/docs/http/ngx_http_xslt_module.html"
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
7 lang="ru">
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
8
110
40eec261c2a6 Added proper support for anonymous sections, notably for the summary.
Ruslan Ermilov <ru@nginx.com>
parents: 102
diff changeset
9 <section id="summary">
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
10
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
11 <para>
376
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
12 Модуль <literal>ngx_http_xslt_module</literal> (0.7.8+) — это фильтр,
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
13 преобразующий XML-ответ с помощью одного или нескольких XSLT-шаблонов.
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
14 </para>
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
15
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
16 <para>
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
17 По умолчанию этот модуль не собирается, его сборку необходимо
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
18 разрешить с помощью конфигурационного параметра
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
19 <literal>--with-http_xslt_module</literal>.
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
20 <note>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
21 Для сборки и работы этого модуля нужны библиотеки
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
22 <link url="http://www.xmlsoft.org">libxml2 и libxslt</link>.
376
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
23 </note>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
24 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
25
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
26 </section>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
27
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
28
376
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
29 <section id="example" name="Пример конфигурации">
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
30
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
31 <para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
32 <example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
33 location / {
376
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
34 xml_entities /site/dtd/entities.dtd;
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
35 xslt_stylesheet /site/xslt/one.xslt param=value;
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
36 xslt_stylesheet /site/xslt/two.xslt;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
37 }
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
38 </example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
39 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
40
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
41 </section>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
42
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
43
376
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
44 <section id="directives" name="Директивы">
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
45
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
46 <directive name="xml_entities">
102
c76a257f3fd4 The directive name is now automatically printed in <default> and <syntax>.
Ruslan Ermilov <ru@nginx.com>
parents: 99
diff changeset
47 <syntax><value>путь</value></syntax>
99
1d315ef37215 The case <default/> is now language-agnostic.
Ruslan Ermilov <ru@nginx.com>
parents: 76
diff changeset
48 <default/>
376
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
49 <context>http</context>
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
50 <context>server</context>
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
51 <context>location</context>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
52
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
53 <para>
376
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
54 Задаёт файл DTD, в котором описаны символьные сущности.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
55 Этот файл компилируется на стадии конфигурации.
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
56 По техническим причинам модуль не имеет возможности
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
57 использовать внешнее подмножество, заданное в обрабатываемом XML,
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
58 поэтому оно игнорируется, а вместо него используется специально заданный файл.
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
59 В этом файле не нужно описывать структуру XML, достаточно только объявления
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
60 необходимых символьных сущностей, например:
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
61 <example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
62 &lt;!ENTITY nbsp "&amp;#xa0;"&gt;
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
63 </example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
64 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
65
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
66 </directive>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
67
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
68
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
69 <directive name="xslt_stylesheet">
376
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
70 <syntax>
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
71 <value>шаблон</value>
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
72 [<value>параметр</value>=<value>значение</value> ...]</syntax>
99
1d315ef37215 The case <default/> is now language-agnostic.
Ruslan Ermilov <ru@nginx.com>
parents: 76
diff changeset
73 <default/>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
74 <context>location</context>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
75
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
76 <para>
376
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
77 Задаёт XSLT-шаблон и необязательные параметры для этого шаблона.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
78 Шаблон компилируется на стадии конфигурации.
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
79 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
80
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
81 <para>
376
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
82 Параметры можно задавать как по отдельности, так и группировать
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
83 в одной строке, разделяя символом “<literal>:</literal>”.
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
84 Если же в самих параметрах встречается символ “<literal>:</literal>”,
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
85 то его нужно экранировать в виде “<literal>%3A</literal>”.
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
86 Кроме того, необходимо помнить о требовании <command>libxslt</command>,
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
87 чтобы параметры, содержащие не только алфавитно-цифровые символы,
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
88 были заключены в одинарные или двойные кавычки, например:
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
89 <example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
90 param1='http%3A//www.example.com':param2=value2
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
91 </example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
92 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
93
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
94 <para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
95 В описании параметров можно использовать переменные, например,
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
96 целая строка параметров может быть взята из одной переменной:
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
97 <example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
98 location / {
376
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
99 xslt_stylesheet /site/xslt/one.xslt
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
100 $arg_xslt_params
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
101 param1='$value1':param2=value2
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
102 param3=value3;
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
103 }
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
104 </example>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
105 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
106
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
107 <para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
108 Можно указать несколько шаблонов — в этом случае они
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
109 будут применяться последовательно в порядке их описания.
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
110 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
111
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
112 </directive>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
113
376
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
114
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
115 <directive name="xslt_types">
271
4c6d2c614d2c Cleaned up XML tag mess:
Ruslan Ermilov <ru@nginx.com>
parents: 222
diff changeset
116 <syntax><value>mime-тип</value> ...</syntax>
102
c76a257f3fd4 The directive name is now automatically printed in <default> and <syntax>.
Ruslan Ermilov <ru@nginx.com>
parents: 99
diff changeset
117 <default>text/xml</default>
376
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
118 <context>http</context>
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
119 <context>server</context>
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
120 <context>location</context>
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
121
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
122 <para>
376
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
123 Разрешает преобразования в ответах с указанными MIME-типами
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
124 в дополнение к “<literal>text/xml</literal>”.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
125 Если в результате преобразования выдаётся HTML-ответ, то его MIME-тип
376
a837069db70d Revision.
Ruslan Ermilov <ru@nginx.com>
parents: 271
diff changeset
126 меняется на “<literal>text/html</literal>”.
76
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
127 </para>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
128
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
129 </directive>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
130
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
131 </section>
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
132
4a4caa566120 Russian documentation import.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
133 </module>