2013-10-07 4 views
0

일부 변형을 시도하고 있습니다. 지금까지 모든 것이 정확 해 보였지만 XSLT는 노드 중 하나 (@ Curl)를 가져올 수없고 다른 노드 (@Name) 값은 올바르게됩니다.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은 여기에 있습니다 : : 을 Heres는 XSLT이다

<?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

속성 이름은 대소 문자를 구분합니다.

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

을하지만 당신의 XSL에서, 당신은 썼다 : 당신의 XML에서, 당신은

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

에 그 변경 시도 :

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

. 예, 작동 중입니다. –

0

XML 대소 문자를 구분합니다. XSL에 언급 된 속성 이름이 XML과 일치하지 않습니다. 아래 라인을 사용해보십시오.

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

감사합니다, 그래서 단순히

관련 문제