一個角色,我有是一種把XML的XSLT來PLSQL如何逃避XSLT
我需要轉義字符:>(大於)
例如:
P_C710_INT_PROFILE_ID =>
我嘗試使用>
並將字符放在xsl:文字中,沒有運氣
有沒有想法?
謝謝
一個角色,我有是一種把XML的XSLT來PLSQL如何逃避XSLT
我需要轉義字符:>(大於)
例如:
P_C710_INT_PROFILE_ID =>
我嘗試使用>
並將字符放在xsl:文字中,沒有運氣
有沒有想法?
謝謝
謝謝大家,但正確的答案是這樣的:
<xsl:text disable-output-escaping="yes">></xsl:text>
@ user412045:這是錯誤的。從http://www.w3.org/TR/xslt#section-Text-Output-Method *「文本輸出方法會忽略disable-output-escaping屬性,因爲它不會執行任何輸出轉義」* – 2010-08-06 00:07:00
沒有什麼其他人對我有用,你有什麼建議嗎?謝謝 – MoreCoffee 2010-08-06 14:41:37
沒有問題。這個樣式表(空):
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
</xsl:stylesheet>
輸入:
<text>P_C710_INT_PROFILE_ID =></text>
輸出:
P_C710_INT_PROFILE_ID =>
編輯:因爲你的問題是不明確的,我加入的情況下,一個解決方案你想在xsl:output/@ method =「text」聲明下輸出字符實體。
這個樣式表:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="text()" name="text">
<xsl:param name="text" select="."/>
<xsl:if test="$text != ''">
<xsl:variable name="first" select="substring($text,1,1)"/>
<xsl:choose>
<xsl:when test="$first = '>'">&gt;</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$first"/>
</xsl:otherwise>
</xsl:choose>
<xsl:call-template name="text">
<xsl:with-param name="text" select="substring($text,2,(string-length($text)-1) div 2 + 1)"/>
</xsl:call-template>
<xsl:call-template name="text">
<xsl:with-param name="text" select="substring($text,(string-length($text)-1) div 2 + 3)"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
輸出:
P_C710_INT_PROFILE_ID =>
I W與此同時,即使在更改輸出方法並添加disable-output-escaping屬性之後,它仍然無法正常工作。
然後,我看着我的源代碼,我意識到我正在使用XmlTextWriter與轉換的結果和XmlTextWriter應用輸出轉義。一旦我切換到只使用StringWriter輸出是正確的。
xsl:output'中屬性'method'的值是什麼?當您使用'>'時,您獲得的輸出是什麼? – 2010-08-05 14:38:07
我使用 我得到的輸出是'>' –
MoreCoffee
2010-08-05 14:42:38
然後它應該工作。將XSLT的規則添加到您的問題中。 – 2010-08-05 15:21:26