nginx-0.7.8

Denis F. Latypoff denis at gostats.ru
Tue Aug 5 17:13:45 MSD 2008


Hello Igor,

Tuesday, August 5, 2008, 6:52:48 PM, you wrote:

> On Tue, Aug 05, 2008 at 06:00:26PM +0700, Denis F. Latypoff wrote:

>> >> > По-моему, нужно брать
>> >> 1) style->>mediaType, если он не NULL
>> >> > 2) или последений не NULL mediaType из imports
>> >> 
>> >> согласен, тогда патч
>> 
>> > Патч очень сложный, я уже добавил эту функциональность + encoding.
>> 
>> Да, про encoding забыл. Я сделал так:
>> 
>>     if (sheet[i - 1].stylesheet->encoding) {
>> 
>>         r->headers_out.charset.len =
>>             ngx_strlen(sheet[i - 1].stylesheet->encoding);
>>         r->headers_out.charset.data =
>>             (u_char *) sheet[i - 1].stylesheet->encoding;
>>     }
>> 
>> 
>> > Мне нужно только понять порядок вложенных импорта. Что имеет приоритет,
>> > например, в такой ситуации:
>> 
>> > <xsl:output ...   (1)
>> > <xsl:import ...   (2)
>> 
>> > 1 или 2 ?
>> 
>> Так по спеке не разрешается, сначала должны быть импорты а потом
>> 
>> <xsl:output ... />
>> 
>> Так что будет ошибка компиляции, примерно такая:

> То есть, нужно искать по импортам до первого ненулевого mediaType ?
> Ну, и естественно, сначала проверять mediaType в самом xsl.

Да. И encoding тоже.

>> "xsltParseStylesheetTop: ignoring misplaced import element"
>> 
>> Да, еще, если в xsl файле ошибка синтаксиса, то nginx пишет об ошибке
>> компиляции, но стартует. При запросе - segfault.
>> 
>> Проверить не сложно...

> У меня выдаётся "xsltParseStylesheetFile(...) failed" и выходит.
> Можно пример ?

Да, сегфолт был из-за кривого патча,
было sheet[i] вместо sheet[i - 1] в одной строчке.

Так что все в порядке, за исключением одной штуки:

<xsl:output indent="yes" ... /> игнорится, в результирующем документе
все теги должны были выравниваться с отступом (удобно при отладке
бегать глазами по html-ке, в продакшене ставим indent="no" для
оптимизации размера)

Но и на indent="no" результат тоже не похож, html должен быть в одну
строчку.

Подозреваю, что SAX не умеет индетить...

-- 
Best regards,
 Denis                            mailto:denis at gostats.ru






More information about the nginx-ru mailing list