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>