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
Xml 在XSLT中传递Xpath_Xml_Xslt_Dom_Random - Fatal编程技术网

Xml 在XSLT中传递Xpath

Xml 在XSLT中传递Xpath,xml,xslt,dom,random,Xml,Xslt,Dom,Random,我正在尝试使用XSLT将xml元素插入到xml文件中。我有两个文件,输入文件包含xpath(ex:/root/element),根据输入xpath,我将元素插入到输出文件中,例如,如果输入元素值为/root/element,那么我应该将新的_元素插入到该目标中,这样输出将是 <root> <new_element id="1">some content</new_element> <element>some content</elem

我正在尝试使用XSLT将xml元素插入到xml文件中。我有两个文件,输入文件包含xpath(ex:/root/element),根据输入xpath,我将元素插入到输出文件中,例如,如果输入元素值为/root/element,那么我应该将新的_元素插入到该目标中,这样输出将是

<root>
  <new_element id="1">some content</new_element>
  <element>some content</element>
</root>

一些内容
一些内容
我正在使用xpath输入填充变量,然后使用该变量,但收到一条错误消息“模式中不能使用参数和变量”。下面是我使用该变量的部分:

<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>

我对XSLT非常陌生,所以我不确定我做错了什么,或者我的逻辑是否不合适

我将感谢您的帮助:)


谢谢,

在XSLT 1中,变量不能在匹配模式中使用。匹配模式是你对<代码> <代码>的表达式。在这些情况下,你必须使用文字。考虑模板在被执行之前编译,所以在编译的表达式中有一个变量可以使模板性能变差。


如果您是XSLT新手,并且对学习XSLT感兴趣,那么网络上有一些很好的资源(从开始,以及以印刷形式提供)。

一个关于您当前拥有的内容以及您可能期望的结果的示例总是有帮助的:)我编辑了您的帖子,以使代码示例可见,但我在第二个示例中没有看到任何变量的使用。因此,请确保您向我们展示了所有详细信息,以使我们能够理解问题。大家好,感谢您的回复:)我构建了一个程序,可以获取xpaths文件并生成相应的xslt脚本。现在,我对na有问题Messpaces,所以,我使用xmlspy调试脚本并运行它..xmlspy没有在输入中获得的名称空间上创建对象,它们是正确的!因此我尝试在没有名称空间的情况下运行它,但它跳过了我指定的模式,并且没有向提供的XPATH中指定的目标元素添加任何内容。她e是我生成的代码示例。.Errorr5指示符文本为空

谢谢Lumi,如果我想传递xpath并使用它插入xml元素,您有什么建议吗?或者,将路径放入XSLT文件中,而不是单独列出它们(最明智的做法),或者编写一个很酷的构建系统来使用XSLT生成XSLT文件-毕竟这只是一个XML文档!谢谢Nicolas..我不能在XSLT中列出路径,因为它们是动态生成的..虽然,我可以构建一个系统来根据输入文件生成XSLT,但问题是我必须做另一个阶段..所以我我试图做的是在同一个阶段(项目)内生成包含路径的输入xml,然后根据给定路径插入元素。如果我生成XSLT,我将无法在同一项目中调用它,我将不得不创建另一个项目来执行此操作,然后在生成XSLT脚本后运行此项目。