当前位置:  开发笔记 > 运维 > 正文

保留属性空格

如何解决《保留属性空格》经验,为你挑选了1个好方法。

免责声明:以下是针对XML的罪行.这就是我试图用XSLT改变它的原因:)

我的XML目前看起来像这样:


    
    



是的,我将所有文本数据放在属性中.我希望XSLT能救我; 我想走向这样的事情:


    
        blarg
        shablarg
        ...
    
    
        ...
    

到目前为止,我实际上已经完成了所有这些工作,除了我对XML的罪恶更加特殊.一些标签看起来像这样:




我在linux下使用xsltproc,但它似乎没有任何保留空格的选项.我试图使用xsl:preserve-space和xml:space ="preserve"无济于事.我发现的每个选项似乎都适用于在元素本身内保留空格,而不是属性.每一次,以上都改为:

This is the first line This is the third line.  That second line full of whitespace is meaningful

所以问题是,我可以保留属性空白吗?



1> bobince..:

这实际上是一个原始的XML解析问题,而不是XSLT可以帮助您的东西.根据XML标准中的"3.3.3属性值规范化",XML解析必须将该属性值中的换行符转换为空格.所以当前正在阅读你的描述属性和保持换行的任何东西都是错误的.

您可以通过预处理XML来恢复换行符,以便将换行符转移到 字符引用,只要你还没有得到不允许使用charrefs的换行符,例如标记体内部.Charrefs应该作为控制字符存活到属性值,然后您可以将它们转换为文本节点.

推荐阅读
郑小蒜9299_941611_G
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有