SAP ABAP实用技巧介绍系列之 template的match顺序

111 阅读1分钟

Created by Jerry Wang on Jun 26, 2014

用于测试的xml:

<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
<cd>
<title>Hide your heart</title>
<artist>Bonnie Tyler</artist>
<country>UK</country>
<company>CBS Records</company>
<price>9.90</price>
<year>1988</year>
</cd>
</catalog>

clipboard1

step1: 整个document 被匹配,输出<html><body,当前执行到<h2>My CD Collection</h2> ( 被蓝色标识出来)

clipboard2

step2: <h2>My CD Collection</h2>添加到输出,开始执行 < xsl:apply-templates/>:

clipboard3

step3: 从debugger callstack观察到line 7的apply-templates 会trigger /catalog/cd/title node的匹配,进入line 14 p node:

clipboard4

clipboard5

step4: 输出p node的内容(line 16 )

clipboard6

callstack:

clipboard7

step5: title node的匹配完成,继续剩下的document 输出:

clipboard8

callstack从line 16 返回到line 0:

clipboard9

clipboard7