2017-05-02 74 views
1

在我的情況下,我有一個自動化的XSLT(1.0)運行,將文件轉換爲SOAP格式並通過WSDL推送它們。但是,由於源對於良好的輸入數據來說是不可靠的,有時我必須拿起並處理的XML文件是空白的。有沒有辦法在轉換和輸出期間向這些文件注入一個值或忽略這些空白文件?將空白(空)輸入到XSLT的XML文件?

+0

你是什麼意思的「空白」?你的意思是一個零字節文件(零字節),還是你的意思是一個具有XML元素的文件,但沒有一個被填充?如果前者,我不認爲任何純粹的XSL引擎會接受空文件 - 例如,如果輸入文件完全爲空,撒克遜就會吐出「文件過早結束」錯誤。如果輸入文件的內容無效,格式良好的XML,撒克遜人會吐出不同的錯誤。你如何處理文件? –

+0

如果一個文件是「空白」,那麼它不是一個XML文件。 –

回答

1

不,XSLT 1.0轉換的輸入必須是一個格式良好的XML文檔,並且格式良好,一個XML文檔必須具有單個根元素。因此,您的轉換不能將空白文檔作爲輸入。

修復空的「XML」文檔的損壞來源,或在文件遇到XSLT轉換之前對其進行預處理。

另請參閱How to read plain text content with XSLT 1.0的一些額外的替代品。

+1

謝謝大家,這是我所害怕的,但我無法在任何地方找到可靠的答案。 – Willfergy