Я использую Saxon9HE для преобразования XML 2.0. из класса Java; решение взято из этого более раннего вопроса
Я преобразовываю текст, разделенный двойными чертами, в XML.
Однако некоторые поля содержат резюме людей, и преобразование вызывает ошибку зацикливания, упомянутую в заголовке.
Есть ли способ исправить это? Я читал об увеличении максимальной глубины в стеке шаблонов, но это относится только к Oxygen; есть ли аналогичная настройка в Saxon9HE.jar?
Вот код, вы также можете нажать на ссылку выше, чтобы получить код
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes"/>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="str">
<xsl:copy>
<xsl:apply-templates select="@*"/>
<xsl:analyze-string select="." regex="\|((\|\s*[^|]+\s*\|)+)\|">
<xsl:matching-substring>
<xsl:analyze-string select="regex-group(1)" regex="\|\s*(\w+):([^|]+?)\s*\|">
<xsl:matching-substring>
<xsl:element name="{regex-group(1)}">
<xsl:value-of select="regex-group(2)"/>
</xsl:element>
</xsl:matching-substring>
</xsl:analyze-string>
</xsl:matching-substring>
<xsl:non-matching-substring>
<xsl:value-of select="."/>
</xsl:non-matching-substring>
</xsl:analyze-string>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
Спасибо,
-Xssкомандной строкиjava.exe, с которым вы запускаете свой код Java. - person Martin Honnen   schedule 02.08.2013