使用此meniu.xsl文件:
<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">
<div style="background-color:#00FF00;color:white;padding:4px">
<span style="font-weight:bold;color:white">
<xsl:value-of select="laikas"/>
</span>
<br> </br>
</div>
<xsl:for-each select="patiekalas">
<br> </br>
<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>
<br> </br>
</xsl:for-each>
</xsl:for-each>
</body>
</html>
我可以运行这个meniu.xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="meniu.xsl" ?>
<meniu>
<laikas>PUSRYČIAI</laikas>
<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>
</meniu>
但是,一旦我编辑meniu.xml以将meniu标记中的所有内容加倍,就像这样:
<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="meniu.xsl" ?>
<meniu>
<laikas>PUSRYČIAI</laikas>
<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>
</meniu>
<meniu>
<laikas>PUSRYČIAI</laikas>
<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>
</meniu>
页面(meniu.xml)停止加载。如何编辑.xsl文件以便1)它加载2)我可以运行xml文件,标签内的所有内容都加倍?
我顺便看了For-each inside for-each,这有点帮助,但我无法解决我在这里描述的问题。
任何帮助表示赞赏。
答案 0 :(得分:1)
这与XSLT无关;你的XML格式不正确。您不能拥有
形式的XML文档<?xml version='1.0'?>
<menu>..</menu>
<menu>..</menu>
您需要添加包装元素:
<?xml version='1.0'?>
<menus>
<menu>..</menu>
<menu>..</menu>
</menus>