xml – 保存属性空格
发布时间:2020-12-16 07:42:58 所属栏目:百科 来源:网络整理
导读:免责声明:以下是对 XML的罪名.这就是为什么我试图用XSLT来改变它:) 我的XML目前看起来像这样: root object name="blarg" property1="shablarg" property2="werg".../ object name="yetanotherobject" ...//root 是的,我把所有的文本数据都放在属性中.我希
免责声明:以下是对
XML的罪名.这就是为什么我试图用XSLT来改变它:)
我的XML目前看起来像这样: <root> <object name="blarg" property1="shablarg" property2="werg".../> <object name="yetanotherobject" .../> </root> 是的,我把所有的文本数据都放在属性中.我希望XSLT能救我我想转向这样的事情: <root> <object> <name>blarg</name> <property1>shablarg</name> ... </object> <object> ... </object> </root> 我实际上已经完成了所有这些工作,除了我对XML的罪恶更多…特别之外.一些标签看起来像这样: <object description = "This is the first line This is the third line. That second line full of whitespace is meaningful"/> 我在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 那么问题是,我可以保留属性空格吗?
这实际上是一个原始的XML解析问题,而不是XSLT可以帮助您.根据XML标准中的“3.3.3属性值归一化”,XML解析必须将该属性值中的换行符转换为空格.所以目前正在阅读你的描述属性和保留换行符的任何事情都是错误的.
您可以通过预处理XML来转换换行符来恢复换行符. #10;字符引用,只要你还没有换行符,不允许使用charref,例如标签体内. Charref应该作为控制字符生存到属性值,然后可以将它们转换为文本节点. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |