Что такое максимальная длина для переменной XSL?
Я работаю над инструментом Velocity(теперь IBM Watson Data Explorer), который использует XSLT в качестве языка программирования для написания конвертеров для извлечения данных. У меня есть ситуация, когда я использую одну переменную XSL для хранения стольких значений (через запятую), из-за этого конвертер не может сканировать данные из файла XML. Я предполагаю, что это терпит неудачу из-за переменной, содержащей так много данных.
Образец XML:
<?xml version="1.0" encoding="UTF-8"?>
<atom:feed xmlns:atom=" " xmlns:wplc=" " xmlns:age=" ">
<atom:entry xml:lang="en">
<atom:id>0111111111</atom:id>
<atom:link href=""/>
<atom:content src=""/>
<wplc:securityId></wplc:securityId>
<atom:author>
<atom:name>2058281</atom:name>
<atom:email>abc@gmail.com</atom:email>
</atom:author>
<atom:category term="Support" scheme="" label="Support"/>
<atom:title xml:lang="en">General Report</atom:title>
<wplc:field id="Role">abc-11,def-103,fgh-31,ijk-111,lmn-91</wplc:field>
<wplc:field id="Country">N/A</wplc:field>
<atom:published>2017-03-02T15:35:48-05:00</atom:published>
<wplc:field id="Store">100,1000,1001,1002</wplc:field>
</atom:entry>
<atom:entry xml:lang="en">
</atom:entry>
<atom:entry xml:lang="en">
</atom:entry>
<atom:entry xml:lang="en">
</atom:entry>
</atom:feed>
В соответствии с требованием нам нужно создать переменную, которая будет иметь комбинацию ролей и хранилищ (каждая роль будет связана со всеми хранилищами).
Пример: abc-11-1000 abc-11-1001 abc-11-1002 def-103-1000 def-103-1001..so on. В одном случае у нас есть 220 ролей (через запятую) и 1000 магазинов (через запятую).
В настоящее время я использую два <xsl:for-each>
(внешний и внутренний) циклы для создания этой переменной, если значения ограничены, то она работает нормально, но в данном конкретном случае она терпит неудачу, где комбинация ролей и хранилищ огромна.
ПРИМЕЧАНИЕ: я не использую отдельный XSL-парсер, это часть инструмента под названием Velocity(поисковая система предприятия). так что это может быть ограничение инструмента.
но есть ли лучший способ справиться с этой проблемой с помощью XSLT?