我如何使用JavaScript来转换XML&安培; XSLT [英] How can I use javascript to transform xml & xslt

查看:96
本文介绍了我如何使用JavaScript来转换XML&安培; XSLT的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想用JavaScript来显示我的XSLT,但我的服务器没有被显示在浏览器了。

 <!DOCTYPE HTML PUBLIC -  // W3C // DTD HTML 4.01过渡// ENGT&;
< HTML和GT;
< HEAD>
<脚本类型=文/ JavaScript的SRC =htt​​p://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js>< / SCRIPT>
<脚本类型=文/ JavaScript的SRC =main.js>< / SCRIPT>
< META HTTP-EQUIV =内容语言CONTENT =EN-US/>
<标题>承包,许可和遵守新闻与LT; /标题>
< /头>
<身体GT;
< SCRIPT LANGUAGE =JavaScript的>
    功能displayMessage(){
        //加载XML        VAR XML =新的ActiveXObject(Microsoft.XMLDOM)
        xml.async = FALSE
        与XML.load(站点INDEX.XML)        //加载XSL
        VAR XSL =新的ActiveXObject(Microsoft.XMLDOM)
        xsl.async = FALSE
        xsl.load(站点index.xsl)        // 转变
        的document.write(xml.transformNode(XSL))
    }
< / SCRIPT>
< /身体GT;
< / HTML>


解决方案

浏览器可以为您执行等转换。不需要的JavaScript,从刚才的.xml链接的.xsl是这样的:

 <?XML版本=1.0编码=UTF-8&GT?;
<?xml样式表类型=文/ XSL的href =网站index.xsl>

和只服务于XML,HTML没有。假定你的.xsl包含正确code,沿线

 <的xsl:样式版本=1.0的xmlns:XSL =htt​​p://www.w3.org/1999/XSL/Transform>
< XSL:输出方法=HTML版本=4.01缩进=YES/>
< XSL:输出DOCTYPE系统=htt​​p://www.w3.org/TR/html4/strict.dtd/>
< XSL:输出DOCTYPE公共= - // W3C // DTD HTML 4.01 // EN/>

I want to use JavaScript to show my XSLT, but on my server nothing is showing up in the browser.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
<script type="text/javascript" src="main.js"></script>
<meta http-equiv="Content-Language" content="en-us"/>
<title>Contracting, Licensing and Compliance News</title>
</head>
<body>
<script language="javascript">
    function displayMessage() {
        // Load XML 

        var xml = new ActiveXObject("Microsoft.XMLDOM")
        xml.async = false
        xml.load("site-index.xml")

        // Load the XSL
        var xsl = new ActiveXObject("Microsoft.XMLDOM")
        xsl.async = false
        xsl.load("site-index.xsl")

        // Transform
        document.write(xml.transformNode(xsl))
    }
</script>
</body>
</html>

解决方案

The browser can perform the tranform for you. No javascript is needed, just link the .xsl from the .xml like this:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="site-index.xsl" ?>

and just serve the xml, no html. Assuming your .xsl contains the right code, along the lines

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" version="4.01" indent="yes"/>
<xsl:output doctype-system="http://www.w3.org/TR/html4/strict.dtd"/>
<xsl:output doctype-public="-//W3C//DTD HTML 4.01//EN"/>

这篇关于我如何使用JavaScript来转换XML&安培; XSLT的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆