2015-06-17 3 views
0

Используя этот meniu.xsl файл:Создание для-каждого цикла внутри для-каждого рабочего процесса в XML файл

<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>&#160;</br> 
      </div> 
      <xsl:for-each select="patiekalas"> 
       <br>&#160;</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>&#160;</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, и это помогло, но я не мог исправить проблему, которую я описал здесь.

Любая помощь приветствуется.

ответ

1

Это не связано с XSLT; ваш XML не является корректным. Вы не можете иметь XML документ в виде

<?xml version='1.0'?> 
<menu>..</menu> 
<menu>..</menu> 

Вы должны добавить обертку элемент:

<?xml version='1.0'?> 
<menus> 
<menu>..</menu> 
<menu>..</menu> 
</menus> 
Смежные вопросы