首页 > 编程 > HTML > 正文

hta实现的笨狼XSLT练习器

2020-01-25 19:40:22
字体:
来源:转载
供稿:网友
学习XSLT的朋友,用这个小工具不错
 

<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> 
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表