xslt-2.0 - 我们如何在没有空格和缩进 XSLT2.0 的情况下删除空白行
问题描述
我正在尝试删除空白行而不去除空格和缩进,因为我的要求是缩进 XML。任何人都可以帮助我吗?
输入 XML
<?xml version="1.0" encoding="UTF-8"?>
<Export>
<bio id="b0001">
<p>Maciej</p>
</bio>
<funding-group>
<award-group>
<funding-source>
<named-content content-type="funder-name">Narodowe</named-content>
<named-content content-type="funderidentifier">501100004281</named-content>
</funding-source>
<award-id>/19/B/HS4/</award-id>
<award-id>3</award-id>
</award-group>
</funding-group>
</Export>
预期结果
<?xml version="1.0" encoding="UTF-8"?>
<Export>
<bio id="b0001">
<p>Maciej</p>
</bio>
<funding-group>
<award-group>
<funding-source>
<named-content content-type="funder-name">Narodowe Centrum Nauki</named-content>
<named-content content-type="funderidentifier">10.13039/501100004281</named-content>
</funding-source>
<award-id>/19/B/HS4/</award-id>
<award-id>3</award-id>
</award-group>
</funding-group>
</Export>
XSLT我已经尝试过这个 xsl,但是如果我运行这个 xsl 然后生成 XML 单行,它就不能正常工作。
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="xs"
version="2.0">
<xsl:output method="xml" omit-xml-declaration="no"/>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="//text()">
<xsl:value-of select="translate(.,'

', '')"/>
</xsl:template>
</xsl:stylesheet>
解决方案
推荐阅读
- obd-ii - OBD2 - 0x7E8 消息大于 8 字节 - ISO 15765-2
- c# - 将 .webp 重命名为 .jpg 时,Fromstream 流异常“参数无效”
- c# - C#项目从模型列表中检查,并从模型返回特定参数
- python - 按元素组合 2 个 2D numpy 数组,形状相同,同时保留它们的形状
- python - 为四边形字形创建图例标签 - 散景
- java - 读取CSV文件时如何分隔新行?
- metamask - 无法解锁元掩码
- jquery - jquery:如何设置
- javascript - vuejs vuex商店中的授权问题
- slack-api - 对于 Slack API,“OAuth 和权限”选项卡下的设置范围与请求访问令牌时的范围有什么不同