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

接頭語の変更

■ ネームスペース-エイリアス

このサンプルは、XSLファイルを制作した後で、異なるネームスペースに属する接頭辞を、別の接頭辞に置換するものです。namespace-alias(ネームスペース-エイリアス)という名の通り、元となるXSLコードを、エイリアス(別名)のネームスペースを持ったXSLコードに変換してくれます。,xsl:namespace-alias stylesheet-prefix=!置換前の接頭辞" result-prefix="置換後の接頭辞" />のように記述します。

namespace.xml

 

namespace.xsl

<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:dummy="http://www.w3.org/1999/XSL/TransformAlias">
<xsl:namespace-alias stylesheet-prefix="dummy" result-prefix="xsl"/>
<xsl:output method="xml" version="1.0" encoding="Shift_JIS" indent="yes"/>

<xsl:template match="全体">
   <dummy:stylesheet>
   <dummy:apply-templates select="情報" />
   </dummy:stylesheet>
</xsl:template>
</xsl:stylesheet>

※ xsl:namespace-aliasはトップレベル要素なので、xsl:stylesheetなたがxsl:transformの直下に記述しましょう。

namespace.hta

<html>
<head>
   <script type="text/vbscript">
   <!--
      option explicit
      dim xmldoc,stylesheet,result
      dim kakikae,f,fso
      sub window_onload()
      set xmldoc=createObject("microsoft.xmldom")
      xmldoc.async=false
      xmldoc.load("namespace.xml")

      set stylesheet=createObject("microsoft.xmldom")
      stylesheet.async=false
      stylesheet.load("namespace.xsl")

      result=xmldoc.documentElement.transformNode(stylesheet)
      kakikae=Replace(result,"UTF-16","Shift_JIS")
      result=kakikae

      set fso=createObject("scripting.fileSystemObject")
      set f=fso.openTextFile("c:\data\sample_save\namespace_s.xml",2,true)
      f.write result
      f.close
      set f=Nothing

      window.location.href="c:\data\sample_save\namespace_s.xml"
      top.window.close()

      end sub
   -->
   </script>
</head>
<body></body>
</html>

以上のような変換結果は、XMLファイルとXSLファイルを記述しただけでは、実際に目で見て確認することができません。そこで、表示結果を確認するHTAプログラムを用意しています。変換結果の保存先は予めフォルダを作ってからHTAファイルにアクセスしてください。namespace_s.xmlという名前で保存されます。
変更後の接頭辞には、必ずしも「xsl」を指定する必要はありません。例えば、接頭辞「kyss」から「cq」に置換することができます。。

<<<戻る

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