我在使用XSLT格式化XML时遇到问题 . 目前我已编写代码:
<FileData>
<File
FileNumber="{$ISCI}"
title="Test Ad"
advertiser="{$Advertiser}"
/>
</FileData>
这反过来给我一个格式如下的输出:
<?xml version="1.0" encoding="utf-8"?>
<FileData>
<File FileNumber="CBIPI3316B6" advertiser="SOKOLOVE LAW" title="Test Ad"/>
</FileData>
我需要一种格式:
<?xml version="1.0" encoding="utf-8"?>
<FileData>
<File
FileNumber= "CBIPI3316B6"
advertiser= "SOKOLOVE LAW"
title= "Test Ad"
/>
有一种简单的方法来转换它吗?我尝试使用&#xa但是我无法成功更改输出 .
1 回答
您没有在XSLT代码中编写词法结果,而是编写指令以创建可以序列化的结果树 . 所以你是否有一个文字结果元素写成
要么
并不确定XSLT代码的序列化结果如何与属性相关 . 据我记得,XSLT规范没有规定属性格式和缩进 . 然而,Saxon 9的商业版支持序列化扩展属性
saxon:line-length
用于指定序列化的行长度,如果设置得非常低,则每个属性最终都在它自己的行上,所以例如输出
您将不得不检查您的XSLT处理器是否提供类似的东西,但一般情况下,如果您真的想要特定的序列化,那么我认为您需要编写自己的序列化程序来获取XSLT转换的树结果并将其序列化或插入XSLT加工工具链 .