powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Мне очень интересно
10 сообщений из 10, страница 1 из 1
Мне очень интересно
    #34343491
SuSa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет. Мне очень инетерсно как такую структуру можно описать в xslt
<Шаблон>

<применить к= (внешний параметр ($A))>
<правила по обработке чего=(внешний параметр ($B)/>
</применить>

<применить к= (внешний параметр($B))>
<правила по обработке чего=(внешний параметр ($A)/>
</применить>

</Шаблон>

<Другой Шаблон>
<Параметр= A значение= '...'/>
<Параметр= B значение= '...'/>
</Другой Шаблон>
в xsl такое можно описать как вызов функции с передачей ей параметров. но есть одна загвоздочка количесвто параметров и их порядок вызова(/передачи) за ранее не изветсен.
Есть идеи?
...
Рейтинг: 0 / 0
Мне очень интересно
    #34344606
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
при вызове именованного шаблона количество параметров известно заранее, а порядок не играет роли, т.к. они именованные
...
Рейтинг: 0 / 0
Мне очень интересно
    #34345863
SuSa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Допустим порядок передачи параметров не имеет значения, но передаются ведь не параметры а их значения, а если порядок вызова того или иного параметра заранее не известен, то по логике передаваемые значения присвоются в порядке вызова
т.е допустим:
a=1
b=2
Функция (1,2)

вызов
$b
$a
то по логике $b=1, $a=2, что не правильно,
или я что то неправильно перевел?
может есть другой способ передачи параметров, если знаешь напиши пример
И еще есть такой вариан, что какая то переменная и ее значение может быть объявлена ранее или внутри вызова, таким образом в вызове будет участвовать 3 переменные а функция будет передовать две?
...
Рейтинг: 0 / 0
Мне очень интересно
    #34347543
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть два типа передачи параметров: именованные и неименованные, в сишнике все параметры неименованные (и доступ осуществляется по их позиции в стеке), в васике можно передавать именованные, в хслт тоже именованные (доступ осуществляется по имени переменной)
функция(1,2) – это передача неименованных параметров
функция(a=1,b=2), функция(b=2,a=1) – передача именованных, порядок передачи не играет роли и эти два вызова эквивалентны: будет a=1, b=2.
...
Рейтинг: 0 / 0
Мне очень интересно
    #34349046
SuSa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Удивительно :) сам такое пробовал, не пошло
разница лишь в том что я умудрился поставить ковычки в указании значения (типа a='1') , валидатор на синтаксис не ругнуля но и не отработал.
Спасибо
...
Рейтинг: 0 / 0
Мне очень интересно
    #34349603
SuSa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это снова я. Чето не получается
Вот мой пример, xsl:
<xsl:template match="/">
<xsl:apply-templates select="inc:veb(//header)"/>
</xsl:template>

<xsl:function name="inc:veb">
<xsl:param name="eskd"/>
<xsl:for-each select="$eskd">
<!--Assert -->
<xsl:choose>
<xsl:when test="count($eskd[@xml:lang=current()/@xml:lang])=1"> uslovie vipolnilos' udachno </xsl:when>
<xsl:otherwise>lasa2</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:function>
xml: сдесь в 2-х полях одинаковый атрибут языка поставлен, что не верно
..
<header xml:lang="ru">Государственное образовательное учереждение высшего профессионального образования</header>
<header xml:lang="fr">The university</header>
<header xml:lang="fr">university</header>
..
результат:
<?xml version="1.0" encoding="UTF-8"?>
uslovie vipolnilos' udachno
lasa2
lasa2
что я делаю не так?
варианты <xsl:apply-templates select="inc:veb(eskd=//header)"/> и
<xsl:apply-templates select="inc:veb(eskd='//header')"/>
не работают
maXmo привиди пример плизз
...
Рейтинг: 0 / 0
Мне очень интересно
    #34349662
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всё правильно, а чего ты хотел?
...
Рейтинг: 0 / 0
Мне очень интересно
    #34349760
SuSa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чего хочу?
хочу передать более чем один параметр, и чтоб значения присвоились именно к тому кому надо
...
Рейтинг: 0 / 0
Мне очень интересно
    #34357301
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
w3.orgThe xsl:param elements define the formal arguments to the function. These are interpreted positionally . When the function is called using a function-call in an XPath expression, the first argument supplied is assigned to the first xsl:param element, the second argument supplied is assigned to the second xsl:param element, and so on.
...
Рейтинг: 0 / 0
Мне очень интересно
    #34357317
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
то есть параметры передаются, как в сишнике, по порядку.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Мне очень интересно
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]