XML(Extensible Markup Language)源自 SGML,兼具簡單性、可擴展性、開放性、互操作性與自描述性。它是 Web 服務、電子商務、異構系統整合的標準資料交換格式。XML 文件本身即為半結構化資料模型,易於與關聯式資料庫欄位對映,支援精確查詢與模型抽取。
Delphi 7 Studio 強化了 XML/XSL 技術支援,主要體現在五大領域:
TClientDataSet + TXMLTransform + TXMLTransformClient 實現 DataPacket 與 XML 雙向轉換,XML Mapper 視覺化定義對映關係。TWebModule + TWebActionItem 處理 HTTP 請求回應。此外,BizSnap 平台提供 SOAP/Web Service RAD 開發能力,支援與 .NET、BizTalk、Sun ONE 整合;ECO 框架實現 MDA 模型驅動開發與 OR Mapping。
步驟 1: 安裝 WebBroker Extensions,新建「XSLT WebServer Application」專案,產生 TXSLWebModule。
步驟 2: 新增 TXSLActions,設定 XML Template = cars.xml、XSL StyleSheet = cars.xslt。
步驟 3: 定義 XML 資料(cars.xml)與 XSLT 樣式表(cars.xslt):
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="cars.xslt"?>
<cars>
<type>Cars</type>
<car><name>Commodore</name><price>26,000</price></car>
<car><name>Falcon</name><price>24,500</price></car>
</cars>
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="https://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<HTML><HEAD><TITLE><xsl:value-of select="cars/type"/></TITLE></HEAD>
<BODY><TABLE border="1"><TR><TD>Name</TD><TD>Price</TD></TR>
<xsl:for-each select="cars/car">
<TR><TD><xsl:value-of select="name"/></TD>
<TD><xsl:value-of select="price"/></TD></TR></xsl:for-each>
</TABLE></BODY></HTML></xsl:template>
</xsl:stylesheet>
步驟 4: 編譯部署至 IIS/Apache,請求 /ISAPI/prjDemo.dll/ 即可看到 XSLT 轉換後的 HTML 表格。流程:WebModule 載入 XML → 觸發 Action → 載入 XSLT → Transform Processor 轉換 → 回傳 HTML。
XML 已成異構系統整合基石,Delphi 提供從資料庫綁定、多層 Web 架構到 Web Service 的完整工具鏈。掌握 XML/XSLT/WebBroker/WebSnap 技術棧,可構建符合業界標準的分散式企業級應用系統。