40. Araxis Merge File Comparison Report

Produced by Araxis Merge on Fri Nov 21 17:21:45 2008 UTC. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a reasonably standards compliant browser such as the latest version of Firefox or Internet Explorer. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.

40.1 Files compared

# Location File Last Modified
1 C:\Documents and Settings\allums\Desktop\2008.1.20396.b\Formats\Shared\common\pages pagetemplate.xsl Fri Apr 28 23:53:36 2006 UTC
2 C:\Documents and Settings\allums\Desktop\2008.2.20597.p2\Formats\Shared\common\pages pagetemplate.xsl Tue Aug 12 22:28:14 2008 UTC

40.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 2 718
Changed 1 4
Inserted 0 0
Removed 0 0

40.3 Comparison options

Whitespace Differences in whitespace are significant
Character case Differences in character case are significant
Line endings Differences in line endings (CR and LF characters) are ignored
CR/LF characters Not shown in the comparison detail

40.4 Active regular expressions

Expression Description
\$(Author|Date|Header|Id|Locker|Name|RCSfile|Revision|Source|State):[^$]*\$ CVS comments

40.5 Comparison detail

1   <?xml vers ion="1.0"  encoding=" UTF-8"?>   1   <?xml vers ion="1.0"  encoding=" UTF-8"?>
2   <xsl:style sheet vers ion="1.0"  xmlns="htt p://www.w3 .org/1999/ xhtml"   2   <xsl:style sheet vers ion="1.0"  xmlns="htt p://www.w3 .org/1999/ xhtml"
3                                    xmlns:html ="http://w ww.w3.org/ 1999/xhtml "   3                                    xmlns:html ="http://w ww.w3.org/ 1999/xhtml "
4                                    xmlns:xsl= "http://ww w.w3.org/1 999/XSL/Tr ansform"   4                                    xmlns:xsl= "http://ww w.w3.org/1 999/XSL/Tr ansform"
5                                    xmlns:msxs l="urn:sch emas-micro soft-com:x slt"   5                                    xmlns:msxs l="urn:sch emas-micro soft-com:x slt"
6                                    xmlns:wwmo de="urn:We bWorks-Eng ine-Mode"   6                                    xmlns:wwmo de="urn:We bWorks-Eng ine-Mode"
7                                    xmlns:wwli nks="urn:W ebWorks-En gine-Links -Schema"   7                                    xmlns:wwli nks="urn:W ebWorks-En gine-Links -Schema"
8                                    xmlns:wwfi les="urn:W ebWorks-En gine-Files -Schema"   8                                    xmlns:wwfi les="urn:W ebWorks-En gine-Files -Schema"
9                                    xmlns:wwdo c="urn:Web Works-Docu ment-Schem a"   9                                    xmlns:wwdo c="urn:Web Works-Docu ment-Schem a"
10                                    xmlns:wwsp lits="urn: WebWorks-E ngine-Spli ts-Schema"   10                                    xmlns:wwsp lits="urn: WebWorks-E ngine-Spli ts-Schema"
11                                    xmlns:wwto c="urn:Web Works-Engi ne-TOC-Sch ema"   11                                    xmlns:wwto c="urn:Web Works-Engi ne-TOC-Sch ema"
12                                    xmlns:wwpr oject="urn :WebWorks- Publish-Pr oject"   12                                    xmlns:wwpr oject="urn :WebWorks- Publish-Pr oject"
13                                    xmlns:wwpa ge="urn:We bWorks-Pag e-Template -Schema"   13                                    xmlns:wwpa ge="urn:We bWorks-Pag e-Template -Schema"
14                                    xmlns:wwpr ogress="ur n:WebWorks -XSLT-Exte nsion-Prog ress"   14                                    xmlns:wwpr ogress="ur n:WebWorks -XSLT-Exte nsion-Prog ress"
15                                    xmlns:wwlo g="urn:Web Works-XSLT -Extension -Log"   15                                    xmlns:wwlo g="urn:Web Works-XSLT -Extension -Log"
16                                    xmlns:wwfi lesystem=" urn:WebWor ks-XSLT-Ex tension-Fi leSystem"   16                                    xmlns:wwfi lesystem=" urn:WebWor ks-XSLT-Ex tension-Fi leSystem"
17                                    xmlns:wwur i="urn:Web Works-XSLT -Extension -URI"   17                                    xmlns:wwur i="urn:Web Works-XSLT -Extension -URI"
18                                    xmlns:wwst ring="urn: WebWorks-X SLT-Extens ion-String Utilities"   18                                    xmlns:wwst ring="urn: WebWorks-X SLT-Extens ion-String Utilities"
19                                    xmlns:wwfi lesext="ur n:WebWorks -XSLT-Exte nsion-File s"   19                                    xmlns:wwfi lesext="ur n:WebWorks -XSLT-Exte nsion-File s"
20                                    xmlns:wwpr ojext="urn :WebWorks- XSLT-Exten sion-Proje ct"   20                                    xmlns:wwpr ojext="urn :WebWorks- XSLT-Exten sion-Proje ct"
21                                    xmlns:wwex sldoc="urn :WebWorks- XSLT-Exten sion-Docum ent"   21                                    xmlns:wwex sldoc="urn :WebWorks- XSLT-Exten sion-Docum ent"
22                                    exclude-re sult-prefi xes="xsl w wmode msxs l wwlinks  wwfiles ww doc wwspli ts wwtoc w wproject w wpage wwpr ogress wwl og wwfiles ystem wwur i wwstring  wwfilesex t wwprojex t wwexsldo c"   22                                    exclude-re sult-prefi xes="xsl w wmode msxs l wwlinks  wwfiles ww doc wwspli ts wwtoc w wproject w wpage wwpr ogress wwl og wwfiles ystem wwur i wwstring  wwfilesex t wwprojex t wwexsldo c"
23   >   23   >
24    <xsl:key  name="wwpa ge-files-b y-path" ma tch="wwpag e:File" us e="@path"  />   24    <xsl:key  name="wwpa ge-files-b y-path" ma tch="wwpag e:File" us e="@path"  />
25    <xsl:key  name="wwpa ge-conditi ons-by-nam e" match=" wwpage:Con dition" us e="@name"  />   25    <xsl:key  name="wwpa ge-conditi ons-by-nam e" match=" wwpage:Con dition" us e="@name"  />
26     26  
27     27  
28    <xsl:temp late match ="/" mode= "wwmode:pa getemplate -files">   28    <xsl:temp late match ="/" mode= "wwmode:pa getemplate -files">
29     <!-- Loc ate 'copy- relative-t o-output'  action att ributes -- >   29     <!-- Loc ate 'copy- relative-t o-output'  action att ributes -- >
30     <!--                                                         -- >   30     <!--                                                         -- >
31     <xsl:var iable name ="VarPageT emplateFil esAsXML">   31     <xsl:var iable name ="VarPageT emplateFil esAsXML">
32      <xsl:fo r-each sel ect="//*[@ wwpage:*]" >   32      <xsl:fo r-each sel ect="//*[@ wwpage:*]" >
33       <xsl:v ariable na me="VarNod e" select= "." />   33       <xsl:v ariable na me="VarNod e" select= "." />
34     34  
35       <xsl:f or-each se lect="$Var Node/@*[st arts-with( name(), 'w wpage:attr ibute-')]" >   35       <xsl:f or-each se lect="$Var Node/@*[st arts-with( name(), 'w wpage:attr ibute-')]" >
36        <xsl: variable n ame="VarAc tionAttrib ute" selec t="." />   36        <xsl: variable n ame="VarAc tionAttrib ute" selec t="." />
37        <xsl: if test="$ VarActionA ttribute =  'copy-rel ative-to-o utput'">   37        <xsl: if test="$ VarActionA ttribute =  'copy-rel ative-to-o utput'">
38         <!--  Report fi le -->   38         <!--  Report fi le -->
39         <!--               -->   39         <!--               -->
40         <xsl :variable  name="VarA ttributeNa me" select ="substrin g-after(na me($VarAct ionAttribu te), 'wwpa ge:attribu te-')" />   40         <xsl :variable  name="VarA ttributeNa me" select ="substrin g-after(na me($VarAct ionAttribu te), 'wwpa ge:attribu te-')" />
41         <xsl :variable  name="VarA ttribute"  select="$V arNode/@*[ name() = $ VarAttribu teName][1] " />   41         <xsl :variable  name="VarA ttribute"  select="$V arNode/@*[ name() = $ VarAttribu teName][1] " />
42         <xsl :for-each  select="$V arAttribut e">   42         <xsl :for-each  select="$V arAttribut e">
43          <ww page:File  path="{$Va rAttribute }" />   43          <ww page:File  path="{$Va rAttribute }" />
44         </xs l:for-each >   44         </xs l:for-each >
45        </xsl :if>   45        </xsl :if>
46       </xsl: for-each>   46       </xsl: for-each>
47      </xsl:f or-each>   47      </xsl:f or-each>
48     </xsl:va riable>   48     </xsl:va riable>
49     <xsl:var iable name ="VarPageT emplateFil es" select ="msxsl:no de-set($Va rPageTempl ateFilesAs XML)" />   49     <xsl:var iable name ="VarPageT emplateFil es" select ="msxsl:no de-set($Va rPageTempl ateFilesAs XML)" />
50     50  
51     <!-- Eli minate dup licates -- >   51     <!-- Eli minate dup licates -- >
52     <!--                        -- >   52     <!--                        -- >
53     <xsl:for -each sele ct="$VarPa geTemplate Files/wwpa ge:File">   53     <xsl:for -each sele ct="$VarPa geTemplate Files/wwpa ge:File">
54      <xsl:va riable nam e="VarPage TemplateFi le" select ="." />   54      <xsl:va riable nam e="VarPage TemplateFi le" select ="." />
55     55  
56      <xsl:va riable nam e="VarPage TemplateFi lesWithPat h" select= "key('wwpa ge-files-b y-path', $ VarPageTem plateFile/ @path)" />   56      <xsl:va riable nam e="VarPage TemplateFi lesWithPat h" select= "key('wwpa ge-files-b y-path', $ VarPageTem plateFile/ @path)" />
57      <xsl:if  test="cou nt($VarPag eTemplateF ilesWithPa th[1] | $V arPageTemp lateFile)  = 1">   57      <xsl:if  test="cou nt($VarPag eTemplateF ilesWithPa th[1] | $V arPageTemp lateFile)  = 1">
58       <xsl:c opy-of sel ect="$VarP ageTemplat eFile" />   58       <xsl:c opy-of sel ect="$VarP ageTemplat eFile" />
59      </xsl:i f>   59      </xsl:i f>
60     </xsl:fo r-each>   60     </xsl:fo r-each>
61    </xsl:tem plate>   61    </xsl:tem plate>
62     62  
63     63  
64    <xsl:temp late match ="/" mode= "wwmode:pa getemplate ">   64    <xsl:temp late match ="/" mode= "wwmode:pa getemplate ">
65     <xsl:par am name="P aramOutput DirectoryP ath" />   65     <xsl:par am name="P aramOutput DirectoryP ath" />
66     <xsl:par am name="P aramOutput Path" />   66     <xsl:par am name="P aramOutput Path" />
67     <xsl:par am name="P aramCondit ions" />   67     <xsl:par am name="P aramCondit ions" />
68     <xsl:par am name="P aramReplac ements" />   68     <xsl:par am name="P aramReplac ements" />
69     69  
70     <xsl:app ly-templat es select= "node() |  text() | c omment() |  processin g-instruct ion()" mod e="wwmode: pagetempla te">   70     <xsl:app ly-templat es select= "node() |  text() | c omment() |  processin g-instruct ion()" mod e="wwmode: pagetempla te">
71      <xsl:wi th-param n ame="Param OutputDire ctoryPath"  select="$ ParamOutpu tDirectory Path" />   71      <xsl:wi th-param n ame="Param OutputDire ctoryPath"  select="$ ParamOutpu tDirectory Path" />
72      <xsl:wi th-param n ame="Param OutputPath " select=" $ParamOutp utPath" />   72      <xsl:wi th-param n ame="Param OutputPath " select=" $ParamOutp utPath" />
73      <xsl:wi th-param n ame="Param Conditions " select=" $ParamCond itions" />   73      <xsl:wi th-param n ame="Param Conditions " select=" $ParamCond itions" />
74      <xsl:wi th-param n ame="Param Replacemen ts" select ="$ParamRe placements " />   74      <xsl:wi th-param n ame="Param Replacemen ts" select ="$ParamRe placements " />
75     </xsl:ap ply-templa tes>   75     </xsl:ap ply-templa tes>
76    </xsl:tem plate>   76    </xsl:tem plate>
77     77  
78     78  
79    <xsl:temp late match ="*" mode= "wwmode:pa getemplate -copynodes ">   79    <xsl:temp late match ="*" mode= "wwmode:pa getemplate -copynodes ">
80     <xsl:var iable name ="VarNode"  select=". " />   80     <xsl:var iable name ="VarNode"  select=". " />
81     81  
82     <xsl:ele ment name= "{local-na me($VarNod e)}" names pace="{nam espace-uri ($VarNode) }">   82     <xsl:ele ment name= "{local-na me($VarNod e)}" names pace="{nam espace-uri ($VarNode) }">
83      <xsl:co py-of sele ct="@*" />   83      <xsl:co py-of sele ct="@*" />
84     84  
85      <xsl:ap ply-templa tes mode=" wwmode:pag etemplate- copynodes"  />   85      <xsl:ap ply-templa tes mode=" wwmode:pag etemplate- copynodes"  />
86     </xsl:el ement>   86     </xsl:el ement>
87    </xsl:tem plate>   87    </xsl:tem plate>
88     88  
89     89  
90    <xsl:temp late match ="text() |  comment()  | process ing-instru ction()" m ode="wwmod e:pagetemp late-copyn odes">   90    <xsl:temp late match ="text() |  comment()  | process ing-instru ction()" m ode="wwmod e:pagetemp late-copyn odes">
91     <xsl:cop y />   91     <xsl:cop y />
92    </xsl:tem plate>   92    </xsl:tem plate>
93     93  
94     94  
95    <xsl:temp late name= "PageTempl ate-Replac eContent">   95    <xsl:temp late name= "PageTempl ate-Replac eContent">
96     <xsl:par am name="P aramConten tName" />   96     <xsl:par am name="P aramConten tName" />
97     <xsl:par am name="P aramReplac ements" />   97     <xsl:par am name="P aramReplac ements" />
98     98  
99     <xsl:var iable name ="VarRepla cement" se lect="$Par amReplacem ents/wwpag e:Replacem ent[@name  = $ParamCo ntentName] [1]" />   99     <xsl:var iable name ="VarRepla cement" se lect="$Par amReplacem ents/wwpag e:Replacem ent[@name  = $ParamCo ntentName] [1]" />
100     <xsl:if  test="coun t($VarRepl acement) =  1">   100     <xsl:if  test="coun t($VarRepl acement) =  1">
101      <xsl:ch oose>   101      <xsl:ch oose>
102       <xsl:w hen test=" $VarReplac ement/@val ue">   102       <xsl:w hen test=" $VarReplac ement/@val ue">
103        <xsl: value-of s elect="$Va rReplaceme nt/@value"  />   103        <xsl: value-of s elect="$Va rReplaceme nt/@value"  />
104       </xsl: when>   104       </xsl: when>
105     105  
106       <xsl:o therwise>   106       <xsl:o therwise>
107        <xsl: apply-temp lates sele ct="$VarRe placement/ node() | $ VarReplace ment/text( ) | $VarRe placement/ comment()  | $VarRepl acement/pr ocessing-i nstruction ()" mode=" wwmode:pag etemplate- copynodes"  />   107        <xsl: apply-temp lates sele ct="$VarRe placement/ node() | $ VarReplace ment/text( ) | $VarRe placement/ comment()  | $VarRepl acement/pr ocessing-i nstruction ()" mode=" wwmode:pag etemplate- copynodes"  />
108       </xsl: otherwise>   108       </xsl: otherwise>
109      </xsl:c hoose>   109      </xsl:c hoose>
110     </xsl:if >   110     </xsl:if >
111    </xsl:tem plate>   111    </xsl:tem plate>
112     112  
113     113  
114    <xsl:temp late name= "PageTempl ate-Replac eAttribute s">   114    <xsl:temp late name= "PageTempl ate-Replac eAttribute s">
115     <xsl:par am name="P aramOutput DirectoryP ath" />   115     <xsl:par am name="P aramOutput DirectoryP ath" />
116     <xsl:par am name="P aramOutput Path" />   116     <xsl:par am name="P aramOutput Path" />
117     <xsl:par am name="P aramAttrib utes" />   117     <xsl:par am name="P aramAttrib utes" />
118     <xsl:par am name="P aramReplac ements" />   118     <xsl:par am name="P aramReplac ements" />
119     119  
120     <!-- Ext ract actio n attribut es -->   120     <!-- Ext ract actio n attribut es -->
121     <!--                                   -- >   121     <!--                                   -- >
122     <xsl:var iable name ="VarActio nAttribute sAsXML">   122     <xsl:var iable name ="VarActio nAttribute sAsXML">
123      <xsl:fo r-each sel ect="$Para mAttribute s[starts-w ith(name() , 'wwpage: attribute- ')]">   123      <xsl:fo r-each sel ect="$Para mAttribute s[starts-w ith(name() , 'wwpage: attribute- ')]">
124       <xsl:v ariable na me="VarAtt ribute" se lect="." / >   124       <xsl:v ariable na me="VarAtt ribute" se lect="." / >
125     125  
126       <wwpag e:ActionAt tribute na me="{trans late(subst ring-after (name($Var Attribute) , 'wwpage: attribute- '), '-', ' :')}" acti on="{$VarA ttribute}"  />   126       <wwpag e:ActionAt tribute na me="{trans late(subst ring-after (name($Var Attribute) , 'wwpage: attribute- '), '-', ' :')}" acti on="{$VarA ttribute}"  />
127      </xsl:f or-each>   127      </xsl:f or-each>
128     </xsl:va riable>   128     </xsl:va riable>
129     <xsl:var iable name ="VarActio nAttribute s" select= "msxsl:nod e-set($Var ActionAttr ibutesAsXM L)" />   129     <xsl:var iable name ="VarActio nAttribute s" select= "msxsl:nod e-set($Var ActionAttr ibutesAsXM L)" />
130     130  
131     <!-- Emi t new attr ibutes -->   131     <!-- Emi t new attr ibutes -->
132     <!--                       -->   132     <!--                       -->
133     <xsl:for -each sele ct="$Param Attributes [not(start s-with(nam e(), 'wwpa ge:attribu te-'))]">   133     <xsl:for -each sele ct="$Param Attributes [not(start s-with(nam e(), 'wwpa ge:attribu te-'))]">
134      <xsl:va riable nam e="VarAttr ibute" sel ect="." />   134      <xsl:va riable nam e="VarAttr ibute" sel ect="." />
135     135  
136      <xsl:va riable nam e="VarActi onAttribut e" select= "$VarActio nAttribute s/wwpage:A ctionAttri bute[@name  = name($V arAttribut e)][1]" />   136      <xsl:va riable nam e="VarActi onAttribut e" select= "$VarActio nAttribute s/wwpage:A ctionAttri bute[@name  = name($V arAttribut e)][1]" />
137      <xsl:ch oose>   137      <xsl:ch oose>
138       <xsl:w hen test=" count($Var ActionAttr ibute) = 1 ">   138       <xsl:w hen test=" count($Var ActionAttr ibute) = 1 ">
139        <!--  Determine  replacemen t value -- >   139        <!--  Determine  replacemen t value -- >
140        <!--                                -- >   140        <!--                                -- >
141        <xsl: choose>   141        <xsl: choose>
142         <xsl :when test ="($VarAct ionAttribu te/@action  = 'copy-r elative-to -output')  or ($VarAc tionAttrib ute/@actio n = 'relat ive-to-out put')">   142         <xsl :when test ="($VarAct ionAttribu te/@action  = 'copy-r elative-to -output')  or ($VarAc tionAttrib ute/@actio n = 'relat ive-to-out put')">
143          <xs l:variable  name="Var AbsoluteOu tput URI " select=" ww uri:MakeAb solute(ww filesystem :Combine($ ParamOutpu tDirectory Path,  'dummy.com ponent'),  $VarAttrib ute)" />   143          <xs l:variable  name="Var AbsoluteOu tput Path " select=" ww
filesystem :Combine($ ParamOutpu tDirectory Path, 
$VarAttrib ute)" />
144          <xs l:variable  name="Var RelativeOu tputURI" s elect="wwu ri:GetRela tiveTo($Va rAbsoluteO utput URI , $ParamOu tputPath)"  />   144          <xs l:variable  name="Var RelativeOu tputURI" s elect="wwu ri:GetRela tiveTo($Va rAbsoluteO utput Path , $ParamOu tputPath)"  />
145     145  
146          <ww page:Attri bute name= "{name($Va rAttribute )}" value= "{$VarRela tiveOutput URI}" />   146          <ww page:Attri bute name= "{name($Va rAttribute )}" value= "{$VarRela tiveOutput URI}" />
147         </xs l:when>   147         </xs l:when>
148     148  
149         <xsl :otherwise >   149         <xsl :otherwise >
150          <xs l:variable  name="Var Replacemen t" select= "$ParamRep lacements/ wwpage:Rep lacement[@ name = $Va rActionAtt ribute/@ac tion][1]"  />   150          <xs l:variable  name="Var Replacemen t" select= "$ParamRep lacements/ wwpage:Rep lacement[@ name = $Va rActionAtt ribute/@ac tion][1]"  />
151          <xs l:if test= "count($Va rReplaceme nt) = 1">   151          <xs l:if test= "count($Va rReplaceme nt) = 1">
152           <w wpage:Attr ibute name ="{name($V arAttribut e)}">   152           <w wpage:Attr ibute name ="{name($V arAttribut e)}">
153            < xsl:attrib ute name=" value">   153            < xsl:attrib ute name=" value">
154              <xsl:choos e>   154              <xsl:choos e>
155               <xsl:when  test="str ing-length ($VarRepla cement/@va lue) &gt;  0">   155               <xsl:when  test="str ing-length ($VarRepla cement/@va lue) &gt;  0">
156                <xsl:val ue-of sele ct="$VarRe placement/ @value" />   156                <xsl:val ue-of sele ct="$VarRe placement/ @value" />
157               </xsl:whe n>   157               </xsl:whe n>
158     158  
159               <xsl:othe rwise>   159               <xsl:othe rwise>
160                <xsl:for -each sele ct="$VarRe placement/ text()">   160                <xsl:for -each sele ct="$VarRe placement/ text()">
161                 <xsl:va lue-of sel ect="norma lize-space (.)" />   161                 <xsl:va lue-of sel ect="norma lize-space (.)" />
162                </xsl:fo r-each>   162                </xsl:fo r-each>
163               </xsl:oth erwise>   163               </xsl:oth erwise>
164              </xsl:choo se>   164              </xsl:choo se>
165            < /xsl:attri bute>   165            < /xsl:attri bute>
166           </ wwpage:Att ribute>   166           </ wwpage:Att ribute>
167          </x sl:if>   167          </x sl:if>
168         </xs l:otherwis e>   168         </xs l:otherwis e>
169        </xsl :choose>   169        </xsl :choose>
170       </xsl: when>   170       </xsl: when>
171     171  
172       <xsl:o therwise>   172       <xsl:o therwise>
173        <!--  Keep previ ous value  -->   173        <!--  Keep previ ous value  -->
174        <!--                        -->   174        <!--                        -->
175        <wwpa ge:Attribu te name="{ name($VarA ttribute)} " value="{ $VarAttrib ute}" />   175        <wwpa ge:Attribu te name="{ name($VarA ttribute)} " value="{ $VarAttrib ute}" />
176       </xsl: otherwise>   176       </xsl: otherwise>
177      </xsl:c hoose>   177      </xsl:c hoose>
178     </xsl:fo r-each>   178     </xsl:fo r-each>
179    </xsl:tem plate>   179    </xsl:tem plate>
180     180  
181     181  
182    <xsl:temp late match ="*[@wwpag e:replace] " mode="ww mode:paget emplate">   182    <xsl:temp late match ="*[@wwpag e:replace] " mode="ww mode:paget emplate">
183     <xsl:par am name="P aramOutput DirectoryP ath" />   183     <xsl:par am name="P aramOutput DirectoryP ath" />
184     <xsl:par am name="P aramOutput Path" />   184     <xsl:par am name="P aramOutput Path" />
185     <xsl:par am name="P aramCondit ions" />   185     <xsl:par am name="P aramCondit ions" />
186     <xsl:par am name="P aramReplac ements" />   186     <xsl:par am name="P aramReplac ements" />
187     187  
188     <xsl:var iable name ="VarNode"  select=". " />   188     <xsl:var iable name ="VarNode"  select=". " />
189     189  
190     <!-- Eva luate cond ition -->   190     <!-- Eva luate cond ition -->
191     <!--                      -->   191     <!--                      -->
192     <xsl:for -each sele ct="$Param Conditions [1]">   192     <xsl:for -each sele ct="$Param Conditions [1]">
193      <xsl:if  test="(co unt($VarNo de/@wwpage :condition ) = 0) or  (count(key ('wwpage-c onditions- by-name',  $VarNode/@ wwpage:con dition)[1] ) = 1)">   193      <xsl:if  test="(co unt($VarNo de/@wwpage :condition ) = 0) or  (count(key ('wwpage-c onditions- by-name',  $VarNode/@ wwpage:con dition)[1] ) = 1)">
194       <!-- C ontent -->   194       <!-- C ontent -->
195       <!--          -->   195       <!--          -->
196       <xsl:c all-templa te name="P ageTemplat e-ReplaceC ontent">   196       <xsl:c all-templa te name="P ageTemplat e-ReplaceC ontent">
197        <xsl: with-param  name="Par amContentN ame" selec t="$VarNod e/@wwpage: replace" / >   197        <xsl: with-param  name="Par amContentN ame" selec t="$VarNod e/@wwpage: replace" / >
198        <xsl: with-param  name="Par amReplacem ents" sele ct="$Param Replacemen ts" />   198        <xsl: with-param  name="Par amReplacem ents" sele ct="$Param Replacemen ts" />
199       </xsl: call-templ ate>   199       </xsl: call-templ ate>
200      </xsl:i f>   200      </xsl:i f>
201     </xsl:fo r-each>   201     </xsl:fo r-each>
202    </xsl:tem plate>   202    </xsl:tem plate>
203     203  
204     204  
205    <xsl:temp late match ="*[@wwpag e:content  and not(@w wpage:repl ace)]" mod e="wwmode: pagetempla te">   205    <xsl:temp late match ="*[@wwpag e:content  and not(@w wpage:repl ace)]" mod e="wwmode: pagetempla te">
206     <xsl:par am name="P aramOutput DirectoryP ath" />   206     <xsl:par am name="P aramOutput DirectoryP ath" />
207     <xsl:par am name="P aramOutput Path" />   207     <xsl:par am name="P aramOutput Path" />
208     <xsl:par am name="P aramCondit ions" />   208     <xsl:par am name="P aramCondit ions" />
209     <xsl:par am name="P aramReplac ements" />   209     <xsl:par am name="P aramReplac ements" />
210     210  
211     <xsl:var iable name ="VarNode"  select=". " />   211     <xsl:var iable name ="VarNode"  select=". " />
212     212  
213     <!-- Eva luate cond ition -->   213     <!-- Eva luate cond ition -->
214     <!--                      -->   214     <!--                      -->
215     <xsl:for -each sele ct="$Param Conditions [1]">   215     <xsl:for -each sele ct="$Param Conditions [1]">
216      <xsl:if  test="(co unt($VarNo de/@wwpage :condition ) = 0) or  (count(key ('wwpage-c onditions- by-name',  $VarNode/@ wwpage:con dition)[1] ) = 1)">   216      <xsl:if  test="(co unt($VarNo de/@wwpage :condition ) = 0) or  (count(key ('wwpage-c onditions- by-name',  $VarNode/@ wwpage:con dition)[1] ) = 1)">
217       <!-- C opy elemen t -->   217       <!-- C opy elemen t -->
218       <!--                -->   218       <!--                -->
219       <xsl:e lement nam e="{local- name($VarN ode)}" nam espace="{n amespace-u ri($VarNod e)}">   219       <xsl:e lement nam e="{local- name($VarN ode)}" nam espace="{n amespace-u ri($VarNod e)}">
220        <!--  Filter att ributes -- >   220        <!--  Filter att ributes -- >
221        <!--                     -- >   221        <!--                     -- >
222        <xsl: variable n ame="VarAt tributesAs XML">   222        <xsl: variable n ame="VarAt tributesAs XML">
223         <xsl :call-temp late name= "PageTempl ate-Replac eAttribute s">   223         <xsl :call-temp late name= "PageTempl ate-Replac eAttribute s">
224          <xs l:with-par am name="P aramOutput DirectoryP ath" selec t="$ParamO utputDirec toryPath"  />   224          <xs l:with-par am name="P aramOutput DirectoryP ath" selec t="$ParamO utputDirec toryPath"  />
225          <xs l:with-par am name="P aramOutput Path" sele ct="$Param OutputPath " />   225          <xs l:with-par am name="P aramOutput Path" sele ct="$Param OutputPath " />
226          <xs l:with-par am name="P aramAttrib utes" sele ct="$VarNo de/@*[(nam e() != 'ww page:conte nt') and ( name() !=  'wwpage:co ndition')] " />   226          <xs l:with-par am name="P aramAttrib utes" sele ct="$VarNo de/@*[(nam e() != 'ww page:conte nt') and ( name() !=  'wwpage:co ndition')] " />
227          <xs l:with-par am name="P aramReplac ements" se lect="$Par amReplacem ents" />   227          <xs l:with-par am name="P aramReplac ements" se lect="$Par amReplacem ents" />
228         </xs l:call-tem plate>   228         </xs l:call-tem plate>
229        </xsl :variable>   229        </xsl :variable>
230        <xsl: variable n ame="VarAt tributes"  select="ms xsl:node-s et($VarAtt ributesAsX ML)" />   230        <xsl: variable n ame="VarAt tributes"  select="ms xsl:node-s et($VarAtt ributesAsX ML)" />
231        <xsl: for-each s elect="$Va rAttribute s/wwpage:A ttribute">   231        <xsl: for-each s elect="$Va rAttribute s/wwpage:A ttribute">
232         <xsl :variable  name="VarA ttribute"  select="."  />   232         <xsl :variable  name="VarA ttribute"  select="."  />
233     233  
234         <xsl :attribute  name="{$V arAttribut e/@name}">   234         <xsl :attribute  name="{$V arAttribut e/@name}">
235          <xs l:value-of  select="$ VarAttribu te/@value"  />   235          <xs l:value-of  select="$ VarAttribu te/@value"  />
236         </xs l:attribut e>   236         </xs l:attribut e>
237        </xsl :for-each>   237        </xsl :for-each>
238     238  
239        <!--  Content -- >   239        <!--  Content -- >
240        <!--          -- >   240        <!--          -- >
241        <xsl: call-templ ate name=" PageTempla te-Replace Content">   241        <xsl: call-templ ate name=" PageTempla te-Replace Content">
242         <xsl :with-para m name="Pa ramContent Name" sele ct="$VarNo de/@wwpage :content"  />   242         <xsl :with-para m name="Pa ramContent Name" sele ct="$VarNo de/@wwpage :content"  />
243         <xsl :with-para m name="Pa ramReplace ments" sel ect="$Para mReplaceme nts" />   243         <xsl :with-para m name="Pa ramReplace ments" sel ect="$Para mReplaceme nts" />
244        </xsl :call-temp late>   244        </xsl :call-temp late>
245       </xsl: element>   245       </xsl: element>
246      </xsl:i f>   246      </xsl:i f>
247     </xsl:fo r-each>   247     </xsl:fo r-each>
248    </xsl:tem plate>   248    </xsl:tem plate>
249     249  
250     250  
251    <xsl:temp late match ="*" mode= "wwmode:pa getemplate ">   251    <xsl:temp late match ="*" mode= "wwmode:pa getemplate ">
252     <xsl:par am name="P aramOutput DirectoryP ath" />   252     <xsl:par am name="P aramOutput DirectoryP ath" />
253     <xsl:par am name="P aramOutput Path" />   253     <xsl:par am name="P aramOutput Path" />
254     <xsl:par am name="P aramCondit ions" />   254     <xsl:par am name="P aramCondit ions" />
255     <xsl:par am name="P aramReplac ements" />   255     <xsl:par am name="P aramReplac ements" />
256     256  
257     <xsl:var iable name ="VarNode"  select=". " />   257     <xsl:var iable name ="VarNode"  select=". " />
258     258  
259     <!-- Eva luate cond ition -->   259     <!-- Eva luate cond ition -->
260     <!--                      -->   260     <!--                      -->
261     <xsl:for -each sele ct="$Param Conditions [1]">   261     <xsl:for -each sele ct="$Param Conditions [1]">
262      <xsl:if  test="(co unt($VarNo de/@wwpage :condition ) = 0) or  (count(key ('wwpage-c onditions- by-name',  $VarNode/@ wwpage:con dition)[1] ) = 1)">   262      <xsl:if  test="(co unt($VarNo de/@wwpage :condition ) = 0) or  (count(key ('wwpage-c onditions- by-name',  $VarNode/@ wwpage:con dition)[1] ) = 1)">
263       <!-- F ilter attr ibutes -->   263       <!-- F ilter attr ibutes -->
264       <!--                     -->   264       <!--                     -->
265       <xsl:v ariable na me="VarAtt ributesAsX ML">   265       <xsl:v ariable na me="VarAtt ributesAsX ML">
266        <xsl: call-templ ate name=" PageTempla te-Replace Attributes ">   266        <xsl: call-templ ate name=" PageTempla te-Replace Attributes ">
267         <xsl :with-para m name="Pa ramOutputD irectoryPa th" select ="$ParamOu tputDirect oryPath" / >   267         <xsl :with-para m name="Pa ramOutputD irectoryPa th" select ="$ParamOu tputDirect oryPath" / >
268         <xsl :with-para m name="Pa ramOutputP ath" selec t="$ParamO utputPath"  />   268         <xsl :with-para m name="Pa ramOutputP ath" selec t="$ParamO utputPath"  />
269         <xsl :with-para m name="Pa ramAttribu tes" selec t="$VarNod e/@*[name( ) != 'wwpa ge:conditi on']" />   269         <xsl :with-para m name="Pa ramAttribu tes" selec t="$VarNod e/@*[name( ) != 'wwpa ge:conditi on']" />
270         <xsl :with-para m name="Pa ramReplace ments" sel ect="$Para mReplaceme nts" />   270         <xsl :with-para m name="Pa ramReplace ments" sel ect="$Para mReplaceme nts" />
271        </xsl :call-temp late>   271        </xsl :call-temp late>
272       </xsl: variable>   272       </xsl: variable>
273       <xsl:v ariable na me="VarAtt ributes" s elect="msx sl:node-se t($VarAttr ibutesAsXM L)" />   273       <xsl:v ariable na me="VarAtt ributes" s elect="msx sl:node-se t($VarAttr ibutesAsXM L)" />
274     274  
275       <!-- P rocess -->   275       <!-- P rocess -->
276       <!--          -->   276       <!--          -->
277       <xsl:c hoose>   277       <xsl:c hoose>
278        <xsl: when test= "$VarNode/ node()[1]  | $VarNode /text()[1]  | $VarNod e/comment( )[1] | $Va rNode/proc essing-ins truction() [1]">   278        <xsl: when test= "$VarNode/ node()[1]  | $VarNode /text()[1]  | $VarNod e/comment( )[1] | $Va rNode/proc essing-ins truction() [1]">
279         <xsl :choose>   279         <xsl :choose>
280          <xs l:when tes t="count($ VarNode/@w wpage:*[na me() != 'w wpage:cond ition'][1] ) = 1">   280          <xs l:when tes t="count($ VarNode/@w wpage:*[na me() != 'w wpage:cond ition'][1] ) = 1">
281           <! -- Copy el ement -->   281           <! -- Copy el ement -->
282           <! --               -->   282           <! --               -->
283           <x sl:element  name="{lo cal-name($ VarNode)}"  namespace ="{namespa ce-uri($Va rNode)}">   283           <x sl:element  name="{lo cal-name($ VarNode)}"  namespace ="{namespa ce-uri($Va rNode)}">
284            < xsl:for-ea ch select= "$VarAttri butes/wwpa ge:Attribu te">   284            < xsl:for-ea ch select= "$VarAttri butes/wwpa ge:Attribu te">
285              <xsl:varia ble name=" VarAttribu te" select ="." />   285              <xsl:varia ble name=" VarAttribu te" select ="." />
286     286  
287              <xsl:attri bute name= "{$VarAttr ibute/@nam e}">   287              <xsl:attri bute name= "{$VarAttr ibute/@nam e}">
288               <xsl:valu e-of selec t="$VarAtt ribute/@va lue" />   288               <xsl:valu e-of selec t="$VarAtt ribute/@va lue" />
289              </xsl:attr ibute>   289              </xsl:attr ibute>
290            < /xsl:for-e ach>   290            < /xsl:for-e ach>
291     291  
292            < xsl:variab le name="V arChildren " select=" $VarNode/n ode() | $V arNode/tex t() | $Var Node/comme nt() | $Va rNode/proc essing-ins truction() " />   292            < xsl:variab le name="V arChildren " select=" $VarNode/n ode() | $V arNode/tex t() | $Var Node/comme nt() | $Va rNode/proc essing-ins truction() " />
293            < xsl:apply- templates  select="$V arChildren " mode="ww mode:paget emplate">   293            < xsl:apply- templates  select="$V arChildren " mode="ww mode:paget emplate">
294              <xsl:with- param name ="ParamOut putDirecto ryPath" se lect="$Par amOutputDi rectoryPat h" />   294              <xsl:with- param name ="ParamOut putDirecto ryPath" se lect="$Par amOutputDi rectoryPat h" />
295              <xsl:with- param name ="ParamOut putPath" s elect="$Pa ramOutputP ath" />   295              <xsl:with- param name ="ParamOut putPath" s elect="$Pa ramOutputP ath" />
296              <xsl:with- param name ="ParamCon ditions" s elect="$Pa ramConditi ons" />   296              <xsl:with- param name ="ParamCon ditions" s elect="$Pa ramConditi ons" />
297              <xsl:with- param name ="ParamRep lacements"  select="$ ParamRepla cements" / >   297              <xsl:with- param name ="ParamRep lacements"  select="$ ParamRepla cements" / >
298            < /xsl:apply -templates >   298            < /xsl:apply -templates >
299           </ xsl:elemen t>   299           </ xsl:elemen t>
300          </x sl:when>   300          </x sl:when>
301     301  
302          <xs l:otherwis e>   302          <xs l:otherwis e>
303           <! -- Copy el ement -->   303           <! -- Copy el ement -->
304           <! --               -->   304           <! --               -->
305           <x sl:element  name="{lo cal-name($ VarNode)}"  namespace ="{namespa ce-uri($Va rNode)}">   305           <x sl:element  name="{lo cal-name($ VarNode)}"  namespace ="{namespa ce-uri($Va rNode)}">
306            < xsl:copy-o f select=" $VarNode/@ *[name() ! = 'wwpage: condition' ]" />   306            < xsl:copy-o f select=" $VarNode/@ *[name() ! = 'wwpage: condition' ]" />
307     307  
308            < xsl:variab le name="V arChildren " select=" $VarNode/n ode() | $V arNode/tex t() | $Var Node/comme nt() | $Va rNode/proc essing-ins truction() " />   308            < xsl:variab le name="V arChildren " select=" $VarNode/n ode() | $V arNode/tex t() | $Var Node/comme nt() | $Va rNode/proc essing-ins truction() " />
309            < xsl:apply- templates  select="$V arChildren " mode="ww mode:paget emplate">   309            < xsl:apply- templates  select="$V arChildren " mode="ww mode:paget emplate">
310              <xsl:with- param name ="ParamOut putDirecto ryPath" se lect="$Par amOutputDi rectoryPat h" />   310              <xsl:with- param name ="ParamOut putDirecto ryPath" se lect="$Par amOutputDi rectoryPat h" />
311              <xsl:with- param name ="ParamOut putPath" s elect="$Pa ramOutputP ath" />   311              <xsl:with- param name ="ParamOut putPath" s elect="$Pa ramOutputP ath" />
312              <xsl:with- param name ="ParamCon ditions" s elect="$Pa ramConditi ons" />   312              <xsl:with- param name ="ParamCon ditions" s elect="$Pa ramConditi ons" />
313              <xsl:with- param name ="ParamRep lacements"  select="$ ParamRepla cements" / >   313              <xsl:with- param name ="ParamRep lacements"  select="$ ParamRepla cements" / >
314            < /xsl:apply -templates >   314            < /xsl:apply -templates >
315           </ xsl:elemen t>   315           </ xsl:elemen t>
316          </x sl:otherwi se>   316          </x sl:otherwi se>
317         </xs l:choose>   317         </xs l:choose>
318        </xsl :when>   318        </xsl :when>
319     319  
320        <xsl: otherwise>   320        <xsl: otherwise>
321         <!--  Element h as no chil dren -->   321         <!--  Element h as no chil dren -->
322         <!--                            -->   322         <!--                            -->
323         <xsl :variable  name="VarE mptyElemen tAsXML">   323         <xsl :variable  name="VarE mptyElemen tAsXML">
324          <!- - Copy ele ment -->   324          <!- - Copy ele ment -->
325          <!- -               -->   325          <!- -               -->
326          <xs l:element  name="{loc al-name($V arNode)}"  namespace= "{namespac e-uri($Var Node)}">   326          <xs l:element  name="{loc al-name($V arNode)}"  namespace= "{namespac e-uri($Var Node)}">
327           <x sl:for-eac h select=" $VarAttrib utes/wwpag e:Attribut e">   327           <x sl:for-eac h select=" $VarAttrib utes/wwpag e:Attribut e">
328            < xsl:variab le name="V arAttribut e" select= "." />   328            < xsl:variab le name="V arAttribut e" select= "." />
329     329  
330            < xsl:attrib ute name=" {$VarAttri bute/@name }">   330            < xsl:attrib ute name=" {$VarAttri bute/@name }">
331              <xsl:value -of select ="$VarAttr ibute/@val ue" />   331              <xsl:value -of select ="$VarAttr ibute/@val ue" />
332            < /xsl:attri bute>   332            < /xsl:attri bute>
333           </ xsl:for-ea ch>   333           </ xsl:for-ea ch>
334          </x sl:element >   334          </x sl:element >
335         </xs l:variable >   335         </xs l:variable >
336         <xsl :variable  name="VarE mptyElemen t" select= "msxsl:nod e-set($Var EmptyEleme ntAsXML)/* [1]" />   336         <xsl :variable  name="VarE mptyElemen t" select= "msxsl:nod e-set($Var EmptyEleme ntAsXML)/* [1]" />
337     337  
338         <!--  Emit elem ent -->   338         <!--  Emit elem ent -->
339         <!--                -->   339         <!--                -->
340         <xsl :copy-of s elect="$Va rEmptyElem ent" />   340         <xsl :copy-of s elect="$Va rEmptyElem ent" />
341        </xsl :otherwise >   341        </xsl :otherwise >
342       </xsl: choose>   342       </xsl: choose>
343      </xsl:i f>   343      </xsl:i f>
344     </xsl:fo r-each>   344     </xsl:fo r-each>
345    </xsl:tem plate>   345    </xsl:tem plate>
346     346  
347     347  
348    <xsl:temp late match ="text()"  mode="wwmo de:pagetem plate">   348    <xsl:temp late match ="text()"  mode="wwmo de:pagetem plate">
349     <xsl:cop y />   349     <xsl:cop y />
350    </xsl:tem plate>   350    </xsl:tem plate>
351     351  
352     352  
353    <xsl:temp late match ="comment( )" mode="w wmode:page template">   353    <xsl:temp late match ="comment( )" mode="w wmode:page template">
354     <xsl:cop y />   354     <xsl:cop y />
355    </xsl:tem plate>   355    </xsl:tem plate>
356     356  
357     357  
358    <xsl:temp late match ="processi ng-instruc tion()" mo de="wwmode :pagetempl ate">   358    <xsl:temp late match ="processi ng-instruc tion()" mo de="wwmode :pagetempl ate">
359     <xsl:cop y />   359     <xsl:cop y />
360    </xsl:tem plate>   360    </xsl:tem plate>
361   </xsl:styl esheet>   361   </xsl:styl esheet>