_csharp_hashtable.xslt 模板邏輯深度解析
- 兩個
xsl:template:主模板匹配根節點,子模板 name="table" 處理單表。
- 主模板
for-each select="//Table" → call-template name="table",類主函數調用子函數。
子模板關鍵片段
public static string[] FieldNames { get { return new string[]{
,
""
}; } }
public byte[]
{ get { return (byte[])myValues[""]; } set { myValues[""] = value; } }
public
{ get { return Convert.To
(myValues[""]); } set { myValues[""] = value; } }
XSLT 程式設計特徵
xsl:variable 為不可變常量。
concat() 多參數字串串接。
xsl:choose/when/otherwise 類 switch/if-else 鏈。
position() 取得迴圈索引(1-based)。
xsl:text 保留空白、換行,提升可讀性。
其他內建模板
_csharp.xslt:以獨立欄位變數替代 Hashtable。
_java.xslt、_VB6.xslt:跨語言生成示範。