Что такое максимальная длина для переменной 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?

0 ответов

Другие вопросы по тегам