Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re[2]: nginx-0.7.8
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@xxxxxxxxxx
|