Xpoint
   [напомнить пароль]

Реально ли сделать полосатые DIVы в XLST?

Метки: [без меток]
2009-03-04 18:49:44 [обр] walek[досье]

Имею XLST вида:

<?xml version="1.0" encoding="WINDOWS-1251"?>
<xsl:stylesheet
  version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:msxsl="urn:schemas-microsoft-com:xslt"
  xmlns:ext="urn:extension-functions"
  exclude-result-prefixes="msxsl ext">

<xsl:output method="html" indent="yes" encoding="windows-1251"/>

<xsl:template match="MENU">
<script type="text/javascript">
<xsl:comment>
<![CDATA[
function go(path, params) {
   path   = path || '';
    params = params || '';

    var query = location.search;
    if (query.length > 0 && params.length > 0) {
       query = query.replace(/&?id=[\d]+/gi, '') + '&';
        }
    else if (query.length == 0 && params.length > 0) {
       query += '?';
    }
    
    query += params;
   location = path + query;
}
//]]>
</xsl:comment>
</script>
<div style="font-weight: bold; font-size: 11pt; padding: 0 0 7 0; color: #63A730;">
   <xsl:value-of select="@Name" disable-output-escaping="yes" />&#160;
   <xsl:value-of select="@Date" disable-output-escaping="yes" />
</div>

<xsl:choose>
   <xsl:when test="count(//ITEM)&lt;10">
      <xsl:apply-templates mode="overflow" />
   </xsl:when>
   <xsl:otherwise>
      <div class="b-content">
         <xsl:apply-templates mode="overflow" />
      </div>
   </xsl:otherwise>
</xsl:choose>

<xsl:apply-templates select="ITEM" />
</xsl:template>

<xsl:template match="ITEM" mode="overflow">
    <div class="b-float-left">
        <a class="b-content-link" href="#" onclick="javascript:go('','id={@Code}'); return false;">
            <xsl:value-of select="@Name" disable-output-escaping="yes" />
        </a>
    </div>
    <div class="b-float-right" align="right">
        — <span style="background: #EAECEA; width: 55px; text-align: center; color: #3B56AF;">
            <xsl:value-of select="@Price" disable-output-escaping="yes" /> &#240;.
        </span>
    </div>
</xsl:template>

</xsl:stylesheet>

XML вида:

<?xml version="1.0" encoding="windows-1251"?>
<MENU
Name="Раздача"
Date="04.03.2009"
Price="0"
>

<ITEM
Name="Салат"
Code="2331"
Weight="100"
Price="22"
>
</ITEM>
</MENU>

Возможно ли реализовать табличную

<xsl:if test="position() mod 2 = 1">
        <xsl:attribute name="bgcolor">#E8F0FE</xsl:attribute>
</xsl:if>

для слоев?

спустя 1 час 6 минут [обр] Илья Cтpeльцын aka SelenIT(0/171)[досье]
Почему бы нет? Элементарная замена на <xsl:attribute name="style">background:#E8F0FE</xsl:attribute> разве не работает?
спустя 11 часов [обр] walek[досье]

Илья Cтpeльцын aka SelenIT[досье]
Спасибо!

Работает.

Powered by POEM™ Engine Copyright © 2002-2005