Модераторы: diadiavova
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как проверить существует ли файл, Is file exist? 
:(
    Опции темы
t77
  Дата 29.12.2010, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 27.7.2008

Репутация: нет
Всего: нет



Доброе время суток.

На сервере имеются несколько разных стилей(файлов css):
Theme1.css, Theme2.css, Theme3.css.

Каждый из которых расположен в пронумерованных папках...
Таким образом файл - Theme1.css, находится в папке 1
                         файл - Theme2.css, находится в папке 2
                         файл - Theme3.css, находится в папке 3

При запросе клиента обрабатывается файл xml и возвращаем html. За данную работу отвечает xsl.
На входе, в файле xsl, получаю xml и строю html документ ...

При запросе, клиент посылает параметр theme, через url.
В зависимости от данного параметра(theme=1 или theme=2 или theme=3), необходимо полключить определенный файл стилей(css) к
Код


<!-- сервер -->
<xsl:value-of select="$domainName"/>
<!-- параметр полученный из url -->
<xsl:value-of select="$Theme"/>      
                        <LINK rel="stylesheet" type="text/css">
                              <xsl:attribute name="href">
                                    <xsl:choose>
                                          <xsl:when test="$Theme =''">
                                                <xsl:value-of select="$domainName"/>
                                                <xsl:text>Theme.css</xsl:text>
                                          </xsl:when>
                                          <xsl:otherwise>
                                                <xsl:value-of select="$domainName"/>   
            <xsl:text>/</xsl:text>
                                                <xsl:value-of select="$Theme"/>
                                                <xsl:text>/</xsl:text>
                                                <xsl:text>Theme</xsl:text>
                                                <xsl:value-of select="$Theme"/>
                                                <xsl:text>.css</xsl:text>
                                          </xsl:otherwise>
                                    </xsl:choose>
                              </xsl:attribute>
                        </LINK>   


Вышеприведенный код находится в том самом месте, где строим HEAD документа...

Дело в том, что клиент может послать любое значение параметра Theme... Чтобы предотвратить недоразумения, мне необходимо проверить на существование файла css, прежде чем подключать его...  
1. получаю число 77 ($Theme = 77)
2. проверяю существует ли папка обозванная 77 или существует ли файл по адресу:
<xsl:value-of select="$domainName"/>
<xsl:text>/</xsl:text>
<xsl:value-of select="$Theme"/>
<xsl:text>/</xsl:text>
<xsl:text>Theme</xsl:text>
<xsl:value-of select="$Theme"/>
<xsl:text>.css</xsl:text>

Вопрос, можно ли сделать данную проверку (2) средствами xsl ??

Если да то как? Если нет, то как быть?
Спасибо.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "XML/XSLT"
diadiavova

Прежде чем опубликовать вопрос, попробуйте воспользоваться поиском - возможно тема уже поднималась.

Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение.

Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел

Желаем удачи в Вашем деле!


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, diadiavova.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | XML, XSL | Следующая тема »


 




[ Время генерации скрипта: 0.0486 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.