gpt4 book ai didi

Java 转换器 setOutputProperty()

转载 作者:行者123 更新时间:2023-12-02 11:16:06 32 4
gpt4 key购买 nike

我目前正在使用以下代码来缩进 XML:

transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");

这可以很好地缩进代码,但是,我不确定 http://xml.apache.org/xslt}indent-amount" 正在做什么。URL 对于缩进至关重要.有人可以解释一下这个 URL 的作用以及它是如何工作的吗?

谢谢! :)

最佳答案

您正在覆盖在 org.apache.xml.serializer 包中定义的默认属性 indent-amount。这会启用缩进(因为默认值为 0)。

Output properties for XML, HTML, and text transformation output are defined in property files in the org.apache.xml.serializer package.

You can override the default value of these properties in your stylesheet by using the attributes of an xsl:output element. You can override the Xalan specific default settings as follows:

Declare the xalan namespace in your stylesheet element (xmlns:xalan="http://xml.apache.org/xalan").

Use the namespace prefix you assign (for example, "xalan") to redefine properties of interest in the stylesheet xsl:output element (for example, xalan:indent-amount="5"). The following stylesheet fragment declares the xalan namespace and sets indent-amount to 2:

<?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 的

关于Java 转换器 setOutputProperty(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50275655/

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