2013-10-07 128 views
0

我正在嘗試做一些轉換。到目前爲止,所有內容都看起來正確,但XSLT無法獲得其中一個節點(@Curl)的值,而另一個節點(@Name)的值正確。 繼承人是XSLT:XSLT屬性問題

<?xml version="1.0" encoding="utf-8"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl" 
> 
    <xsl:output method="xml" indent="yes"/> 
    <xsl:template match="/"> 
    <xsl:for-each select="Menu/Category"> 
     <h3> 
     <i class="icon-cube"></i> 
     <xsl:value-of select="MainCategory/@Name"/> 
     </h3> 
     <ul class="listview fluid"> 
     <xsl:for-each select="MainCategory/SubCategory"> 
      <li> 
      <xsl:element name="a"> 
       <xsl:attribute name="href"> 
       <xsl:value-of select="@CUrl"/> 
       </xsl:attribute> 
       <xsl:value-of select="@Name"/> 
      </xsl:element> 
      </li> 
     </xsl:for-each> 
     </ul> 
    </xsl:for-each> 
    </xsl:template> 
</xsl:stylesheet> 

和XML是在這裏:

<?xml version="1.0" encoding="utf-8"?> 
<Menu> 
    <Category> 
    <MainCategory Name="Транспорт"></MainCategory> 
    </Category> 
    <Category> 
    <MainCategory Name="Недвижимость"> 
     <SubCategory CURL="http://shop.bubaport.ru/category/1" Name="Продажа"></SubCategory> 
     <SubCategory CURL="http://shop.bubaport.ru/category/2" Name="Покупка"></SubCategory> 
     <SubCategory CURL="http://shop.bubaport.ru/category/3" Name="Аренда"></SubCategory> 
    </MainCategory> 
    </Category> 

回答

3

屬性名稱是區分大小寫的。在你的XML,您有:

<SubCategory CURL="http://shop.bubaport.ru/category/1" Name="Продажа"> 

但在你的XSL,你寫道:

<xsl:value-of select="@CUrl"/> 

嘗試改變,爲:

<xsl:value-of select="@CURL"/> 
+0

所以乾脆。是的,它工作。 –

0

XML是區分大小寫的。 XSL中提到的屬性名稱與XML不匹配。嘗試下面的行。

<xsl:value-of select="@CURL"/> 

問候,