gpt4 book ai didi

XSLT 默认模板混淆

转载 作者:行者123 更新时间:2023-12-04 05:48:15 24 4
gpt4 key购买 nike

我对 XSLT 处理器节点的方式感到困惑,假设我有一个这样的 XML 文档:

<object>
<animal>
<man men="asd">man1</man>
<man>man2</man>
<man>man3</man>
<man>man4</man>
<cat>cat1</cat>
<cat>cat2</cat>
<cat>cat3</cat>
<cat>cat4</cat>
</animal>
<vehicule>
<car>car1</car>
<car>car2</car>
<car>car3</car>
<car>car4</car>
</vehicule>
</object>

当我有一个 XSLT 没有任何模板匹配时,如下所示,它返回所有文本节点但没有属性节点,没关系

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
</xsl:stylesheet>

但是当我有像下面这样的一个时,它不返回任何东西:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="object">
</xsl:template>
</xsl:stylesheet>

是不是如果我有一个父节点的显式模板,我应该有一个父节点的所有子节点的显式模板?

最佳答案

您看到的只是 built-in rules 的效果,它输出节点的文本值并将模板应用于其所有子节点。

如果您覆盖内置模板,那么您的模板就会生效。你想apply object 的所有 child 的内置规则:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="object">
<xsl:apply-templates select="*" />
</xsl:template>
</xsl:stylesheet>

关于XSLT 默认模板混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14166259/

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