2014-12-08 4 views
2

Wanted HTML:Выберите значение атрибута первого узла предка

<table> 
<thead> 
    <tr> 
    <th>1</th> 
    <th>2</th> 
    </tr> 
</thead> 
<tbody> 
    <tr> 
    <td>a</td> 
    <td>b</td> 
    </tr> 
    <tr> 
    <td> 
    <table> 
    <tr> 
     <td>thisWidth</td> 
    </tr> 
    </table> 
    </td> 
    </tr> 
</tbody> 
</table> 

XML:

<row type='header'> 
<column width='150'>1</column> 
<column>2</column> 
<column type='tableintable' /> 
</row> 
<row type='data'> 
<column>a</column> 
<column>b</column> 
<column>thisWidth</column> 
</row> 

Все работает, как я хочу, я только хочу, чтобы установить ширину <td> элемента в HTML. Это должна быть ширина первого столбца заголовка XML.
Сейчас я использую это:

<xsl:attribute name="width"><xsl:value-of select="//row[@type='header']/@width[position() = 1]" /></xsl:attribute> 

Это не работает. Как я могу выбрать значение требуемого столбца?

ответ

0

Попробуйте это выражение XPath

<xsl:attribute name="width"> 
    <xsl:value-of select="//row[@type='header']/column[position() = 1]/@width" /> 
</xsl:attribute> 
+0

ли вы хотите сделать это, как этот '// грести [1] [@ типа = 'заголовок']/столбец [положение() = 1]/@ width' поэтому он гарантирует, что только первая строка будет выбрана в случае, если имеется несколько строк «заголовка». – Bensonius

Смежные вопросы