2013-05-03 2 views
0

У меня есть XML (Здесь я показал только фрагмент и имеет несколько элементов управления,Создание HTML-тегов с помощью XSLT

<Control Name="submit" ID=""> 
    <Properties> 
    <Property Name="id" Value="btn_Submit" /> 
    <Property Name="value" Value="Submit" /> 
    </Properties> 
    </Control> 

и я хочу, чтобы получить HTML, как

<html> 
<head> 
    <title>example_htmlPage</title> 
</head> 

<body> 
    <input id="btn_Submit" type="submit" value="Submit"/> 
</body> 
</html>      

с помощью XSLT. Я написал, как XSLT

<?xml version="1.0" encoding="ISO-8859-1"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:template match="/"> 
    <html> 
    <head> 
     <title>example_htmlPage</title> 
    </head> 

    <body> 
     <xsl:apply-templates/> 
    </body> 
    </html> 
</xsl:template> 
<xsl:template match="/"> 
    <xsl:for-each select="//Control[@Name='submit']"> 
     <input type="submit" value="//Property/@Value/text()"/> 
    </xsl:for-each> 
    <xsl:apply-templates/> 
</xsl:template> 
</xsl:stylesheet> 

Итак, мой вопрос заключается в том, чтобы получить значение атрибута в HTML-тег? Я мог бы nt решить его, создав локальную переменную, а также используя

<input type="submit" value=&lt;xsl:select="(//Property/@Value/text())"/&gt;/> 

Пожалуйста, помогите мне.

ответ

1

<xsl:attribute> Используйте, чтобы добавить атрибут тега:

<input type="submit"> 
    <xsl:attribute name="value"><xsl:value-of select="./Properties/Property[@Name='value']/@Value" /></xsl:attribute> 
</input> 
+0

Это показывает кнопку без имени на нем. – Aditya

+0

@Aditya: исправлено, теперь работает. – Pino

+0

Да. Большое спасибо:-) – Aditya

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