Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

XML+XSL Работа с условиями

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> XML+XSL Работа с условиями
Имя
Сообщение << Старые топики   Новые топики >>
XML+XSL Работа с условиями - 2009-10-06 09:53:27.590000   
XIO

Сообщений: 45
Оценки: 0
Присоединился: 2005-04-05 06:02:19
Всем доброго времени суток.
Ничего не могу по сабжу найти в гугле. И метод логического тыка не помогает.

В общем есть шаблон для XML вида XSL
Есть XML примерного такого вида:
&lt;MAIN&gt; &nbsp; &lt;Input&gt; &nbsp;&nbsp; ..тэги.. &nbsp; &lt;/Input&gt; &nbsp; &lt;Result&gt; &nbsp;&nbsp;&nbsp; &lt;Tax&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ..тэги.. &nbsp;&nbsp;&nbsp; &lt;/Tax&gt; &nbsp;&nbsp;&nbsp; &lt;MNR&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ..тэги.. &nbsp;&nbsp;&nbsp; &lt;/MNR&gt; &nbsp; &lt;/Result&gt; &nbsp;&lt;/MAIN&gt;
В шаблоне на случай отсутсвия скажем данных по MNR использую такую конструкцию:
&lt;xsl:if test="MAIN/Result/MNR!=0" &gt; ..цикл и т.д. .. &lt;/xsl:if&gt; Работает, при отсутствии <MNR> таблица с данными на страничку не выводится. Если есть, выводиться.

Теперь следующая задача. В теги <Tax> есть два тега данных. BeginDate и EndDate, они могут быть, а могут не быть, причем если дата пуста тэг просто отсутствует. Пытаюсь делать сравнение как и с MNR но оно в данном случае не работает вообще никак. Каким ещё образом я могу узнать, имеется ли у меня в блоке Tax скажем EndDate или такого поля нет.

Буду рад за хороший совет. Надеюсь вопрос разместил в правильном месте.
Post #: 1
RE: XML+XSL Работа с условиями - 2009-10-06 10:55:29.243333   
XIO

Сообщений: 45
Оценки: 0
Присоединился: 2005-04-05 06:02:19
Все просто оказалось. Объявляем переменную и затем делаем сравнение, длины строки:
&lt;xsl:variable name="ED" select="EndDate" /&gt; &lt;xsl:if test="string-length($ED)=0" &gt; ...
Post #: 2
RE: XML+XSL Работа с условиями - 2009-10-06 12:26:29.590000   
XIO

Сообщений: 45
Оценки: 0
Присоединился: 2005-04-05 06:02:19
В общем-то я заморочился изначально, можно без переменных это делать. Просто проверить длинну строки и все.
&lt;xsl:if test="string-length(EndDate)=0" &gt;
EndDate это поле которое может быть и может не быть в группе полей.
Post #: 3
Страниц:  [1]
Все форумы >> [Веб-программинг] >> XML+XSL Работа с условиями







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.