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

Помощь с функцией расширения

Метки: [без меток]
2009-03-02 17:59:35 [обр] walek[досье]

Доброго дня друзья!

Не знаю, право, куда запостить: в этот форум или в форум JavaScript, но наверное сюда.
Если считаете, что не сюда, прошу прощения.

Имею 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>

И т.д. (привел для примера 1 узел ITEM, остальные с одинаковыми атрибутами).

Имею 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"/>

<msxsl:script
    language="JavaScript"
    implements-prefix="ext">

<![CDATA[
function x() {
var sGetSearch = location.search;
document.write (sGetSearch);
}
]]>
</msxsl:script>

<xsl:template match="MENU">
<div class="b-content">
   <div style="font-weight: bold; font-size: 11pt; padding: 0 0 15 0; color: #63A730;">
      <xsl:value-of select="@Name" disable-output-escaping="yes" />&#160;
      <xsl:value-of select="@Date" disable-output-escaping="yes" />
   </div>
   <xsl:apply-templates mode="overflow" />
</div>
   <xsl:apply-templates select="ITEM" />
</xsl:template>

<xsl:template match="ITEM" mode="overflow">
   <div style="color: #4E6BCB; font-weight: bold; float: left; padding: 1 10 0 0;">
      <a href="default.asp?id={@Code}">
         <xsl:value-of select="@Name" disable-output-escaping="yes" />
      </a>
   </div> 
   <div style="font-size: 10pt;">
   —   <span style="background: #EAECEA; width: 55px; text-align: center; color: #3B56AF;">
         <xsl:value-of select="@Price" disable-output-escaping="yes" /> р.
      </span>
   </div>
   <div>
      
   </div>
</xsl:template>

Прошу обратить ваше внимание на строку
<a href="default.asp?id={@Code}">

Мне необходимо этот урл дополнить функцией расширения, т.е. после default.asp? вставить local.search
Т.е. урл должен выглядить так, но закодированно:
default.asp?day0=5&amp;id={@Code}

Поскольку day0=5 в XML отсутствует, мне необходимо "вытаскивать" параметр=значение из URL документа, который соответствует http://***/default.asp?day0=5

Я пытался "загнать" значение функции в параметр:
<xsl:param name="geturl">
<xsl:value-of select="ext:x()" disable-output-escaping="yes" />
</xsl:param>

и вставить:
<a href="default.asp?{@geturl}&amp;id={@Code}">

Но ничего не вышло.

Что я делаю не так?
Подскажите пожалуйста.

Спасибо!

Powered by POEM™ Engine Copyright © 2002-2005