問題可能看起來很愚蠢,所以請原諒,但是有人可以解釋一下dp:serialize的用法。dp:datapower中的序列化函數
我在某處讀取它將節點集轉換爲字節流。
字節流意味着什麼它指的是1和0?
另外請讓我知道我們需要使用這個dp擴展功能的場景很少。
感謝
問題可能看起來很愚蠢,所以請原諒,但是有人可以解釋一下dp:serialize的用法。dp:datapower中的序列化函數
我在某處讀取它將節點集轉換爲字節流。
字節流意味着什麼它指的是1和0?
另外請讓我知道我們需要使用這個dp擴展功能的場景很少。
感謝
當您在XSLT處理之中的時候,你正在處理XML的所有位(輸入文檔,上下文節點,該節點集在XSL:變量)是而不是文本,它們是DataPower內存中的優化樹。處理過程中可能會有某些地方需要將某些XML轉換爲文本。作爲一個例子,也許你想加密它。 (只是原始的AES加密,沒有那些花哨的OASIS XML加密標準。)這就是dp:serialize進來的地方。它會將內存中的節點集轉換爲包含XML語法文本的字符串。
代碼。我們需要代碼。
<xsl:variable name="my-node-set">
<xyzzy>
<plugh>Nothing happens.</plugh>
</xyzzy>
</xsl:variable>
<xsl:variable name="my-xml-string">
<dp:serialize select="$my-node-set"/>
</xsl:variable>
<xsl:variable name="my-ciphered"
select="dp:encode($alg-aes, $secret-key, $my-xml-string)"/>
如果你需要走另一條路 - 你已經有了,你是相當肯定是XML格式,並希望把它變成一個xsl的字符串:包含節點集變量(所以您可以使用XPath通過它來導航) - 那麼你可以使用DP:解析:
<xsl:variable name="my-node-set"
select="dp:parse($my-string)"/>
我從來沒有挺能找出原因,他們決定實施< DP:連載>作爲一個擴展元素和dp:parse()作爲擴展函數。對我來說似乎不對稱。
感謝您的回覆。請幫助我瞭解是否對於特定的xml塊我總是希望它作爲一個文本,我可以定義特定的塊作爲cdata這將幫助我實現與serialize相同的條件或兩個功能都完全不同,並在不同的場景? – user3173953 2014-11-24 07:14:36