「XSLTの文字の切りだしって使いにくい…」にも書いた通り、XSLT変換で「string-length()」と「substring()」を使用時、全角の文字も半角の文字も1文字としてカウントされます。
Amazon Webサービス(Amazon ECS 4.0)用にバイト単位で切り出したかったのですが、そのような処理が見あたらなかったので作ってみました。
XSLファイル内で次のような感じで使います。
<xsl:call-template name="SubStrByte"><xsl:with-param name="str"><xsl:value-of select="'処理対象の文字列'" /></xsl:with-param><xsl:with-param name="request_byte"><xsl:value-of select="10" /></xsl:with-param></xsl:call-template>
ただし、文字列の先頭からしか切り出せません。
また、半角のカタカナには対応していません。
Amazon Webサービス(Amazon ECS 4.0)用に作った処理なので、文字列が指定した指定したバイトよりも長い場合は、後ろに「...」を追加するようにしています。
それでもよろしければ、ご活用ください。
最終更新日時:2006-12-20T00:59+09:00
©2006 CJ?GOROH All Rights Reserved.
[0]このページのTop
Generated by MySketch GE 1.6.1