I вы должны иметь структуру, вы делаете это:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="xs"
version="1.0">
<xsl:output indent="yes"/>
<xsl:template match="/">
<xsl:variable name="resp">
<TABLE>
<news_id>39</news_id>
<news_title>Strada – TSO</news_title>
<news_content>Extending the support to IFA’s family in form of income security by paying last drawn trail paid to IFA before the demise.</news_content>
<news_type>1</news_type>
<doc_url>upload/docs/12345.pdf</doc_url>
<doc_size>185859</doc_size>
<news_date>2014-09-19 12:54:11.0</news_date>
<is_enabled>1</is_enabled>
</TABLE>
</xsl:variable>
<!-- using copy-of to get the structure of the XML -->
<xsl:copy-of select="$resp" />
</xsl:template>
</xsl:stylesheet>
Если вы хотите, чтобы текст внутри переменной, вы делаете это:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="xs"
version="1.0">
<xsl:output indent="yes"/>
<xsl:template match="/">
<xsl:variable name="resp">
<TABLE>
<news_id>39</news_id>
<news_title>Strada – TSO</news_title>
<news_content>Extending the support to IFA’s family in form of income security by paying last drawn trail paid to IFA before the demise.</news_content>
<news_type>1</news_type>
<doc_url>upload/docs/12345.pdf</doc_url>
<doc_size>185859</doc_size>
<news_date>2014-09-19 12:54:11.0</news_date>
<is_enabled>1</is_enabled>
</TABLE>
</xsl:variable>
<variable>
<!-- using value-of to get the values of the XML inserting it into variable element -->
<xsl:value-of select="$resp"/>
</variable>
</xsl:template>
</xsl:stylesheet>
Если вы хотите, чтобы получить разные значения из элементов внутри переменной вы делаете это:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="xs"
version="1.0">
<xsl:output indent="yes"/>
<xsl:template match="/">
<xsl:variable name="resp">
<TABLE>
<news_id>39</news_id>
<news_title>Strada – TSO</news_title>
<news_content>Extending the support to IFA’s family in form of income security by paying last drawn trail paid to IFA before the demise.</news_content>
<news_type>1</news_type>
<doc_url>upload/docs/12345.pdf</doc_url>
<doc_size>185859</doc_size>
<news_date>2014-09-19 12:54:11.0</news_date>
<is_enabled>1</is_enabled>
</TABLE>
</xsl:variable>
<!-- If you want to get the value of news_id inside the variable you do this -->
<newsId>
<xsl:value-of select="$resp/TABLE/news_id"/>
</newsId>
<!-- Below is a shorter xpath-syntax -->
<newsTitle>
<xsl:value-of select="$resp//news_title"/>
</newsTitle>
</xsl:template>
</xsl:stylesheet>
Надеюсь, что это поможет.
Не могли бы вы продумать, какого результата вы хотите достичь? –
Можете ли вы использовать XSLT 2.0 или ограничены 1.0, а если последний, какой XSLT-процессор вы используете? –
Вы почти наверняка не * ХОТИТЕ * конвертировать & в &. Обычный синтаксический анализ XML преобразует числовые символьные ссылки в этой строке в соответствующие символы Юникода; нормальная сериализация XML преобразует эти символы обратно в их числовые символьные ссылки. – keshlam