2014-03-07 24 views
0

基本上我一直在試圖得到一個菜單,看起來像這樣:http://i.stack.imgur.com/w775Z.png (編輯 - 對不起,代碼中的語言,我可以翻譯一切成英文,如果需要)XSLT/XML製作一個咖啡館菜單,2個foreach

但是,我使用的代碼只顯示了2條綠線http://i.stack.imgur.com/fs1Hc.png,省略了您可以訂購的「盤子」(在深青色線條中)。如果我刪除第一個foreach,它會正確放置菜餚(沒有綠線信息)。

我的XML代碼:

<?xml version="1.0" encoding="UTF-8" ?> 
<?xml-stylesheet type="text/xsl" href="meniu.xsl" ?> 
<meniu> 
<laikas> 
<kas>PUSRYČIAI</kas> 
<patiekalas> 
<pavadinimas>SUMUŠTINIAI SU SŪDYTA LAŠIŠA</pavadinimas> 
<kaina>12 Lt</kaina> 
<aprasymas>skrudinta balta duona, žalias padažas, alyvuogės, lašiša, citrina</aprasymas> 
<kalorijos>650</kalorijos> 
</patiekalas> 
<patiekalas> 
<pavadinimas>KAIMIŠKA KIAUŠINIENĖ</pavadinimas> 
<kaina>11 Lt</kaina> 
<aprasymas>kepti kiaušiniai, rūkyta šoninė, šviežios daržovės, skrudinta duona</aprasymas> 
<kalorijos>880</kalorijos> 
</patiekalas> 
</laikas> 
<laikas> 
<kas>PIETŪS</kas> 
<patiekalas> 
<pavadinimas>SUMUŠTINIAI SU SŪDYTA LAŠIŠA</pavadinimas> 
<kaina>12 Lt</kaina> 
<aprasymas>skrudinta balta duona, žalias padažas, alyvuogės, lašiša, citrina</aprasymas> 
<kalorijos>650</kalorijos> 
</patiekalas> 
</laikas> 
</meniu> 

我的XSL代碼:

<?xml version="1.0" encoding="UTF-8" ?> 
<html xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns="http://www.w3.org/1999/xhtml"> 
<body style="font-family:Arial,helvetica,sans-serif;font-size:12pt; background- color:#EEEEEE"> 
<xsl:for-each select="meniu/laikas"> 
<div style="background-color:green;color:black;padding:4px"> 
<span style="font-weight:bold;color:white"><xsl:value-of select="kas" /></span> 
</div> 
<xsl:for-each select="meniu/laikas/patiekalas"> 
<div style="background-color:teal;color:white;padding:4px"> 
<span style="font-weight:bold;color:white"><xsl:value-of select="pavadinimas" /></span> 
<span style="margin-left:10px;font-size:10pt"><xsl:value-of select="kaina" /></span> 
</div> 
<div style="margin-left:20px;margin-bottom:1em;font-size:10pt"><xsl:value-of 
select="aprasymas" /> 
<span style="font-style:italic">(<xsl:value-of select="kalorijos" /> kalorijų) 
</span> 
</div> 
</xsl:for-each> 
</xsl:for-each> 
</body> 
</html> 

回答

0

嘗試改變的第二<for-each />./patiekalas的XPath的選擇:

<xsl:for-each select="patiekalas"> 

這是因爲在第一個<for-each />裏面,上下文節點分別是meniu/laikas

+0

哇,這很快,它實際上工作!非常感謝,我想我實際上正在做SOMEWHAT正確的事情! – GytisK

+0

既然我坐在這裏等着把這個標記爲正確的答案,你還可以告訴我如何在藍綠色和綠色的酒吧之間增加一點空間嗎? – GytisK

+0

嗨!我認爲這是一個CSS問題。嘗試在適用的地方添加「margin-top」或「margin-bottom」。 – hielsnoppe