现在的位置: 首页 > 综合 > 正文

hta实现的笨狼XSLT练习器

2012年05月14日 ⁄ 综合 ⁄ 共 2343字 ⁄ 字号 评论关闭


<HTML>
<HEAD>
<TITLE>笨狼XSLT练习器 _脚本之家</TITLE>
<style>
body
{
font-size:12;
BACKGROUND: #DADADA;
margin-left:20;
}

#blockXML
{

font-family:Verdana;
font-size:12px;
overflow:scroll;
height:400;
top:40;
left:20;

}
input
{
width:350;
}
#blockXSL
{
POSITION: absolute;
font-family:Verdana;
font-size:12px;
overflow:scroll;
height:400;
top:40;
}
#showMe
{
font-family:Verdana;
font-size:12px;
height:100;
overflow:visible;
top:300;
left:20;
}

</style>
</HEAD>

<BODY>
<INPUT type="file" id="fileXML" onchange = "showXML();"/> XML
<INPUT type="file" id="fileXSL" onchange = "showXSL();"/> XSL
<button onclick = "parseXML();" >开始转换</button>
<button onclick = "browse();" >预览结果</button>
<textArea id="blockXML"></textArea>
<textArea id="blockXSL"></textArea>
<textArea id="showMe" ></textArea>
<SCRIPT LANGUAGE="JavaScript">
window.resizeTo(window.screen.availWidth,window.screen.availHeight);
window.moveTo(0,0);
blockXML.style.width = parseInt(window.screen.availWidth * 0.46);
blockXSL.style.width = blockXML.style.width ;

blockXSL.style.left = parseInt(window.screen.availWidth * 0.46) + 30;

showMe.style.width = parseInt(window.screen.availWidth * 0.92)+ 10;

var fso
fso = new ActiveXObject("Scripting.FileSystemObject");

var xmldoc, xsldoc;
xmldoc = new ActiveXObject("MSXML2.DOMDocument");
xsldoc = new ActiveXObject("MSXML2.DOMDocument");
xmldoc.async = false;
xsldoc.async = false;

function browse()
{
var win=window.open();
win.document.write(showMe.value);
}

function showXML()
{//在文本框内加载XML
if(Validator(fileXML.value,"XML"))
{
if(fso.FileExists(fileXML.value))
{
var f = fso.GetFile(fileXML.value);
var ts = f.OpenAsTextStream(1, -2);
var s="";
if(!ts.AtEndOfStream)
{
s = ts.ReadAll();
}
ts.Close();
blockXML.value = s;
fileXML.value ="";
}
}
else
{
alert("XML格式错误!");
}
}

function showXSL()
{//在文本框内加载XSL
if(Validator(fileXSL.value,"XSL") || Validator(fileXSL.value,"XSLT"))
{
if(fso.FileExists(fileXSL.value))
{
var f = fso.GetFile(fileXSL.value);
var ts = f.OpenAsTextStream(1, -2);
var s="";
if(!ts.AtEndOfStream)
{
s = ts.ReadAll();
}
ts.Close();
blockXSL.value = s;
fileXSL.value ="";
}
}
else
{
alert("XSL/XSLT格式错误!");
}
}

function Validator(inStr,outStr)
{//检查文件格式
var last=inStr.match(/^(.*)(\.)(.{1,8})$/)[3];
last=last.toUpperCase();
if(last==outStr)
{
return true;
}
else
{
return false;
}

}

function parseXML()
{//解析
if(!blockXML.value ||!blockXSL.value)
{
return
}

if(!xmldoc.loadXML(blockXML.value))
{
alert("XML未加载成功!")
}

if(!xsldoc.loadXML(blockXSL.value))
{
alert("XSL未加载成功!")
}

var s = xmldoc.transformNode(xsldoc);
showMe.value = s;

}

</SCRIPT>
</BODY>
</HTML>
笨狼XSLT练习器.hta

抱歉!评论已关闭.