Re[5]: XSL: Как указать путь к узлу через строковою переменн
От: Lloyd Россия  
Дата: 01.11.06 15:15
Оценка: 3 (1)
Здравствуйте, lnu, Вы писали:


L>>В общем лучае да. Но в твое варианте должно хватить $CrntItem/*[local-name() = $CrntFLD]

lnu>Спасибо. Подходит идеально!

Для спасибо тут есть специальная кнопочка.
XSL: Как указать путь к узлу через строковою переменную?
От: lnu Украина  
Дата: 01.11.06 13:57
Оценка:
Можно-ли указать путь к узлу через строковою переменную?
T.е., :
<xsl:for-each select="data/docs/item"> 
    <xsl:variable name="CrntItem" select="."/> 
    <tr> 
    <xsl:for-each select="../../../structure/docs/fld"> 
        <td class="TbData"> 
        <xsl:variable name="CrntFLD" select="@name"/> <!--Получаем название узла--> 
        <xsl:value-of select="$CrntItem/$CrntFLD"/><!--А вот это не работает--> .....

Для такого XML:
<?xml version="1.0" encoding="windows-1251"?>
<?xml-stylesheet type="text/xsl" href="ShowList.xsl" ?>

<LIST>
<structure>
    <docs type="-2" Caption = "Справочник">
        <fld name ="DI"     type = "2" Caption = "Код"/>
        <fld name ="NameUA" type = "2" Caption = "Название укр"/>
        <fld name ="NameRU" type = "2" Caption = "Назва рус"/>
        <fld name ="AZ"     type = "5" Caption = "Изменения">
            <fld name ="Title"  type = "1" Caption = "Название изминения"/>    
            <fld name ="PCount" type = "1" Caption = "Страниц"/>
        </fld>
    </docs>
</structure>
<data>
    <docs>
        <item>
            <DI>Гост 124334-1234</DI>
            <NameUA>dfgdfg <BR/>dfgs dfgs dfg</NameUA>
            <NameRU>Название документа 1</NameRU>

        </item>
        <item>
            <DI>Гост 124334-4321</DI>
            <NameUA>Назва документу 2</NameUA>
            <NameRU>Название документа 2</NameRU>
            <AZ>
                <item>
                    <Title>Поправка 1</Title>
                    <PCount>12</PCount>
                </item>
                <item>
                    <Title><![CDATA[<I>Some htmltext</I>]]></Title>
                    <PCount>3</PCount>
                </item>
            </AZ>
        </item>
    </docs>
</data>
</LIST>



такой, например, вариант работает:

<xsl:value-of select="$CrntItem/FieldName"/>
а мне нужно, чтоб работал такой:
<xsl:variable name="CrntFLD" select="'FieldName'"/>
<xsl:value-of select="$CrntItem/$CrntFLD"/>
Возможно-ли это?
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили Титаник."
Re: XSL: Как указать путь к узлу через строковою переменную?
От: Lloyd Россия  
Дата: 01.11.06 14:14
Оценка:
Здравствуйте, lnu, Вы писали:

lnu>Можно-ли указать путь к узлу через строковою переменную?

здесь
Автор: SergeyP
Дата: 28.06.02
Re[2]: XSL: Как указать путь к узлу через строковою переменн
От: lnu Украина  
Дата: 01.11.06 14:37
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>здесь
Автор: SergeyP
Дата: 28.06.02

тоесть только через функции расширения?...
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили Титаник."
Re[3]: XSL: Как указать путь к узлу через строковою переменн
От: Lloyd Россия  
Дата: 01.11.06 14:43
Оценка:
Здравствуйте, lnu, Вы писали:

L>>здесь
Автор: SergeyP
Дата: 28.06.02

lnu>тоесть только через функции расширения?...

В общем лучае да. Но в твое варианте должно хватить $CrntItem/*[local-name() = $CrntFLD]
Re[4]: XSL: Как указать путь к узлу через строковою переменн
От: lnu Украина  
Дата: 01.11.06 15:13
Оценка:
L>В общем лучае да. Но в твое варианте должно хватить $CrntItem/*[local-name() = $CrntFLD]
Спасибо. Подходит идеально!
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили Титаник."
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.