Я немного расширю запрос, детальнее опишу проблему. Есть шаблон contractcard.1=card_inet.xsl:Карта регистрации. Он стандартный. На его основе попытались выстроить свои собственные документы. Но возникла потребность сделать выборку по ТП, например:
Код:
Абонент ФИО, ТП по локальной сети <Выборка из ТП на договоре>, в Интернет <Выборка из ТП на договоре>.
Саму выборку ясно как организовать. Вопрос в другом: card_inet.xsl имеет более-менее уловимую структуру, но не понятно как организовать <Выборку из ТП на договор>.
Например, код card_inet.xsl (просто хочу понять):
Код:
<xsl:template match="/card">
<xsl:variable name="contract_title" select="contract/@title" />
<xsl:variable name="contract_comment" select="contract/@comment" />
<xsl:variable name="fio" select="parameters/parameter[@pid=4]/@value" />
<xsl:variable name="address" select="parameters/parameter[@pid=19]/@value" />
<xsl:variable name="phone" select="parameters/parameter[@pid=6]/@value" />
<xsl:variable name="email" select="parameters/parameter[@pid=20]/@value" />
<xsl:variable name="tariff_plan" select="contract/@tariff_plan" />
<xsl:variable name="pswd" select="contract/@pswd" />
<xsl:variable name="inet_title" select="'Internet'" />
<xsl:variable name="inet_mid" select="'6'" />
<xsl:variable name="email_title" select="'Email'" />
<xsl:variable name="email_mid" select="'1'" />
В данном куске кода описывается template, соответствующему card
Код:
<xsl:template match="/card">
откуда собственно и берутся значения и переменные. Как получить массив ТП из контракта?
Код:
<xsl:variable name="tariff_plan" select="contract/@tariff_plan" />
Эта часть выбирает первый, из наименьшего по id, дальнейшие не выбираются. Подскажите, лучше примером, как осуществить такую выборку по ТП?