当copy-of命令未找到待复制节点时,其行为表现是什么?
关于
copy-of找不到目标节点的行为 当使用copy-of指令但指定的目标节点不存在时,不会抛出错误,也不会执行任何复制操作——输出结果中不会生成任何对应节点的内容,程序会继续正常执行后续逻辑。你观察到的“直接不执行任何操作”的结论是正确的,XSLT的设计倾向于容错处理这类节点不存在的场景,避免因非致命性的节点缺失中断整个转换流程。
举个简单示例:
<!-- 输入XML --> <root> <valid-node>测试内容</valid-node> </root> <!-- XSLT转换片段 --> <xsl:template match="/"> <result> <xsl:copy-of select="root/invalid-node"/> <xsl:copy-of select="root/valid-node"/> </result> </xsl:template>
转换后的输出只会保留valid-node的内容,invalid-node对应的部分不会产生任何输出:
<result> <valid-node>测试内容</valid-node> </result>
内容的提问来源于stack exchange,提问作者Lore
相关产品推荐
相关产品推荐

