2013-01-19 2 views
0

부트 스트랩 프레임 워크 용 Composite C1에 탐색 메뉴를 만들려고하는데 메뉴에 하위 메뉴를 표시하는 방법을 모르겠습니다. 여기에 내가Twitter-Boostrap의 합성 C1 메뉴

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    xmlns:in="http://www.composite.net/ns/transformation/input/1.0" 
    xmlns:lang="http://www.composite.net/ns/localization/1.0" 
    xmlns:f="http://www.composite.net/ns/function/1.0" 
    xmlns="http://www.w3.org/1999/xhtml" 
    exclude-result-prefixes="xsl in lang f"> 
    <xsl:param name="sitemap" select="/in:inputs/in:result[@name='SitemapXml']/Page" /> 
    <xsl:template match="/"> 
    <html> 
     <head> 
     </head> 
     <body> 
     <div class="container"> 
      <div class="navbar"> 
      <div class="navbar-inner"> 
       <ul class="nav"> 
       <xsl:for-each select="$sitemap[@isopen='true']"> 
        <li> 
        <a href="{@URL}"> 
         <xsl:if test="@iscurrent='true'" > 
         <xsl:attribute name="class">active</xsl:attribute> 
         </xsl:if> 
         <xsl:value-of select="@MenuTitle" /> 
        </a> 
        </li> 
        <xsl:apply-templates select="Page" /> 
       </xsl:for-each> 
       </ul>    
      </div> 
      </div> 
     </div> 
     </body> 
    </html> 
    </xsl:template> 

    <xsl:template match="Page"> 
    <xsl:if test="count(@MenuTitle)"> 
     <li> 
     <a href="{@URL}"> 
      <xsl:if test="@isopen='true'" > 
      <xsl:attribute name="class">active</xsl:attribute> 
      </xsl:if> 
      <xsl:value-of select="@MenuTitle" /> 
     </a> 
     </li> 
    </xsl:if> 
    </xsl:template> 
</xsl:stylesheet> 

나는 하위 메뉴를 얻기 위해 추가 할 필요가 무엇인지 확실하지 오전을 것입니다. 제안?

+0

같은 뭔가를 시도? 출력은 어떻게 생겼을 까? – JLRishe

답변

1

은 입력이 생겼는데 이것이

<xsl:template match="/"> 
<html> 
    <head> 
    </head> 
    <body> 
    <div class="container"> 
     <div class="navbar"> 
     <div class="navbar-inner"> 
      <ul class="nav"> 
      <xsl:for-each select="$sitemap[@isopen='true']"> 
       <li> 
       <xsl:if test="@iscurrent='true'" > 
        <xsl:attribute name="class">active</xsl:attribute> 
       </xsl:if> 
       <a href="{@URL}"> 
        <xsl:value-of select="@MenuTitle" /> 
       </a> 
       </li> 
       <xsl:apply-templates select="Page" /> 
      </xsl:for-each> 
      </ul>    
     </div> 
     </div> 
    </div> 
    </body> 
</html> 
</xsl:template> 

<xsl:template match="Page"> 
<xsl:variable name="depth" select="@Depth" /> 
<xsl:variable name="isDropDown" select="count(./*) > 0 and $depth &lt; 3" /> 
<xsl:if test="count(@MenuTitle)"> 
    <li> 
    <xsl:if test="@isopen='true'" > 
     <xsl:attribute name="class">active</xsl:attribute> 
    </xsl:if> 
    <xsl:if test="$isDropDown" > 
     <xsl:attribute name="class">dropdown</xsl:attribute> 
    </xsl:if> 
    <a href="{@URL}"> 
     <xsl:if test="$isDropDown" > 
      <xsl:attribute name="class">dropdown-toggle</xsl:attribute> 
     </xsl:if> 
     <xsl:if test="$isDropDown" > 
      <xsl:attribute name="data-toggle">dropdown</xsl:attribute> 
     </xsl:if> 
     <xsl:value-of select="@MenuTitle" /> 
     <xsl:if test="$isDropDown" > 
      <b class="caret"></b> 
     </xsl:if> 
    </a> 
    <xsl:if test="$isDropDown"> 
     <ul class="dropdown-menu"> 
      <xsl:apply-templates select="./*" /> 
     </ul> 
    </xsl:if> 
    </li> 
</xsl:if>