以下の XSLT コードで登録記号をスーパー スクリプト化しています。
<xsl:choose>
<xsl:when test="contains($text,'®')">
<xsl:value-of select="substring-before($text,'®')" />
<xsl:text disable-output-escaping="yes">
<![CDATA[<sup> ® </sup>]]>
</xsl:text>
<xsl:call-template name="SupersciptingRegistrationSymbol">
<xsl:with-param name="text"
select="substring-after($text,'®')" />
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$text" />
</xsl:otherwise>
</xsl:choose>
これで、この XSL は正しく機能し、® を®に置き換えます。これは、ビュー ソースと、Developer tool (chrome) や Firebug (Mozilla)tools などのデバッグ ツールで確認できるためです。
ここでの問題は、ブラウザがこのテキストを<sup>®</sup>
スーパースクリプト化するのではなく、そのまま ( ) レンダリングしていることです。
繰り返し<sup>®</sup>
になりますが、firebug ® でテキストを編集すると、その場合の編集内容に関係なく、上付き文字が付けられます。
注-ページソースでは、次のようになります-
<sup> ® </sup>
ここで何が問題になる可能性があります。誰かがこの有線の問題を解決するのを手伝ってくれませんか.