Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
XSLT文件是否在XML文件中呈现动态更改_Xml_Xslt - Fatal编程技术网

XSLT文件是否在XML文件中呈现动态更改

XSLT文件是否在XML文件中呈现动态更改,xml,xslt,Xml,Xslt,我是XSLT领域的新手,我有一个html文件,它通过XSLT呈现XML文件的内容。现在,在XML中进行一些动态更改后,XSLT是否可以根据动态更改即XML和html页面呈现该动态内容,或者是否需要重新打开引用该XML的html文件 我的XMl文件如下 <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="XSL.xsl"?> <Arithmetic> <Function>

我是XSLT领域的新手,我有一个html文件,它通过XSLT呈现XML文件的内容。现在,在XML中进行一些动态更改后,XSLT是否可以根据动态更改即XML和html页面呈现该动态内容,或者是否需要重新打开引用该XML的html文件

我的XMl文件如下

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="XSL.xsl"?>
<Arithmetic>
    <Function>
        <FunctionName>-</FunctionName>
    </Function>
    <Function>
        <FunctionName>/</FunctionName>
    </Function>
    <Function>
        <FunctionName>*</FunctionName>
    </Function>
    <Function>
        <FunctionName>MOD</FunctionName>
    </Function>
    <Function>
        <FunctionName>^</FunctionName>
    </Function>
   </Arithmetic>

-
/
*
摩登派青年
^
我的XSLT文件是

**<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/*">
  <html>
  <body>
  <table border="1">
    <tr bgcolor="#9acd32">
      <th>Title</th>

    </tr>
    <xsl:for-each select="/*/Function">
    <tr>
      <td><xsl:value-of select="FunctionName"/></td>

    </tr>
    </xsl:for-each>
  </table>
  </body>
  </html>
</xsl:template>

</xsl:stylesheet>** 
**
标题
** 
我的html示例如下

<html>
<head>
<SCRIPT LANGUAGE=javascript>

 function createDom(stringXML){
        var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); // create a xmlDOM object
         xmlDoc.async="false"
         xmlDoc.loadXML(stringXML);
return xmlDoc;
} 
function onOk()
{
    xmlDom2 = createDom("<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="XSL.xsl"?><Geometric><Function><FunctionName>-</FunctionName></Function><Function><FunctionName>/</FunctionName></Function><Function><FunctionName>*</FunctionName></Function><Function><FunctionName>MOD</FunctionName></Function><Function><FunctionName>^</FunctionName></Function></Geometric>");
    //now how could i give ref of that updated xml in the iframe or how the iframe will render this update xml 
}
</SCRIPT >

</head>
<body >
    <div id = "mainDiv" class = "scrollbar" style = "border:1px inset;height: 186px; overflow: auto;">

        <IFRAME src = "XML.xml" id="IFRAME" style="visibility: visible;" ></IFRAME> 
        <INPUT id=btnOk onclick=onOk() type=button size=35 value=Change XML >

    </div>
</body>
</html>

函数createDom(stringXML){
var xmlDoc=new ActiveXObject(“Microsoft.XMLDOM”);//创建一个XMLDOM对象
xmlDoc.async=“false”
loadXML(stringXML);
返回xmlDoc;
} 
函数onOk()
{
xmlDom2=createDom(“-/*MOD^”);
//现在,我如何在iframe中给出更新的xml的ref,或者iframe将如何呈现此更新xml
}

谢谢

html中的呈现将取决于xml和xslt标记。如果xml中的更改未在xslt中定义,则不会在html中进行呈现。

html中的呈现将取决于xml和xslt标记。如果xml中的更改未在xslt中定义,则不会在html中进行呈现。

如果在浏览器中打开xml后对其进行编辑,则需要再次运行xslt转换过程


在浏览器中看到的HTML是渲染过程的结果,渲染过程不是动态运行的。我想您可以监视XML的更改并重建HTML文件,但这将是一种命令行方法。

如果在浏览器中打开XML后编辑它,则需要再次运行XSLT转换过程


在浏览器中看到的HTML是渲染过程的结果,渲染过程不是动态运行的。我想您可以观察XML的变化并重建HTML文件,但这将是一种命令行方法。

您可能想看看Saxon CE的这种应用程序。Saxon CE在浏览器中运行XSLT 2.0,并允许您编写响应特定事件的模板规则。如果XML在服务器上,那么它当然不会自动注意到服务器端XML已更改,但您可以安排与服务器上的应用程序通信,以获得此类事件的通知。

您可能希望查看Saxon CE以了解此类应用程序。Saxon CE在浏览器中运行XSLT 2.0,并允许您编写响应特定事件的模板规则。如果XML在服务器上,那么它当然不会自动注意到服务器端XML已更改,但是您可以安排与服务器上的应用程序通信以获得此类事件的通知。

“您需要再次运行XSLT转换过程”您能举个例子吗“您需要再次运行XSLT转换过程”您能举个例子吗