gpt4 book ai didi

xslt - 防止将 xmlns =""属性添加到 XSLT 1.0 生成的 HTML 元素中

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

我正在为 phpdoc 2 创建模板,我想弄清楚如何防止属性 xmlns="http://www.w3.org/1999/xhtml"从我的模板创建文档时,不会被添加到生成的 HTML 的根级元素中。我在模板中的 .xsl 文件生成包含 html 片段的文件,这就是为什么 <html> tag 不是根级元素。 phpdoc 2 似乎使用 XSLT v1.0,所以这限制了我的选择。经过一番搜索,最常见的答案是使用 exclude-result-prefixes <xsl:stylesheet> 上的属性每个 .xsl 文件的标签,并将其值设置为 #all#default ,因为您不能只使用 xmlns作为命名空间直接排除。但我试过了,设置 exclude-result-prefixes在我模板中的每个 .xsl 文件上,它不起作用。

根据要求,这是我的 .xsl 文件之一,api-doc.xsl:

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
exclude-result-prefixes="#all">

<xsl:output indent="no" method="html"/>

<xsl:include href="chrome.xsl"/>

<xsl:include href="api-doc/property.xsl"/>
<xsl:include href="api-doc/class.xsl"/>
<xsl:include href="api-doc/constant.xsl"/>
<xsl:include href="api-doc/function.xsl"/>
<xsl:include href="api-doc/docblock.xsl"/>
<xsl:include href="api-doc/file.xsl"/>

<xsl:template name="content">
<xsl:apply-templates select="/project/file[@path=$path]"/>
</xsl:template>

</xsl:stylesheet>

这是 api-doc/file.xsl 的片段:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
exclude-result-prefixes="#all">

<xsl:output indent="no" method="html"/>

<xsl:template match="file">
<div class="text-content">
<!-- ... -->
</div>
</xsl:template>

</xsl:stylesheet>

元素 <div class="text-content"></div>是什么有 xmlns="http://www.w3.org/1999/xhtml"添加到它的属性。

最佳答案

就像 Michael Kay 所说的,如果您不想要 div在 xhtml 命名空间中,从您的 xmlns="http://www.w3.org/1999/xhtml" 中删除默认命名空间( xsl:stylesheet ) .

否则你可以使用 xsl:element 构建元素并给它一个空的命名空间:

    <xsl:element name="div" namespace="">
<xsl:attribute name="class">text-content</xsl:attribute>
<xsl:text>...</xsl:text>
</xsl:element>

关于xslt - 防止将 xmlns =""属性添加到 XSLT 1.0 生成的 HTML 元素中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15866373/

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