Dreamweaver TechniqueJAVA Script サンプル | CSS sample | JAVA Applet sample | Flash Sample
HTML4.0 riference | DynamicHTMLXHTML | XML sample | XSLT sample | RIKO's ASP Trial

独自タグのネームスペースを使う

■ ネームスペース

xsl:stylesheet要素やxsl:transform要素は、XSLTネームスペース(名前空間)に属さない要素を含んでも構いません。ネームスペースはxsl:transformに続けてURIで指定し、xmlns:の右側の文字列を接頭辞(プレフィックス)として、要素名に付けて使います。
xslの要素のネームスペースURIや接頭辞はW3Cが定めていますが、独自タグを使う場合は、製作者は独自のネームスペースを宣言することができます。URIはユニークなものでなければならないので、ドメインを利用して記述すると良いでしょう。URIを直接三ショ鬱してXSL変換が実行されるわけではないので、URIも接頭辞も区別さえできれば構いません。

transform2.xml

 

transform2.xsl

<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:A="http://foobar.co.jp/foobarxml">
<xsl:template match="/">
<html lang="ja">
<head><title>transform2</title></head>
<body>
   <div><xsl:apply-templates select="A:全体" /></div>
</body>
</html>
</xsl:template>

<xsl:template match="A:全体">
    <xsl:for-each select="A:情報">
        <div>
           <xsl:value-of select="A:氏名" /><br />
           <xsl:value-of select="A:住所" /><br />
           <xsl:value-of select="A:勤務先" /><br />
        <hr />
        </div>
    </xsl:for-each>
</xsl:template>
</xsl:stylesheet>

XSLファイルの中には、xslの要素、htmlの要素、製作者が独自に作った要素が混在しています。xslや独自タグについてネームすぺ^スや接頭辞を記述するとなると、何通りものコードの組み合わせがあります。
仕様に則した正確さは重要ですが、XMLデータが1歳とからの情報発信の息を出ない限り、接頭辞をつける必要はないでしょう。タグが長くなり、結果的にファイルサイズが大きくなり、ロードに時間を要するようになります。また、ドメインを持っていない人は、ネームスペースや接頭辞を意識する必要はありません。
ただし、企業負ループや団体、趣味のコミュニティに属する複数の企業や個人が、各々制作したXMLファイルを共有して利用するといったばあいでは、A社において<氏名>タグは「A社直販のお客様の氏名」をさし、B社では<氏名>タグは「代理店B社販売のお客様の氏名」を表すといったケースが起こりえます。A社がB社のXMLファイルを共有しようとすると、<氏名>タグが、直販のお客様を表すのか代理店販売の置きゃ気宇様を表すのか区別できなくなります。

この問題を解決する方法としては、
(1)A社とB社のXMLファイルをフォルダで分けて管理する。
(2)XMLファイルに<販売者>A社</販売者>や<販売者>B社</販売者>という内容を追加して区別する。
(3)A社の<氏名>タグを<A社顧客氏名>に、B社の<氏名>タグを<B社顧客氏名>に変更する
(4)タグに、A社とB社を区別する接頭辞を付けて<A:氏名>と<B:氏名>という具合に区別する
といった方法が考えられます。
XMLデータベースの活用範囲が個人や寺社のWebページにとどまらない場合は、独自タグのネームスペースを指定して接頭辞を使った方が良いでしょう。

<<<戻る

R HOUSE | RIKO's Trial Page | Shirley's Pettit Case | Shirley's i-box | Shirley's little box