gpt4 book ai didi

tomcat - 替换某些元素但保持剩余 XML 文档完好无损的样式表

转载 作者:行者123 更新时间:2023-11-28 23:24:20 24 4
gpt4 key购买 nike

我正在使用以下 XSLT 样式表从 server.xml 中删除所有 Connector,即一个 Tomcat 配置文件,并将它们替换为一个新的。它工作得很好(使用 xsltproc),除了转换不会保留注释等。(就 server.xml 而言,这些元素应该是多余的.)

我怎样才能修改样式表,使所有节点(包括注释、文本、处理指令等)如实地保持完整,除了对 Connector 的预期更改?

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="utf-8" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/ | * | @*">
<xsl:copy>
<xsl:apply-templates select="* | @*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="Service">
<xsl:copy>
<xsl:apply-templates select="*[not(self::Connector)] | @*"/>
<Connector/> <!-- actual new attributes removed for brevity -->
</xsl:copy>
</xsl:template>
</xsl:stylesheet>

最佳答案

How can I modify the stylesheet so that it keeps all nodes (including comments, texts, processing instructions, etc.) faithfully intact, except for the intended changes

替换这部分:

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

符合标准identity transform模板:

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

关于tomcat - 替换某些元素但保持剩余 XML 文档完好无损的样式表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39158804/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com