В моем преобразовании XSLT у меня есть две строки анализа, которые мне нужно использовать для обработки одного узла. Они работают отлично один за другим, но я не знаю, как их собрать.Как использовать две разные аналитические строки для одного узла
XML документ выглядит следующим образом:
<article>
<title>Article 1</title>
<text><![CDATA[Lorem ipsum dolor sit amet, s consectetur adipiscing elit. Donec lorem diam, eleifend sed mollis id, condimentum in velit.
Sed sit amet erat ac mauris adipiscing elementum. Pellentesque eget quam augue, id faucibus magna.
Ut malesuada arcu eu elit sodales sodales. Morbi tristique porttitor tristique. Praesent eget vulputate dui. Cras ut tortor massa, at faucibus ligula.]]></text>
</article>
Вот мой XSLT:
<xsl:template match="/">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Page title</title>
</head>
<body>
<xsl:for-each select="article">
<h1><xsl:value-of select="./title"/></h1>
<!-- This adds paragraphs tags instead of empty lines in the text -->
<xsl:analyze-string select="./text" regex="
">
<xsl:non-matching-substring>
<p>
<xsl:value-of select="." disable-output-escaping="yes"/>
</p>
</xsl:non-matching-substring>
</xsl:analyze-string>
<!-- This is Czech language specific. It looks for ' s ' (or other letter) and changes second space for . So after that it is ' s '. -->
<xsl:analyze-string select="./text" regex="(\s[k/K/s/S/v/V/z/Z]\s)">
<xsl:matching-substring>
<xsl:text> </xsl:text>
<xsl:value-of select="replace(., ' ','')" disable-output-escaping="yes"/>
<xsl:text disable-output-escaping="yes"><![CDATA[ ]]></xsl:text>
</xsl:matching-substring>
<xsl:non-matching-substring>
<xsl:value-of select="." disable-output-escaping="yes"/>
</xsl:non-matching-substring>
</xsl:analyze-string>
</xsl:for-each>
</body>
</html>
</xsl:template>
мне нужно применить и проанализировать-строк на генерируемый текст таким образом, есть <p>
теги для пунктов, а также добавил,
в нужных местах.
Мой желаемый результат будет выглядеть следующим образом:
<h1>Article 1</h1>
<p>Lorem ipsum dolor sit amet, s consectetur adipiscing elit. Donec lorem diam, eleifend sed mollis id, condimentum in velit.</p>
<p>Sed sit amet erat ac mauris adipiscing elementum. Pellentesque eget quam augue, id faucibus magna.</p>
<p>Ut malesuada arcu eu elit sodales sodales. Morbi tristique porttitor tristique. Praesent eget vulputate dui. Cras ut tortor massa, at faucibus ligula.</p>
Любая идея, как это сделать? Спасибо, что нашли время и пытались мне помочь.
Вы забыли предоставить исходный XML-документ. Пожалуйста, отредактируйте вопрос и предоставьте это. –
Пояснения искали. Пожалуйста, см. Раздел примечаний в моем ответе. –