XSLTを使用してxmlのインデントの書式設定を処理するサンプル

1.test.htm

<SCRIPT>
//データのロード
x = “<r><a name=’net_lover’>startnews24</a> <b>arkgame.com</b><a>startnews24</a><b>arkgame.com</b></r>"
var source = new ActiveXObject(“Msxml2.DOMDocument");
source.async = false;
source.loadXML(x)
alert(source.xml)

// スタイルシートのロード
var stylesheet = new ActiveXObject(“Msxml2.DOMDocument");
stylesheet.async = false;
stylesheet.resolveExternals = false;
stylesheet.load(“style.xsl");
alert(stylesheet.xml)

// 結果オブジェクトを作成
var result = new ActiveXObject(“Msxml2.DOMDocument");
result.async = false;

// 解析結果をオブジェクトに保存1
source.transformNodeToObject(stylesheet, result);
alert(result.xml)

//解析結果をオブジェクトに保存2
result2 = “"
result2 = source.transformNode(stylesheet);
source.loadXML(result2)
alert(source.xml)
</SCRIPT>

2.style.xsl
<?xml version="1.0″?>
<xsl:stylesheet version="1.0″ xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method = “xml" omit-xml-declaration = “yes" indent = “yes"/>
<xsl:template match="/ | @* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>

Development

Posted by arkgame