Как подставить значение поля в XPath
От: Aeneas Россия  
Дата: 23.04.02 12:45
Оценка:
Всем привет
Есть небольшая проблемка.
Это фрагмент исходного файла:


<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XML Spy v4.3 U (http://www.xmlspy.com) by John Carpenter (PDMS - Projects) -->
<content stylesheet="attributevalues.xsl" username="Permanent User" userid="122" information="">
    <userattributegroups count="5">
        <userattributegroup id="2">
            <groupsequence>2</groupsequence>
            <description>Travel</description>
            <userattributes count="7">
                <attribute id="9" attributevalueid="0">
                    <name>country</name>
                    <description>Country</description>
                    <maxlength>50</maxlength>
                    <sequence>7</sequence>
                    <editable>no</editable>
                    <storageclass>C</storageclass>
                    <userattributetypedescription>lookup</userattributetypedescription>
                    <charvalue/>
                    <memovalue/>
                </attribute>
            </userattributes>
        </userattributegroup>
    </userattributegroups>
    <lookup count="2" name="country" codepresent="no" editable="yes" organisationpresent="no" descriptionlength="50">
        <element id="3" description="Afghanistan"/>
        <element id="6" description="Albania"/>
    </lookup>
</content>



Это фрагмент шаблона:


<select name="attr{@id}" size="1">
    <xsl:if test="editable='no' and charvalue!=''">
        <xsl:attribute name="disabled">true</xsl:attribute>
    </xsl:if>
    <option value="">
        Not specified
    </option>
    <xsl:for-each select="//lookup[@name='country']/element">
        <xsl:sort select="@description"/>
        <option>
            <xsl:if test="charvalue=@description">
                <xsl:attribute name="selected"/>
            </xsl:if>
            <xsl:attribute name="value">
                <xsl:value-of select="@description"/>
            </xsl:attribute>
            <xsl:value-of select="@description"/>
        </option>
    </xsl:for-each>
</select>


В результате получается комбобокс со списком, в данном случае стран.
Как можно в шаблоне вместо конкретного имени лукапа подставить значение поля. Соответствующие места выделены.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.