Mercurial > hg > nginx-site
comparison 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 |
comparison
equal
deleted
inserted
replaced
375:fa74f8061fc5 | 376:a837069db70d |
---|---|
1 <?xml version="1.0"?> | 1 <?xml version="1.0"?> |
2 | 2 |
3 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd"> | 3 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd"> |
4 | 4 |
5 <module name="Директивы модуля ngx_http_xslt_module" | 5 <module name="Модуль ngx_http_xslt_module" |
6 link="/ru/docs/http/ngx_http_xslt_module.html" | 6 link="/ru/docs/http/ngx_http_xslt_module.html" |
7 lang="ru"> | 7 lang="ru"> |
8 | 8 |
9 <section id="summary"> | 9 <section id="summary"> |
10 | 10 |
11 <para> | 11 <para> |
12 Модуль ngx_http_xslt_module — это фильтр, преобразующий XML-ответ | 12 Модуль <literal>ngx_http_xslt_module</literal> (0.7.8+) — это фильтр, |
13 с помощью одного или нескольких XSLT-шаблонов (0.7.8+). | 13 преобразующий XML-ответ с помощью одного или нескольких XSLT-шаблонов. |
14 По умолчанию модуль не собирается, нужно разрешить его сборку | 14 </para> |
15 при конфигурировании параметром <literal>--with-http_xslt_module</literal>. | 15 |
16 <para> | |
17 По умолчанию этот модуль не собирается, его сборку необходимо | |
18 разрешить с помощью конфигурационного параметра | |
19 <literal>--with-http_xslt_module</literal>. | |
20 <note> | |
16 Для сборки и работы этого модуля нужны библиотеки | 21 Для сборки и работы этого модуля нужны библиотеки |
17 <link url="http://www.xmlsoft.org">libxml2 и libxslt</link>. | 22 <link url="http://www.xmlsoft.org">libxml2 и libxslt</link>. |
23 </note> | |
18 </para> | 24 </para> |
19 | 25 |
20 </section> | 26 </section> |
21 | 27 |
22 | 28 |
23 <section name="Пример конфигурации" id="example"> | 29 <section id="example" name="Пример конфигурации"> |
24 | 30 |
25 <para> | 31 <para> |
26 <example> | 32 <example> |
27 location / { | 33 location / { |
28 xml_entities /site/dtd/entities.dtd; | 34 xml_entities /site/dtd/entities.dtd; |
29 xslt_stylesheet /site/xslt/one.xslt param=value; | 35 xslt_stylesheet /site/xslt/one.xslt param=value; |
30 xslt_stylesheet /site/xslt/two.xslt; | 36 xslt_stylesheet /site/xslt/two.xslt; |
31 } | 37 } |
32 </example> | 38 </example> |
33 </para> | 39 </para> |
34 | 40 |
35 </section> | 41 </section> |
36 | 42 |
37 | 43 |
38 <section name="Директивы" id="directives"> | 44 <section id="directives" name="Директивы"> |
39 | 45 |
40 <directive name="xml_entities"> | 46 <directive name="xml_entities"> |
41 <syntax><value>путь</value></syntax> | 47 <syntax><value>путь</value></syntax> |
42 <default/> | 48 <default/> |
43 <context>http, server, location</context> | 49 <context>http</context> |
50 <context>server</context> | |
51 <context>location</context> | |
44 | 52 |
45 <para> | 53 <para> |
46 Директива задаёт файл DTD, в котором описаны символьные сущности. | 54 Задаёт файл DTD, в котором описаны символьные сущности. |
47 Этот файл компилируется на стадии конфигурации. | 55 Этот файл компилируется на стадии конфигурации. |
48 По техническим причинам модуль не имеет возможности | 56 По техническим причинам модуль не имеет возможности |
49 использовать внешнее подмножество, заданное в обрабатываемом XML, | 57 использовать внешнее подмножество, заданное в обрабатываемом XML, |
50 поэтому оно игнорируется, а вместо него используется специально заданный файл. | 58 поэтому оно игнорируется, а вместо него используется специально заданный файл. |
51 В этом файле не нужно описывать структуру XML, достаточно только объявления | 59 В этом файле не нужно описывать структуру XML, достаточно только объявления |
57 | 65 |
58 </directive> | 66 </directive> |
59 | 67 |
60 | 68 |
61 <directive name="xslt_stylesheet"> | 69 <directive name="xslt_stylesheet"> |
62 <syntax><value>шаблон</value> [<value>параметр</value> ...]</syntax> | 70 <syntax> |
71 <value>шаблон</value> | |
72 [<value>параметр</value>=<value>значение</value> ...]</syntax> | |
63 <default/> | 73 <default/> |
64 <context>location</context> | 74 <context>location</context> |
65 | 75 |
66 <para> | 76 <para> |
67 Директива задаёт XSLT-шаблон и параметры для этого шаблона. | 77 Задаёт XSLT-шаблон и необязательные параметры для этого шаблона. |
68 Шаблон компилируется на стадии конфигурации. | 78 Шаблон компилируется на стадии конфигурации. |
69 Параметры задаются в формате | |
70 <example> | |
71 param=value | |
72 </example> | |
73 </para> | 79 </para> |
74 | 80 |
75 <para> | 81 <para> |
76 Их можно задавать как по отдельности, так и группировать | 82 Параметры можно задавать как по отдельности, так и группировать |
77 в одной строке, разделяя символом ":". | 83 в одной строке, разделяя символом “<literal>:</literal>”. |
78 Если же в самих параметрах встречается символ ":", то его нужно | 84 Если же в самих параметрах встречается символ “<literal>:</literal>”, |
79 экранировать в виде "%3A". | 85 то его нужно экранировать в виде “<literal>%3A</literal>”. |
80 Кроме того, необходимо помнить о требовании libxslt, чтобы параметры, | 86 Кроме того, необходимо помнить о требовании <command>libxslt</command>, |
81 содержащие не только алфавитно-цифровые символы, | 87 чтобы параметры, содержащие не только алфавитно-цифровые символы, |
82 были заключены в одинарные или двойные кавычки, например: | 88 были заключены в одинарные или двойные кавычки, например: |
83 <example> | 89 <example> |
84 param1='http%3A//www.example.com':param2=value2 | 90 param1='http%3A//www.example.com':param2=value2 |
85 </example> | 91 </example> |
86 </para> | 92 </para> |
88 <para> | 94 <para> |
89 В описании параметров можно использовать переменные, например, | 95 В описании параметров можно использовать переменные, например, |
90 целая строка параметров может быть взята из одной переменной: | 96 целая строка параметров может быть взята из одной переменной: |
91 <example> | 97 <example> |
92 location / { | 98 location / { |
93 xslt_stylesheet /site/xslt/one.xslt | 99 xslt_stylesheet /site/xslt/one.xslt |
94 $arg_xslt_params | 100 $arg_xslt_params |
95 param1='$value1':param2=value2 | 101 param1='$value1':param2=value2 |
96 param3=value3; | 102 param3=value3; |
97 } | 103 } |
98 </example> | 104 </example> |
99 </para> | 105 </para> |
100 | 106 |
101 <para> | 107 <para> |
103 будут применяться последовательно в порядке их описания. | 109 будут применяться последовательно в порядке их описания. |
104 </para> | 110 </para> |
105 | 111 |
106 </directive> | 112 </directive> |
107 | 113 |
114 | |
108 <directive name="xslt_types"> | 115 <directive name="xslt_types"> |
109 <syntax><value>mime-тип</value> ...</syntax> | 116 <syntax><value>mime-тип</value> ...</syntax> |
110 <default>text/xml</default> | 117 <default>text/xml</default> |
111 <context>http, server, location</context> | 118 <context>http</context> |
119 <context>server</context> | |
120 <context>location</context> | |
112 | 121 |
113 <para> | 122 <para> |
114 Директива разрешает замену строк в ответах с указанными MIME-типами | 123 Разрешает преобразования в ответах с указанными MIME-типами |
115 в дополнение к "text/xml". | 124 в дополнение к “<literal>text/xml</literal>”. |
116 Если в результате преобразования выдаётся HTML-ответ, то его MIME-тип | 125 Если в результате преобразования выдаётся HTML-ответ, то его MIME-тип |
117 меняется на "text/html". | 126 меняется на “<literal>text/html</literal>”. |
118 </para> | 127 </para> |
119 | 128 |
120 </directive> | 129 </directive> |
121 | 130 |
122 </section> | 131 </section> |