Changeset 1619

Show
Ignore:
Timestamp:
06/09/08 14:44:58 (4 months ago)
Author:
mikey
Message:

optimize xsl

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/main/resources/xsl/stub.xsl

    r1614 r1619  
    266266      </xsl:attribute> 
    267267      <xsl:copy-of select="@*[local-name() != 'class']"/> 
    268       <ixsl:if> 
    269         <xsl:attribute name="test"> 
    270           <xsl:text>/document/request/value[@name = '</xsl:text> 
     268      <xsl:call-template name="stub:formerrors"> 
     269        <xsl:with-param name="itemid"> 
    271270          <xsl:value-of select="@id"/> 
    272271          <xsl:text>_</xsl:text> 
    273272          <xsl:value-of select="@id"/> 
    274           <xsl:text>']/errors</xsl:text> 
    275         </xsl:attribute> 
    276         <ixsl:for-each> 
    277           <xsl:attribute name="select"> 
    278             <xsl:text>/document/request/value[@name = '</xsl:text> 
    279             <xsl:value-of select="@id"/> 
    280             <xsl:text>_</xsl:text> 
    281             <xsl:value-of select="@id"/> 
    282             <xsl:text>']/errors/error</xsl:text> 
    283           </xsl:attribute> 
    284           <span class="form_error"> 
    285             <ixsl:choose> 
    286               <ixsl:when> 
    287                 <xsl:attribute name="test"> 
    288                   <xsl:text>messages/message[@locale = '</xsl:text> 
    289                   <xsl:value-of select="$lang"/> 
    290                   <xsl:text>']</xsl:text> 
    291                 </xsl:attribute> 
    292                 <ixsl:value-of> 
    293                   <xsl:attribute name="select"> 
    294                     <xsl:text>messages/message[@locale = '</xsl:text> 
    295                     <xsl:value-of select="$lang"/> 
    296                     <xsl:text>']/content</xsl:text> 
    297                   </xsl:attribute> 
    298                 </ixsl:value-of> 
    299               </ixsl:when> 
    300               <ixsl:when> 
    301                 <xsl:attribute name="test"> 
    302                   <xsl:text>messages/message[@locale = '</xsl:text> 
    303                   <xsl:value-of select="$lang_base"/> 
    304                   <xsl:text>']</xsl:text> 
    305                 </xsl:attribute> 
    306                 <ixsl:value-of> 
    307                   <xsl:attribute name="select"> 
    308                     <xsl:text>messages/message[@locale = '</xsl:text> 
    309                     <xsl:value-of select="$lang_base"/> 
    310                     <xsl:text>']/content</xsl:text> 
    311                   </xsl:attribute> 
    312                 </ixsl:value-of> 
    313               </ixsl:when> 
    314               <ixsl:otherwise> 
    315                 <ixsl:value-of select="messages/message[@locale = 'default']/content"/> 
    316               </ixsl:otherwise> 
    317             </ixsl:choose> 
    318           </span> 
    319         </ixsl:for-each> 
    320       </ixsl:if> 
     273        </xsl:with-param> 
     274      </xsl:call-template> 
    321275      <ul> 
    322276      <xsl:apply-templates/> 
    323277      </ul> 
    324278    </div> 
     279  </xsl:template> 
     280 
     281  <xsl:template match="stub:formerrors" name="stub:formerrors"> 
     282    <xsl:param name="itemid" select="@itemid"/> 
     283    <ixsl:if> 
     284      <xsl:attribute name="test"> 
     285        <xsl:text>/document/request/value[@name = '</xsl:text> 
     286        <xsl:value-of select="$itemid"/> 
     287        <xsl:text>']/errors</xsl:text> 
     288      </xsl:attribute> 
     289      <ixsl:for-each> 
     290        <xsl:attribute name="select"> 
     291          <xsl:text>/document/request/value[@name = '</xsl:text> 
     292          <xsl:value-of select="$itemid"/> 
     293          <xsl:text>']/errors/error</xsl:text> 
     294        </xsl:attribute> 
     295        <span class="form_error"> 
     296          <ixsl:choose> 
     297            <ixsl:when> 
     298              <xsl:attribute name="test"> 
     299                <xsl:text>messages/string[@locale = '</xsl:text> 
     300                <xsl:value-of select="$lang"/> 
     301                <xsl:text>']</xsl:text> 
     302              </xsl:attribute> 
     303              <ixsl:value-of> 
     304                <xsl:attribute name="select"> 
     305                  <xsl:text>messages/string[@locale = '</xsl:text> 
     306                  <xsl:value-of select="$lang"/> 
     307                  <xsl:text>']/content</xsl:text> 
     308                </xsl:attribute> 
     309              </ixsl:value-of> 
     310            </ixsl:when> 
     311            <ixsl:when> 
     312              <xsl:attribute name="test"> 
     313                <xsl:text>messages/string[@locale = '</xsl:text> 
     314                <xsl:value-of select="$lang_base"/> 
     315                <xsl:text>']</xsl:text> 
     316              </xsl:attribute> 
     317              <ixsl:value-of> 
     318                <xsl:attribute name="select"> 
     319                  <xsl:text>messages/string[@locale = '</xsl:text> 
     320                  <xsl:value-of select="$lang_base"/> 
     321                  <xsl:text>']/content</xsl:text> 
     322                </xsl:attribute> 
     323              </ixsl:value-of> 
     324            </ixsl:when> 
     325            <ixsl:otherwise> 
     326              <ixsl:value-of select="messages/string[@locale = 'default']/content"/> 
     327            </ixsl:otherwise> 
     328          </ixsl:choose> 
     329        </span> 
     330      </ixsl:for-each> 
     331    </ixsl:if> 
    325332  </xsl:template> 
    326333 
     
    490497        </xsl:otherwise> 
    491498      </xsl:choose> 
    492       <ixsl:if> 
    493         <xsl:attribute name="test"> 
    494           <xsl:text>/document/request/value[@name = '</xsl:text> 
     499      <xsl:call-template name="stub:formerrors"> 
     500        <xsl:with-param name="itemid"> 
    495501          <xsl:value-of select="$id"/> 
    496502          <xsl:text>_</xsl:text> 
    497503          <xsl:value-of select="@name"/> 
    498           <xsl:text>']/errors</xsl:text> 
    499         </xsl:attribute> 
    500         <ixsl:for-each> 
    501           <xsl:attribute name="select"> 
    502             <xsl:text>/document/request/value[@name = '</xsl:text> 
    503             <xsl:value-of select="$id"/> 
    504             <xsl:text>_</xsl:text> 
    505             <xsl:value-of select="@name"/> 
    506             <xsl:text>']/errors/error</xsl:text> 
    507           </xsl:attribute> 
    508           <br/><span class="form_field_error"> 
    509             <ixsl:choose> 
    510               <ixsl:when> 
    511                 <xsl:attribute name="test"> 
    512                   <xsl:text>messages/message[@locale = '</xsl:text> 
    513                   <xsl:value-of select="$lang"/> 
    514                   <xsl:text>']</xsl:text> 
    515                 </xsl:attribute> 
    516                 <ixsl:value-of> 
    517                   <xsl:attribute name="select"> 
    518                     <xsl:text>messages/message[@locale = '</xsl:text> 
    519                     <xsl:value-of select="$lang"/> 
    520                     <xsl:text>']/content</xsl:text> 
    521                   </xsl:attribute> 
    522                 </ixsl:value-of> 
    523               </ixsl:when> 
    524               <ixsl:when> 
    525                 <xsl:attribute name="test"> 
    526                   <xsl:text>messages/message[@locale = '</xsl:text> 
    527                   <xsl:value-of select="$lang_base"/> 
    528                   <xsl:text>']</xsl:text> 
    529                 </xsl:attribute> 
    530                 <ixsl:value-of> 
    531                   <xsl:attribute name="select"> 
    532                     <xsl:text>messages/message[@locale = '</xsl:text> 
    533                     <xsl:value-of select="$lang_base"/> 
    534                     <xsl:text>']/content</xsl:text> 
    535                   </xsl:attribute> 
    536                 </ixsl:value-of> 
    537               </ixsl:when> 
    538               <ixsl:otherwise> 
    539                 <ixsl:value-of select="messages/message[@locale = 'default']/content"/> 
    540               </ixsl:otherwise> 
    541             </ixsl:choose> 
    542           </span> 
    543         </ixsl:for-each> 
    544       </ixsl:if> 
     504        </xsl:with-param> 
     505      </xsl:call-template> 
    545506    </li> 
    546507  </xsl:template>