我想从字符串中解码HTML标记并使用:
disable-output-escaping="yes"
直到字符串包含®
(意思是®)。
然后我发现可能的解决方案是用®
替换®
;但它没有用。
我正在使用此代码
<xsl:if test="$ShortDescription !=''">
<shortdescription><xsl:value-of select="replace($ShortDescription,'®','®')" disable-output-escaping="yes"/></shortdescription>
</xsl:if>
给我错误的XSLT文件如下所示:
HTTP Status 500 - {msg=getTransformer fails in getContentType,trace=java.lang.RuntimeException: getTransformer fails in getContentType at
当我没有使用替换功能然后它的给出错误看起来像: XML解析错误:
处的未定义实体<shortdescription>Wear some adventure with the same hat Indiana Jones® wears in his movies.</shortdescription>
答案 0 :(得分:1)
如果输入文件包含实体引用®
并且不包含此实体的实体定义,那么它不是格式良好的XML,这意味着您无法使用XSLT处理它。可能的解决方案包括:
®
替换为®
,例如SED / AWK / Perl的