سؤال

كيف يمكنك التفاف "متى" و "خلاف ذلك" يؤدي إلى علامة؟

في المثال الخاص بي ، حاولت إضافة Div ، لكن ينتهي به المطاف لف كل نتيجة.

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:php="http://php.net/xsl" version="1.0">
   <xsl:output method="xml" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" encoding="UTF-8" />
   <xsl:include href="vcardbook.xsl" />
   <xsl:template name="entriesLoopBook">
      <div id="team-posts">
         <xsl:for-each select="entries/entry ">
            <div>
               <xsl:choose>
                  <xsl:when test="$fid != 887">
                     <div class="physical">
                        <xsl:call-template name="vcardbook" />
                     </div>
                  </xsl:when>
                  <xsl:otherwise>
                     <div class="service">
                        <xsl:call-template name="vcardbook" />
                     </div>
                  </xsl:otherwise>
               </xsl:choose>
            </div>
         </xsl:for-each>
      </div>
      <div style="clear:both;" />
   </xsl:template>
</xsl:stylesheet>

نتيجة من الرمز أعلاه:

<div>
   <div class="physical"><div class="567"></div></div>
   <div class="physical"><div class="457"></div></div>
   <div class="physical"><div class="342"></div></div>
   <div  class="service"><div class="887"></div></div>
   <div  class="service"><div class="887"></div></div>
</div>

كيف أود أن تبدو:

<div>
   <div class="physical">
      <div class="567"></div>
      <div class="457"></div>
      <div class="342"></div>
   </div>
   <div  class="service">
     <div class="887"></div>
     <div class="887"></div>
   </div>
</div>

شكرا لك على مساعدتك.

هل كانت مفيدة؟

المحلول

كما أنا لا أوصي باستخدام for-each, ، ولكن لإجراء تغييرات أقل على الكود الخاص بك قدر الإمكان ، جرب هذا:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:php="http://php.net/xsl" version="1.0">
   <xsl:output method="xml" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" encoding="UTF-8" />
   <xsl:include href="vcardbook.xsl" />
   <xsl:template name="entriesLoopBook">
      <div id="team-posts">
         <div>
            <div class="physical">
              <xsl:for-each select="entries/entry[<wherever you get $fid from> != 887">
                <xsl:call-template name="vcardbook"/>
              </xsl:for-each>
            </div>
            <div class="service">
              <xsl:for-each select="entries/entry[<wherever you get $fid from> = 887">
                <xsl:call-template name="vcardbook"/>
              </xsl:for-each>
            </div>
         </dv>
      </div>
      <div style="clear:both;" />
   </xsl:template>
</xsl:stylesheet>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top