我有以下問題:我有一個XML和一個XSLT文件來處理它並生成輸出。我可以通過XSLT將控制字符置於XML嗎?
該進程的輸出應該包含一個控制字符'0B'。據我所知,XML不嵌入控制字符,所以我怎麼做到這一點?
我有以下問題:我有一個XML和一個XSLT文件來處理它並生成輸出。我可以通過XSLT將控制字符置於XML嗎?
該進程的輸出應該包含一個控制字符'0B'。據我所知,XML不嵌入控制字符,所以我怎麼做到這一點?
結果是否意味着是XML文件?正如你所說,XML不允許字符U + 000B。因此,根據定義,任何包含該字符的文件都不是有效的XML文件。這裏的大圖是什麼?你爲什麼需要那個角色?你可以選擇哪些替代方案?
如果您嘗試創建文本文件作爲XSLT轉換的結果,則這是另一回事。
在添加到XML文檔之前,您還可以編碼包含0x0B到Base64的有效負載。
這將依賴於您的輸出轉換的使用者能夠從Base64轉換回原始編碼。
生成的XML文檔從XSL文件獲取其硬編碼值 – 2009-09-11 09:18:28
如果相關的XML格式支持這些字符,我希望它們駐留在某些支持CDATA的元素中。
你可以把你的角色放入CDATA部分嗎? XSLT有一個用於創建CDATA節的構造(< xsl:cdata >)。在內部,您可以使用XML實體引用編碼您的角色< xsl:entity-ref/>。
讀取您的XML文件的解析器應該能夠將這些entityrefs轉換爲適當的字符。
我需要把它轉換成XML文檔,然後把這個文檔轉換成Java Object(jPOS ISOMessage Object通過網絡發送) XML文件的值之一應該是U + 000B,是否可能? – 2009-09-11 09:17:32
不是沒有逃避,沒有。你可以選擇另一個你不會在別處使用的「特殊」(但支持)字符,然後恰當地在兩個字符之間切換。相當可怕,但它會奏效。 – 2009-09-11 09:20:04
您的意思是在XSLT中,我將生成的XML的值設置爲支持特定字符而不是U + 000B,然後當轉到使用此XML文件的代碼時,我將此字符的值更改回U + 0000B? – 2009-09-11 09:29:54