ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
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,

Wednesday, August 6, 2008, 8:07:38 PM, you wrote:

> On Wed, Aug 06, 2008 at 08:05:52PM +0700, Denis F. Latypoff wrote:

>> Hello Igor,
>> 
>> Wednesday, August 6, 2008, 7:14:36 PM, you wrote:
>> 
>> > On Wed, Aug 06, 2008 at 06:59:11PM +0700, Denis F. Latypoff wrote:
>> 
>> >> Hello Igor,
>> >> 
>> >> Wednesday, August 6, 2008, 5:59:03 PM, you wrote:
>> >> 
>> >> > On Wed, Aug 06, 2008 at 02:26:12PM +0400, Maxim Dounin wrote:
>> >> 
>> >> >> On Wed, Aug 06, 2008 at 01:43:15PM +0400, Igor Sysoev wrote:
>> >> >> 
>> >> >> [...]
>> >> >> >>> А вот что IMHO имеет смысл сделать - это last-modified возвращать 
>> >> >> >>> как 
>> >> >> >>> максимум из mtime исходного документа и шаблона (-ов).
>> >> >> >>
>> >> >> >>Да, это имеет смысл сделать, но при условии, что у xml есть 
>> >> >> >>last-modified.
>> >> >> >
>> >> >> >А как быть с параметрами ?
>> >> >> 
>> >> >> Если они берутся из агрументов - то очевидно вообще никак, url 
>> >> >> будет другой.  Если из каких-то других мест или непосредственно из 
>> >> >> конфига - то сложнее, ибо по хорошему надо ещё и учитывать mtime 
>> >> >> конфига, но это может выйти боком.
>> >> >> 
>> >> >> Я думаю что следует забить, параметры человек конфигурит сам и 
>> >> >> имеет возможность прописать expire так как считает нужным.
>> >> 
>> >> > В общем, на данный момент я вижу две проблемы:
>> >> > 1) параметры,
>> >> > 2) import'ы и include'ы в XSLT. Насколько я вижу, в скомплированном
>> >> >    шаблоне нет имён исходных файлов и откуда брать время модификции -
>> >> >    непонятно.
>> >> 
>> >> static void
>> >> ngx_http_xslt_last_modified(ngx_http_request_t *r, xsltStylesheetPtr s)
>> >> {
>> >>     ngx_file_info_t     fi;
>> >> 
>> >>     if (ngx_file_info(s->doc->URL, &fi) != -1)
>> >>     {
>> >>         ngx_log_debug2(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
>> >>                        "%s: %d", s->doc->URL, ngx_file_mtime(&fi));
>> >>     }
>> >> 
>> >>     for (s = s->imports; s; s = s->next) {
>> >>         ngx_http_xslt_last_modified(r, s);
>> >>     }
>> >> }
>> 
>> > Это уже лучше. А как там обстоят дела с относительными именами ?
>> 
>> В моих тестах, как бы я не импортил "/absolute/path/global.xsl" or
>> "../global.xsl", s->doc->URL всегда абсолютный...

> Это хорошо, а как быть с include'ами ?

include'ы у меня тоже NULL, как и у Максима Дунина.
Предлагаю забить на них.
А еще есть конструкции, типа

<xsl:variable name="included_doc" select="document('/etc/passwd.xml')" />
<xsl:template match="/">
  <xsl:value-of select="$included_doc/node1/node2" />
</xsl:template>

это как бы тоже include, предлагаю и на него забить.

-- 
Best regards,
 Denis                            mailto:denis@xxxxxxxxxx




 




Copyright © Lexa Software, 1996-2009.