题
我意识到这不是很优雅或不理想,但是(在格式正确的XML中)允许XML元素中的属性值跨越多行吗?
例如 通用标签
是的,我知道有更好的书写方式。我会这样写: 通用标签
或: 通用标签
但是我们有自己的XML解析器,我想知道第一个示例是否在格式正确的XML中允许。
解决方案
http://www.w3.org/TR/REC-xml/#NT-AttValue
似乎可以说除<
,&
和分隔符('
或"
)之外的所有内容都可以。因此换行符也应该如此。
其他提示
这是允许的,但是根据W3C的建议,您的XML解析器应将所有空格字符归一化为空格(0x20)-这样示例的输出将有所不同(输出的“&#13;&#10;”,但在第一种情况下只能使用空格。
.NET仅: 如果不确定目标字符串是否为有效的xml属性(并通过代码提供此属性的值),则始终可以使用 SecurityElement.Escape 函数可对无效字符进行转义。
根据此功能的说明,唯一无效的字符是:
<
,>
,&
,'
,"
这意味着(正如我的前任所写的那样),新行应该可以。
是的,第一个示例是有效的示例。
不隶属于 StackOverflow