Xslt合并模板

来源:互联网 发布:网络词沒毛病什么意思 编辑:程序博客网 时间:2024/05/22 06:27

Xslt生成html合并模板代码:

aaa.xml
<NewDataSet>
<ID>1</ID>
<Name>aaa</Name>
</NewDataSet>

xslt1.xslt

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
<xsl:template name="XL1" match="NewDataSet">
<xsl:value-of select="ID" />
</xsl:template>

xslt2.xslt
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
<xsl:template name="XL2" match="NewDataSet">
<xsl:value-of select="Name" />
</xsl:template>

xslt3.xslt
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
 <!--<xsl:import href="XslMyPlanList.xslt"/>
  <xsl:import href="../XslFile/XslPageNav.xsl"/>-->
  <xsl:include href="XslMyPlanList.xslt"/>
  <xsl:include href="../XslFile/XslPageNav.xsl"/>
  <xsl:template match="NewDataSet">
    <xsl:call-template name="XL1"/>
    <xsl:call-template name="XL2"/>
  </xsl:template>

<script type="text/javascript">
        getHtml("aaa.xml", "xslt3.xslt", "d1");
        function getHtml(sXMLFile, sXSLTFile, objName) {
            sXMLFile = sXMLFile.replace(/%25/g, "%");
            sXMLFile = sXMLFile.replace(/%/g, "%25");
            var oXSLDoc = new ActiveXObject("MSXML2.FreeThreadedDOMDocument.3.0");
            oXSLDoc.async = false;
            oXSLDoc.load(sXSLTFile);

            var oXSLT = new ActiveXObject("MSXML2.XSLTemplate.3.0");
            oXSLT.stylesheet = oXSLDoc;

            var oXMLDoc = new ActiveXObject("Msxml2.DOMDocument.3.0");
            oXMLDoc.async = false;
            oXMLDoc.load(sXMLFile);

            var oXSLProc;
            oXSLProc = oXSLT.createProcessor();
            oXSLProc.input = oXMLDoc;
            oXSLProc.transform();

            var ohtml = document.getElementById(objName);
            ohtml.innerHTML = oXSLProc.output;
        }
</script>


<div id="d1"></div>