comparison xml/ru/docs/http/ngx_http_xslt_module.xml @ 76:4a4caa566120

Russian documentation import. Changes in module.dtd: <example> now allowed to contain <value> and <emphasis> elements (we need this to show important parts in examples), less strict checking of <directive> syntax (we don't want to fully document some directives, notably deprecated ones). Known issues: 1. <syntax> elements are preserved as is, they will require manual conversion (likely to some not-yet-existed format a la DocBook cmdsynopsis, as currently used one seems to be incomplete); 2. <value> no longer corresponds to replaceable content, and it's use in examples isn't correct; 3. <link doc="document#fragment"> doesn't work with current xslt, either should be supported or changed to <link doc="document" id="fragment">. The following files are intentionally omitted: maillists.xml (support.xml should be used instead), experimental.xml (obsolete), faq.xml (conflicts with existing one, needs discussion). Not yet linked to site.
author Maxim Dounin <mdounin@mdounin.ru>
date Tue, 11 Oct 2011 12:57:50 +0000
parents
children 1d315ef37215
comparison
equal deleted inserted replaced
75:2bf4cd2787c5 76:4a4caa566120
1 <?xml version="1.0" encoding="utf-8"?>
2
3 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
4
5 <module name="Директивы модуля ngx_http_xslt_module"
6 link="/ru/docs/http/ngx_http_xslt_module.html"
7 lang="ru">
8
9 <section name="" id="summary">
10
11 <para>
12 Модуль ngx_http_xslt_module — это фильтр, преобразующий XML-ответ
13 с помощью одного или нескольких XSLT-шаблонов (0.7.8+).
14 По умолчанию модуль не собирается, нужно разрешить его сборку
15 при конфигурировании параметром <command>--with-http_xslt_module</command>.
16 Для сборки и работы этого модуля нужны библиотеки
17 <link url="http://www.xmlsoft.org">libxml2 и libxslt</link>.
18 </para>
19
20 </section>
21
22
23 <section name="Пример конфигурации" id="example">
24
25 <para>
26 <example>
27 location / {
28 xml_entities /site/dtd/entities.dtd;
29 xslt_stylesheet /site/xslt/one.xslt param=value;
30 xslt_stylesheet /site/xslt/two.xslt;
31 }
32 </example>
33 </para>
34
35 </section>
36
37
38 <section name="Директивы" id="directives">
39
40 <directive name="xml_entities">
41 <syntax>xml_entities <value>путь</value></syntax>
42 <default>нет</default>
43 <context>http, server, location</context>
44
45 <para>
46 Директива задаёт файл DTD, в котором описаны символьные сущности.
47 Этот файл компилируется на стадии конфигурации.
48 По техническим причинам модуль не имеет возможности
49 использовать внешнее подмножество, заданное в обрабатываемом XML,
50 поэтому оно игнорируется, а вместо него используется специально заданный файл.
51 В этом файле не нужно описывать структуру XML, достаточно только объявления
52 необходимых символьных сущностей, например:
53 <example>
54 &lt;!ENTITY nbsp "&amp;#xa0;"&gt;
55 </example>
56 </para>
57
58 </directive>
59
60
61 <directive name="xslt_stylesheet">
62 <syntax>xslt_stylesheet <value>шаблон [параметр ...]</value></syntax>
63 <default>нет</default>
64 <context>location</context>
65
66 <para>
67 Директива задаёт XSLT-шаблон и параметры для этого шаблона.
68 Шаблон компилируется на стадии конфигурации.
69 Параметры задаются в формате
70 <example>
71 param=value
72 </example>
73 </para>
74
75 <para>
76 Их можно задавать как по отдельности, так и группировать
77 в одной строке, разделяя символом ":".
78 Если же в самих параметрах встречается символ ":", то его нужно
79 экранировать в виде "%3A".
80 Кроме того, необходимо помнить о требовании libxslt, чтобы параметры,
81 содержащие не только алфавитно-цифровые символы,
82 были заключены в одинарные или двойные кавычки, например:
83 <example>
84 param1='http%3A//www.example.com':param2=value2
85 </example>
86 </para>
87
88 <para>
89 В описании параметров можно использовать переменные, например,
90 целая строка параметров может быть взята из одной переменной:
91 <example>
92 location / {
93 xslt_stylesheet /site/xslt/one.xslt
94 $arg_xslt_params
95 param1='$value1':param2=value2
96 param3=value3;
97 }
98 </example>
99 </para>
100
101 <para>
102 Можно указать несколько шаблонов — в этом случае они
103 будут применяться последовательно в порядке их описания.
104 </para>
105
106 </directive>
107
108 <directive name="xslt_types">
109 <syntax>xslt_types <value>mime-тип [mime-тип ...]</value></syntax>
110 <default>xslt_types text/xml</default>
111 <context>http, server, location</context>
112
113 <para>
114 Директива разрешает замену строк в ответах с указанными MIME-типами
115 в дополнение к "text/xml".
116 Если в результате преобразования выдаётся HTML-ответ, то его MIME-тип
117 меняется на "text/html".
118 </para>
119
120 </directive>
121
122 </section>
123
124 </module>