2011-10-14 25 views
-1

我有一個XML這樣的事情爲給定的XML生成XSLT。錯誤:不匹配

<NavigatorItems> 
    <Navigator Name="Product"> 
    <ModifierName>Product1</ModifierName> 
    <ModifierLink>www.Product1.com</ModifierLink> 
    <ModifierName>Product2</ModifierName> 
    <ModifierLink>www.Product2.com</ModifierLink> 
    <ShowAll>www.ProductMain.com</ShowAll> 
    </Navigator> 

    <Navigator Name="Article"> 
    <ModifierName>Article1</ModifierName> 
    <ModifierLink>www.Article1.com</ModifierLink> 
    <ModifierName>Article2</ModifierName> 
    <ModifierLink>www.Article2.com</ModifierLink> 
    <ShowAll>www.ArticleMain.com</ShowAll> 
    </Navigator> 
</NavigatorItems> 

我需要表現出這樣的事情:

enter image description here

我嘗試以下XSLT,但它會拋出一些錯誤(不匹配): XML分析錯誤:標籤不匹配。預計:</ModifierName>

我的代碼:

<xsl:for-each select="NavigatorItems/Navigator"> 
    <xsl:variable name="link" select="ModifierLink"/> 
    <tr> 
    <td><a href ="{$link}"><xsl:value-of select="ModifierName"/></td> 
    </tr> 
    <xsl:test select="ShowAll"> 
    <xsl:variable name="linkShowAll" select="ShowAll"/> 
    <tr> <td> <a href="{$linkShowAll}"> View More Results <td> </tr> 
    </xsl:test> 
    </xsl:for-each> 

我要去哪裏錯了嗎?請推薦...

+0

請更精確地瞭解你的錯誤。 「有些錯誤」幾乎沒有用。此外,您顯示的XML在語法上無效。提供您的真實XML或更多關注您的模型。 – Tomalak

+0

嗨Tomalak ..謝謝你的答覆..其:XML解析錯誤:不匹配的標記。預期:

+0

正如我所說,你的「XML」在語法上是無效的。如果這真的是你想要處理的事情,那麼就打造這個混亂的人。 ;) – Tomalak

回答

1

您的代碼有許多問題。我想我已經解決所有這些,但讓我知道,如果您有任何這方面的問題:

<?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="html" encoding="UTF-8" indent="yes" /> 
    <xsl:template match="/"> 
     <xsl:for-each select="NavigatorItems/Navigator"> 
      <xsl:variable name="link" select="ModifierLink"/> 
      <tr> 
       <td> 
        <a><xsl:attribute name="href"><xsl:value-of select="ModifierLink"/></xsl:attribute><xsl:value-of select="ModifierName" /></a>          
       </td> 
      </tr> 
      <xsl:if test select="ShowAll != ''">  
       <tr> 
        <td> 
         <a><xsl:attribute name="href"><xsl:value-of select="ShowAll"/>View More Results</a>          
        </td> 
       </tr> 
      </xsl:test> 
     </xsl:for-each> 
    </xsl:template> 
</xsl:stylesheet> 
相關問題