- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Saxon HE 9.5.1.8 将 XML 转换为另一个 XML 文件。
我的问题是,由 Saxon 的 Serializer() 类编写的 XML 内容会打印出几个我不想在其中出现的额外缩进。我假设这是“错误的”,因为我在使用 DomDestination() 类(但随后缺少外部 XML 文档信息)或其他 XSL 转换器(如 Visual Studio/.NET 附带的转换器)时得到了预期的输出框架。
这是输入 XML:
<?xml version="1.0"?>
<catalog>
<book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer's Guide</title>
<genre>Computer</genre>
<price>$44.95</price>
<publish_date>2000-10-01</publish_date>
</book>
<book id="bk102">
<author>Ralls, Kim</author>
<title>Midnight Rain</title>
<genre>Fantasy</genre>
<price>$5.95</price>
<publish_date>2000-12-16</publish_date>
</book>
这是 XLST 文件:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
>
<xsl:output method="xml" indent="yes"/>
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="book">
<book>
<xsl:copy-of select="@*|book/@*" />
<xsl:for-each select="*">
<xsl:attribute name="{name()}">
<xsl:value-of select="text()"/>
</xsl:attribute>
</xsl:for-each>
</book>
</xsl:template>
</xsl:stylesheet>
这是预期的输出:
<?xml version="1.0" encoding="utf-8"?>
<catalog>
<book id="bk101" author="Gambardella, Matthew" title="XML Developer's Guide" genre="Computer" price="$44.95" publish_date="2000-10-01" />
<book id="bk102" author="Ralls, Kim" title="Midnight Rain" genre="Fantasy" price="$5.95" publish_date="2000-12-16" />
</catalog>
这是使用 Saxon 时的输出:
<?xml version="1.0" encoding="UTF-8"?>
<catalog>
<book id="bk101"
author="Gambardella, Matthew"
title="XML Developer's Guide"
genre="Computer"
price="$44.95"
publish_date="2000-10-01"/>
<book id="bk102"
author="Ralls, Kim"
title="Midnight Rain"
genre="Fantasy"
price="$5.95"
publish_date="2000-12-16"/>
</catalog>
有谁知道如何抑制或修改 Saxon 的这种行为?这是用于调用 Saxon API 的 C# 代码:
public Stream Transform(string xmlFilePath, string xsltFilePath)
{
var result = new MemoryStream();
var xslt = new FileInfo(xsltFilePath);
var input = new FileInfo(xmlFilePath);
var processor = new Processor();
var compiler = processor.NewXsltCompiler();
var executable = compiler.Compile(new Uri(xslt.FullName));
var destination = new Serializer();
destination.SetOutputStream(result);
using(var inputStream = input.OpenRead())
{
var transformer = executable.Load();
transformer.SetInputStream(inputStream, new Uri(input.DirectoryName));
transformer.Run(destination);
}
result.Position = 0;
return result;
}
最佳答案
尝试设置 http://saxonica.com/documentation9.5/extensions/output-extras/line-length.html为一个非常大的值以避免将属性放在新行上:<xsl:output xmlns:saxon="http://saxon.sf.net/" saxon:line-length="1000"/>
.
关于c# - 撒克逊 XSLT : Serializer producing weird indents,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28343971/
我尝试从 PDF 文件复制文本,但得到一些奇怪的字符。奇怪的是,Okular 可以识别文本,但不能识别 Sumatra PDF 或 Adobe,这三个应用程序都安装在 Windows 10 64
有人发现我的这个正则表达式有问题吗?我想要的只是找到任何出现的 并将其替换为用户选择的单词。这个表达式只改变一些出现的情况,当它改变时,它会删除前面的空格,我猜想将它与前面的单词连接起来。而且它也不应
数据带有奇怪的字符,例如 FS – Bronze FS – Gold FS – Silver FS – Wood FS – Bronze FS â€â€
我正在尝试创建一个给定字符串的函数,它会像下面所示那样处理该字符串,并修改结构变量的值。用简单的语言来说,给定一个字符串,它会修改变量的坐标。 typedef struct coo { int
什么意思: GLuint bindingPoint = 1, buffer, blockIndex; 我在一个我需要的教程中找到了这个,我以前从未见过这样的变量初始化。 这行是什么意思 GLuint
我有这个 A / \ B C \ / D A 有一个纯虚函数,原型(prototype)为: virtual A* clone(void) const = 0
我正在处理一个非常简单的问题,涉及设计分支。 请容忍我,而我用模糊的术语描述情况。 我有一个实体,称为 EntityA: EntityA{ attr1 : type1; attr2 : t
这里没什么太严肃的,只是好奇。 我想举个例子,想出了这段代码: const { Observable, Subject } = Rx const timeout$ = new Subject() co
这里没什么太严肃的,只是好奇。 我想举个例子,想出了这段代码: const { Observable, Subject } = Rx const timeout$ = new Subject() co
我在处理集成服务时遇到了一个奇怪的错误。 我的数据流包括: -> DESTINATION SOURCE -> SCRI
我在一个带有 Hibernate 的项目中使用 JPA,并且需要在纯 JDBC 级别上执行一些操作,因此我使用此方法来获取与数据库的连接: public class ConnectionUtil {
我有时会在(MySQL)数据库中看到我不明白其含义的值。这是一个例子: a:26:{i:0;s:2:"22";i:1;s:2:"24";i:2;s:1:"2";i:3;s:2:"26";i:4;s:1
我正在研究 Java 线程,我编写了这个创建多个线程并运行它们的小程序。在每个线程中,一个值会递增多次。我使用了 ThreadLocal 类,这样就不会出现资源争用。 来源: class MyValu
我正在用 C++ 构建一个模拟,我有一个指数生成器来生成进程的突发时间。 通常它会返回这样的值:3.14707,1.04998。但经常有 1/10 的情况出现这样的数字:2.64823e-307 这是
这是一个 fiddle : http://jsfiddle.net/e80fen4p/2/ 编辑:您可以突出显示所有结果 div,您会看到颜色变回它们应有的颜色。我猜这没有解决办法。如果仅通过突出显示
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我正在尝试一种基于指标的算法,称为 taxicab metric .然后我的目标是创建一个简单的例子,你有一个简单的 3x3 矩阵,在第一个位置你有 1。从中你计算其他位置的距离,如下所示: 1 2
我有以下项目设置 .... ├── lira │ ├── __init__.py │ ├── admin.py │ ├── ajax.py │ ├── authentication.p
如果我有一个正常的网站,这将是一个足够简单的修复...但我已经在 tumblr 上建立了我的网站,所以我需要一个解决方法。每个页面都使用相同的代码,因此任何解决方案脚本都将在每个页面上运行.. 不太明
var t = [-12, 57, 22, 12, -120, -3]; t.map(Math.abs).reduce(function(current, previousResult) {
我是一名优秀的程序员,十分优秀!