- PR -

属性値にTabがある場合

1
投稿者投稿内容
ボブ
常連さん
会議室デビュー日: 2007/10/03
投稿数: 44
投稿日時: 2008-09-30 19:55
属性値にtabがある場合、
value-ofなどで取得すると、single spaceになってしまいます。
これはBugでしょうか?仕様でしょうか?

XSLTプロセッサ:Saxon8.4 B

入力XML:
<?xml version="1.0" encoding="Shift_JIS"?>
<aaa>
<bbb name="b[tab]b[tab]b">b[tab]b[tab]b</bbb>
</aaa>

XSLT:
<?xml version='1.0'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<aaa>
<atribute><xsl:value-of select="aaa/bbb/@name"/></atribute>
<node><xsl:value-of select="aaa/bbb"/></node>
</aaa>
</xsl:template>
</xsl:stylesheet>

出力結果:
<?xml version="1.0" encoding="UTF-8"?>
<aaa>
<atribute>b b b</atribute>
<node>b[tab]b[tab]b</node>
</aaa>

[ メッセージ編集済み 編集者: ボブ 編集日時 2008-09-30 19:57 ]
スフレ
ぬし
会議室デビュー日: 2005/05/27
投稿数: 281
お住まい・勤務地: 東京
投稿日時: 2008-09-30 23:59
XMLの仕様です。タブを文字参照で記述すれば回避できます。

@ITに良い記事がありました。
http://www.atmarkit.co.jp/fxml/rensai/w3cread19/w3cread19.html

ボブ
常連さん
会議室デビュー日: 2007/10/03
投稿数: 44
投稿日時: 2008-11-05 11:10
スフレさん
なるほど、属性値は正規化が必須である。
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)