Получение аттрибута узла в XSL
От: Kazakovsky  
Дата: 22.11.02 11:36
Оценка:
Привет, коллеги!

Подскажите как в XSL получить значение аттрибута узла? Подозреваю, что нужно использовать xsl:attribute, но что-то у меня не работает. Все варианты перепробовал, MSDN прочитал, но примеры оттуда на моем документе не работают. Исходный XML.

<?xml version="1.0" standalone="yes"?>
<?xml-stylesheet type="text/xsl" href="2.xsl"?>
<TrafficReport>
<Filter Id="2">
<Sent>21122</Sent>
<Recv>4523487</Recv>
</Filter>
<Filter Id="3">
<Sent>154953</Sent>
<Recv>7199212</Recv>
</Filter>
</TrafficReport>

XSL для форматирования:

<?xml version="1.0"?>
<xsl:template xmlns:xsl="uri:xsl">
<HTML><BODY>
<table cellspacing="0" cellpadding="5" border="1">
<xsl:for-each select="TrafficReport/Filter">
<tr>
<td STYLE="font-family:Arial; font-size:12">
<xsl:attribute name="Id"><xsl:value-of select="@Id"/></xsl:attribute> <---- проблема здесь!!!
</td>
<td STYLE="font-family:Arial; font-size:12">
<xsl:value-of select="Sent"/>
</td>
<td STYLE="font-family:Arial; font-size:12">
<xsl:value-of select="Recv"/>
</td>

</tr>
</xsl:for-each>

</table>
</BODY>
</HTML>
</xsl:template>


С уважением,
Алексей Казаковский
Re: Получение аттрибута узла в XSL
От: Ursus Россия  
Дата: 22.11.02 11:41
Оценка:
Здравствуйте, Kazakovsky, Вы писали:

K>Привет, коллеги!


K>Подскажите как в XSL получить значение аттрибута узла? Подозреваю, что нужно использовать xsl:attribute, но что-то у меня не работает. Все варианты перепробовал, MSDN прочитал, но примеры оттуда на моем документе не работают. Исходный XML.


K><?xml version="1.0" standalone="yes"?>

K><?xml-stylesheet type="text/xsl" href="2.xsl"?>
K><TrafficReport>
K><Filter Id="2">
K> <Sent>21122</Sent>
K> <Recv>4523487</Recv>
K></Filter>
K><Filter Id="3">
K> <Sent>154953</Sent>
K> <Recv>7199212</Recv>
K></Filter>
K></TrafficReport>

K>XSL для форматирования:


K><?xml version="1.0"?>

K><xsl:template xmlns:xsl="uri:xsl">
K><HTML><BODY>
K><table cellspacing="0" cellpadding="5" border="1">
K> <xsl:for-each select="TrafficReport/Filter">
K><tr>
K> <td STYLE="font-family:Arial; font-size:12">
K> <xsl:attribute name="Id"><xsl:value-of select="@Id"/></xsl:attribute> <---- проблема здесь!!!


xsl:attribute применяется не для того что бы получить знаение из входящего документа, а для того что бы установить атрибут в выходяшем. А все остальное верно, попробуй убрать
xsl:attribute и и знаения оатриьутеов появятся

<xsl:value-of select="@Id"/> — это означает как ращз получить атрибут Id для текушего элемента

K> </td>

K> <td STYLE="font-family:Arial; font-size:12">
K> <xsl:value-of select="Sent"/>
K> </td>
K> <td STYLE="font-family:Arial; font-size:12">
K> <xsl:value-of select="Recv"/>
K> </td>

K></tr>

K> </xsl:for-each>

K></table>

K> </BODY>
K> </HTML>
K></xsl:template>

K>

K>С уважением,
K>Алексей Казаковский
Да пребудет с тобой Великий Джа
Re: Получение аттрибута узла в XSL
От: Lloyd Россия  
Дата: 22.11.02 11:47
Оценка:
Здравствуйте, Kazakovsky, Вы писали:

Так в вашем коде уже есть чтение атрибута:


<xsl:value-of select="@Id"/>
Re[2]: Получение аттрибута узла в XSL
От: Kazakovsky  
Дата: 22.11.02 11:57
Оценка:
Здравствуйте, Ursus, Вы писали:

Спасибо, <xsl:value-of select="@Id"/> работает!

K>>Привет, коллеги!


K>>Подскажите как в XSL получить значение аттрибута узла? Подозреваю, что нужно использовать xsl:attribute, но что-то у меня не работает. Все варианты перепробовал, MSDN прочитал, но примеры оттуда на моем документе не работают. Исходный XML.


U><xsl:value-of select="@Id"/> — это означает как ращз получить атрибут Id для текушего элемента


С уважением,
Алексей Казаковский
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.