XSL Identity Transformation

的作用大家應該知道了,便是把 的格式從一種轉成另一種。比如說,把 RSS 或 ATOM 轉為可在瀏覽器上直接觀看的 XHTML (Feedburner 的功能之一),又或者把 格式簡化,程式更容易套取資料。但是,你可有想過以 把格式原封不動的弄出來?

或許你會問,這樣是多此一舉,既然一樣啦,為甚麼還要 Transform?

除錯。可能大家沒有這樣的經驗:看不到源 XML。源 XML 是從呼叫 SAX 各個 handler 的函數虛擬出來,根本便沒有 XML 產生過,除錯的時候很來找到問題的所在。用 Identity Transform 就好了,甚麼 XML 經 Transformer 一過便列了出來。

有些時候想把特定的元件改變,但其他則維持原狀,也可以透過從 Identity Transformation 樣版匯入其他樣版達到目的。此外,就是弄出不同排位次序但資料不變的 XML 檔案。

把 identity transformation template 貼出來看看:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>

延伸閱讀:XML.com: Using XSLT to Assist Regression Testing

Leave a Reply

Your email address will not be published. Required fields are marked *