Если я хорошо понимаю этот вопрос, вы спрашиваете, как интерпретировать экранированную разметку не как текст, а как разметку.
Ответ :
Это не может быть сделано в чистом XSLT 1.0 или XSLT 2.0 (в XSLT 3.0 / XPath 3.0 может быть функция для анализа строки как XML).
Для этого вам нужно написать функцию расширения, которая принимает строку, анализирует ее как XML-документ и возвращает полученный XML-документ.
Следовательно, вместо :
<xsl:value-of select="BusinessDescription"/>
код, который использует эту функцию расширения, будет выглядеть примерно так :
<xsl:copy-of select="my:xml-parse(BusinessDescription)"/>
Сама функция расширения будет записана на вашем любимом PL и просто создаст объект XmlDocument
и попытается загрузить строку (с помощью метода, такого как LoadXml()
), а затем вернуть это XmlDocument
как результат.