Мне нужно проверить, содержит ли переменная xsl только одно слово или несколько разделенных запятыми слов в xslt.Как проверить, ограничена ли строковая переменная в XSL?
поскольку переменная является динамическим, его параметр, который отображает к URL строки запроса, который может быть либо STH так:
index.aspx?role=manager
или
index.aspx?role=manager,director
в XSLT, мне нужно, чтобы выяснить, параметр $ role - это просто одно слово или несколько разделенных запятыми слов. Если несколько слов, то мне нужно, чтобы извлечь каждое слово и сделать XSLT фильтрации на основе этих слов, как
/rows/row[role=extractedWord[1] or role = extractedWord[2]
так, что только те строки, соответствующие для менеджера или директора ролей возвращаются.
Возможно ли это?
UPDATE: У меня есть фильтр, как это:
<xsl:variable name="AllPerRole"
select="/dsQueryResponse/Rows/Row[contains(@EmployeeRoles,$Role)]" />
Если роль имеет только одно значение, как index.aspx?role=manager
то выше работает отлично. Но если роль несколько слов, как эти, index.aspx?role=manager,director
тогда мне нужно некоторый экстракт, что строка «менеджера, генеральный директор» и быть в состоянии сделать следующее:
<xsl:variable name="AllPerRole"
select="/dsQueryResponse/Rows/Row[contains(@EmployeeRoles,$Role{firstRole}) or contains(@EmployeeRoles,$Role{2ndRole})]" />
Какую версию XSLT? XSLT 2 имеет регулярные выражения, XSLT 1 - нет. – FrankPl
Для XSL 1.0, пожалуйста, – Athapali