gpt4 book ai didi

ant - 如何让 xslt 缩进 xml(来自 Ant)?

转载 作者:行者123 更新时间:2023-12-02 08:50:47 27 4
gpt4 key购买 nike

据我所知,在四处寻找答案后,以下内容应该有效:

<xslt basedir="..." destdir="..." style="xslt-stylesheet.xsd" extension=".xml"/>

其中 xslt-stylesheet.xsd 包含以下内容:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/">
<xsl:copy-of select="."/>
</xsl:template>
</xsl:stylesheet>

不幸的是,虽然应用了大多数格式(删除空格、输入换行符等),但没有缩进,每个元素都位于文件的左侧。这是 Ant 使用的 xslt 处理器的问题,还是我做错了什么? (使用 Ant 1.8.2)。

最佳答案

设置一些特定于处理器的输出选项可能会有所帮助,但您应该注意,这些选项可能因您使用的 XSLT 处理器而异。

例如,如果您使用的是 Xalan,它会定义一个缩进量属性,该属性似乎默认为 0。

要在运行时覆盖此属性,您可以在样式表中声明 xalan 命名空间,并在输出元素中使用特定于处理器的属性 indent-amount 进行覆盖,如下所示:

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

<xsl:output method="xml"
encoding="UTF-8"
indent="yes"
xalan:indent-amount="2"/>

此示例来自 http://xml.apache.org/xalan-j/usagepatterns.html 处的 Xalan 使用模式文档

如果您碰巧在使用 Xalan,该文档还说您可以通过设置更改序列化程序 jar 中的文件 org/apache/serializer/output_xml.properties 来全局更改所有输出首选项。

为了完整性,该文件 (Xalan 2.7.1) 中定义的完整的 Xalan 特定 xml 输出属性集是:

{http://xml.apache.org/xalan}indent-amount=0
{http://xml.apache.org/xalan}content-handler=org.apache.xml.serializer.ToXMLStream
{http://xml.apache.org/xalan}entities=org/apache/xml/serializer/XMLEntities

如果您没有使用 Xalan,您可能会在 XSLT 处理器的文档中寻找一些特定于处理器的输出属性

关于ant - 如何让 xslt 缩进 xml(来自 Ant)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8588498/

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