Re[3]: помогите написать xpath
От: Lloyd Россия  
Дата: 23.11.07 11:30
Оценка: 1 (1)
Здравствуйте, omenelle, Вы писали:

O>Да, именно то, что мне было нужно!

O>Спасибо огромное

Для спасибо есть кнопка.
помогите написать xpath
От: omenelle Россия omenelle.livejournal.com
Дата: 22.11.07 15:18
Оценка:
Привет,

есть xml

<dictionary name="objectTypes">
<item value="papers" allow-netting="false"/>
<item value="physicals" allow-netting="true"/>
</dictionary>
<credit-limit-row>
<type name="papers"></type>
<type name="physicals"></type>
</credit-limit-row>

Нужно для всех элементов type из ветки <credit-limit-row> узнать, у всех ли соответствующих элементов item из ветки <dictionary> стоит атрибут allow-netting="false". Соответствие между ними такое: type/@name = item/@value.
Если это так, то вывести <xsl:attribute name="disabled"/>(причем только 1 раз!), иначе ничего не печатать.

Помогите плиз, а то что-то я запутался. Основная проблема у меня, чтобы disabled выводился только 1 раз.
Re: помогите написать xpath
От: Lloyd Россия  
Дата: 22.11.07 15:35
Оценка:
Здравствуйте, omenelle, Вы писали:

O>Нужно для всех элементов type из ветки <credit-limit-row> узнать, у всех ли соответствующих элементов item из ветки <dictionary> стоит атрибут allow-netting="false". Соответствие между ними такое: type/@name = item/@value.

O>Если это так, то вывести <xsl:attribute name="disabled"/>(причем только 1 раз!), иначе ничего не печатать.

O>Помогите плиз, а то что-то я запутался. Основная проблема у меня, чтобы disabled выводился только 1 раз.


Попробуй вот так:
<?xml version="1.0" encoding="utf-8"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output indent="yes"/>

    <xsl:template match="/">
        <result>
            <xsl:if test="not(//credit-limit-row/type[not(./@name = //dictionary/item[@allow-netting='false']/@value)])">
                <xsl:attribute name="disabled">disabled</xsl:attribute>
            </xsl:if>
        </result>
    </xsl:template>
</xsl:stylesheet>
Re[2]: помогите написать xpath
От: omenelle Россия omenelle.livejournal.com
Дата: 23.11.07 11:26
Оценка:
Да, именно то, что мне было нужно!
Спасибо огромное

L>Попробуй вот так:

L>
L><?xml version="1.0" encoding="utf-8"?>

L><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
L>    <xsl:output indent="yes"/>

L>    <xsl:template match="/">
L>        <result>
L>            <xsl:if test="not(//credit-limit-row/type[not(./@name = //dictionary/item[@allow-netting='false']/@value)])">
L>                <xsl:attribute name="disabled">disabled</xsl:attribute>
L>            </xsl:if>
L>        </result>
L>    </xsl:template>
L></xsl:stylesheet>
L>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.