空白(空)输入XML文件到XSLT?

空白(空)输入XML文件到XSLT?,xml,xslt,xslt-1.0,Xml,Xslt,Xslt 1.0,在我的情况下,我有一个自动运行的XSLT(1.0),将文件转换为SOAP格式,并将它们推送到WSDL上。然而,由于源对于良好的输入数据是不可靠的,所以有时我必须提取和处理的XML文件是空白的。有没有办法在转换和输出过程中为这些文件注入一个值,或者忽略这些空白文件?没有,XSLT 1.0转换的输入必须是格式良好的XML文档,而要格式良好,XML文档必须有一个根元素。因此,转换不能将空白(空)文档作为输入 修复空“XML”文档的损坏源,或者在文件到达XSLT转换之前对其进行预处理 另请参见了解一些其

在我的情况下,我有一个自动运行的XSLT(1.0),将文件转换为SOAP格式,并将它们推送到WSDL上。然而,由于源对于良好的输入数据是不可靠的,所以有时我必须提取和处理的XML文件是空白的。有没有办法在转换和输出过程中为这些文件注入一个值,或者忽略这些空白文件?

没有,XSLT 1.0转换的输入必须是格式良好的XML文档,而要格式良好,XML文档必须有一个根元素。因此,转换不能将空白(空)文档作为输入

修复空“XML”文档的损坏源,或者在文件到达XSLT转换之前对其进行预处理


另请参见了解一些其他替代方案。

您所说的“空白”到底是什么意思?您是指内容为零(零字节)的文件,还是指包含XML元素但没有填充的文件?如果是前者,我认为任何纯XSL引擎都不会接受空文件——例如,如果输入文件完全为空,Saxon会抛出一个
过早结束文件的错误。如果输入文件包含无效、格式良好的XML内容,Saxon会抛出不同的错误。你是如何处理这些文件的?如果一个文件是“空白”的,那么它就不是XML文件。谢谢大家,这正是我所担心的,但我在任何地方都找不到可靠的答案。