20. Araxis Merge File Comparison Report

Produced by Araxis Merge on Sat May 2 08:30:12 2009 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.

20.1 Files compared

# Location File Last Modified
1 C:\Documents and Settings\allums\Desktop\2008.4\Formats\Shared\reports printable.xsl Mon Jan 19 18:02:54 2009 UTC
2 C:\Documents and Settings\allums\Desktop\2009.1\Formats\Shared\reports printable.xsl Sat May 2 06:55:56 2009 UTC

20.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 6 714
Changed 4 8
Inserted 0 0
Removed 1 5

20.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

20.4 Active regular expressions

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

20.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:xsl= "http://ww w.w3.org/1 999/XSL/Tr ansform"   2   <xsl:style sheet vers ion="1.0"  xmlns:xsl= "http://ww w.w3.org/1 999/XSL/Tr ansform"
3                                    xmlns:msxs l="urn:sch emas-micro soft-com:x slt"   3                                    xmlns:msxs l="urn:sch emas-micro soft-com:x slt"
4                                    xmlns:wwre port="urn: WebWorks-R eports-Sch ema"   4                                    xmlns:wwre port="urn: WebWorks-R eports-Sch ema"
5                                    xmlns:wwsp lits="urn: WebWorks-E ngine-Spli ts-Schema"   5                                    xmlns:wwsp lits="urn: WebWorks-E ngine-Spli ts-Schema"
6                                    xmlns:wwli nks="urn:W ebWorks-En gine-Links -Schema"   6                                    xmlns:wwli nks="urn:W ebWorks-En gine-Links -Schema"
7                                    xmlns:wwlo cale="urn: WebWorks-L ocale-Sche ma"   7                                    xmlns:wwlo cale="urn: WebWorks-L ocale-Sche ma"
8                                    xmlns:wwmo de="urn:We bWorks-Eng ine-Mode"   8                                    xmlns:wwmo de="urn:We bWorks-Eng ine-Mode"
9                                    xmlns:wwfi les="urn:W ebWorks-En gine-Files -Schema"   9                                    xmlns:wwfi les="urn:W ebWorks-En gine-Files -Schema"
10                                    xmlns:wwdo c="urn:Web Works-Docu ment-Schem a"   10                                    xmlns:wwdo c="urn:Web Works-Docu ment-Schem a"
11                                    xmlns:wwpr oject="urn :WebWorks- Publish-Pr oject"   11                                    xmlns:wwpr oject="urn :WebWorks- Publish-Pr oject"
12                                    xmlns:wwpr ogress="ur n:WebWorks -XSLT-Exte nsion-Prog ress"   12                                    xmlns:wwpr ogress="ur n:WebWorks -XSLT-Exte nsion-Prog ress"
13                                    xmlns:wwlo g="urn:Web Works-XSLT -Extension -Log"   13                                    xmlns:wwlo g="urn:Web Works-XSLT -Extension -Log"
14                                    xmlns:wwfi lesystem=" urn:WebWor ks-XSLT-Ex tension-Fi leSystem"   14                                    xmlns:wwfi lesystem=" urn:WebWor ks-XSLT-Ex tension-Fi leSystem"
15                                    xmlns:wwur i="urn:Web Works-XSLT -Extension -URI"   15                                    xmlns:wwur i="urn:Web Works-XSLT -Extension -URI"
16                                    xmlns:wwst ring="urn: WebWorks-X SLT-Extens ion-String Utilities"   16                                    xmlns:wwst ring="urn: WebWorks-X SLT-Extens ion-String Utilities"
17                                    xmlns:wwfi lesext="ur n:WebWorks -XSLT-Exte nsion-File s"   17                                    xmlns:wwfi lesext="ur n:WebWorks -XSLT-Exte nsion-File s"
18                                    xmlns:wwpr ojext="urn :WebWorks- XSLT-Exten sion-Proje ct"   18                                    xmlns:wwpr ojext="urn :WebWorks- XSLT-Exten sion-Proje ct"
19                                    xmlns:wwex sldoc="urn :WebWorks- XSLT-Exten sion-Docum ent"   19                                    xmlns:wwex sldoc="urn :WebWorks- XSLT-Exten sion-Docum ent"
20                                    xmlns:wwex ec="urn:We bWorks-XSL T-Extensio n-Execute"   20                                    xmlns:wwex ec="urn:We bWorks-XSL T-Extensio n-Execute"
21                                    xmlns:wwen v="urn:Web Works-XSLT -Extension -Environme nt"   21                                    xmlns:wwen v="urn:Web Works-XSLT -Extension -Environme nt"
22                                    exclude-re sult-prefi xes="xsl m sxsl wwspl its wwlink s wwlocale  wwmode ww files wwdo c wwprojec t wwprogre ss wwlog w wfilesyste m wwuri ww string wwf ilesext ww projext ww exsldoc ww exec wwenv "   22                                    exclude-re sult-prefi xes="xsl m sxsl wwspl its wwlink s wwlocale  wwmode ww files wwdo c wwprojec t wwprogre ss wwlog w wfilesyste m wwuri ww string wwf ilesext ww projext ww exsldoc ww exec wwenv "
23   >   23   >
24    <xsl:para m name="Gl obalInput"  />   24    <xsl:para m name="Gl obalInput"  />
25    <xsl:para m name="Gl obalPipeli neName" />   25    <xsl:para m name="Gl obalPipeli neName" />
26    <xsl:para m name="Gl obalProjec t" />   26    <xsl:para m name="Gl obalProjec t" />
27    <xsl:para m name="Gl obalFiles"  />   27    <xsl:para m name="Gl obalFiles"  />
28    <xsl:para m name="Pa rameterDep endsType"  />   28    <xsl:para m name="Pa rameterDep endsType"  />
29    <xsl:para m name="Pa rameterTyp e" />   29    <xsl:para m name="Pa rameterTyp e" />
30    <xsl:para m name="Pa rameterBro wserXSLTyp e" />   30    <xsl:para m name="Pa rameterBro wserXSLTyp e" />
31    <xsl:para m name="Pa rameterUIL ocaleType"  />   31    <xsl:para m name="Pa rameterUIL ocaleType"  />
32    <xsl:para m name="Pa rameterCat egory" />   32    <xsl:para m name="Pa rameterCat egory" />
33    <xsl:para m name="Pa rameterUse " />   33    <xsl:para m name="Pa rameterUse " />
34    <xsl:para m name="Pa rameterDep loy" />   34    <xsl:para m name="Pa rameterDep loy" />
35     35  
36     36  
37    <xsl:name space-alia s styleshe et-prefix= "wwreport"  result-pr efix="#def ault" />   37    <xsl:name space-alia s styleshe et-prefix= "wwreport"  result-pr efix="#def ault" />
38    <xsl:stri p-space el ements="*"  />   38    <xsl:stri p-space el ements="*"  />
39     39  
40     40  
41    <xsl:key  name="wwfi les-files- by-type" m atch="wwfi les:File"  use="@type " />   41    <xsl:key  name="wwfi les-files- by-type" m atch="wwfi les:File"  use="@type " />
42    <xsl:key  name="wwpr oject-docu ments-by-f ilename" m atch="wwpr oject:Docu ment" use= "@FileName " />   42    <xsl:key  name="wwpr oject-docu ments-by-f ilename" m atch="wwpr oject:Docu ment" use= "@FileName " />
43     43  
44     44  
45    <xsl:vari able name= "GlobalAct ionChecksu m">   45    <xsl:vari able name= "GlobalAct ionChecksu m">
46     <xsl:var iable name ="VarTrans formChecks ums">   46     <xsl:var iable name ="VarTrans formChecks ums">
47      <xsl:va lue-of sel ect="conca t(wwuri:As FilePath(' wwtransfor m:self'),  ':', wwfil esystem:Ge tChecksum( wwuri:AsFi lePath('ww transform: self')))"  />   47      <xsl:va lue-of sel ect="conca t(wwuri:As FilePath(' wwtransfor m:self'),  ':', wwfil esystem:Ge tChecksum( wwuri:AsFi lePath('ww transform: self')))"  />
48     </xsl:va riable>   48     </xsl:va riable>
49     <xsl:val ue-of sele ct="wwstri ng:MD5Chec ksum($VarT ransformCh ecksums)"  />   49     <xsl:val ue-of sele ct="wwstri ng:MD5Chec ksum($VarT ransformCh ecksums)"  />
50    </xsl:var iable>   50    </xsl:var iable>
51     51  
52     52  
53    <!-- UI L ocale -->   53    <!-- UI L ocale -->
54    <!--            -->   54    <!--            -->
55    <xsl:vari able name= "GlobalUIL ocalePath" >   55    <xsl:vari able name= "GlobalUIL ocalePath" >
56     <xsl:for -each sele ct="$Globa lFiles[1]" >   56     <xsl:for -each sele ct="$Globa lFiles[1]" >
57      <xsl:va lue-of sel ect="key(' wwfiles-fi les-by-typ e', $Param eterUILoca leType)[1] /@path" />   57      <xsl:va lue-of sel ect="key(' wwfiles-fi les-by-typ e', $Param eterUILoca leType)[1] /@path" />
58     </xsl:fo r-each>   58     </xsl:fo r-each>
59    </xsl:var iable>   59    </xsl:var iable>
60    <xsl:vari able name= "GlobalUIL ocalePathC hecksum" s elect="wwf ilesystem: GetChecksu m($GlobalU ILocalePat h)" />   60    <xsl:vari able name= "GlobalUIL ocalePathC hecksum" s elect="wwf ilesystem: GetChecksu m($GlobalU ILocalePat h)" />
61    <xsl:vari able name= "GlobalUIL ocale" sel ect="wwexs ldoc:LoadX MLWithoutR esolver($G lobalUILoc alePath)"  />   61    <xsl:vari able name= "GlobalUIL ocale" sel ect="wwexs ldoc:LoadX MLWithoutR esolver($G lobalUILoc alePath)"  />
62     62  
63     63  
64    <!-- Repo rt Base Di rectory Pa th -->        
65    <!--                               -->        
66    <xsl:vari able name= "GlobalPro jectDirect oryPath" s elect="wwp rojext:Get ProjectDir ectoryPath ()" />        
67    <xsl:vari able name= "GlobalRep ortBaseDir ectoryPath " select=" wwfilesyst em:Combine ($GlobalPr ojectDirec toryPath,  'Reports',  wwprojext :GetProjec tTargetNam e())" />        
68          
69    <!-- Cons truct list  of projec t document s using fi lename -->   64    <!-- Cons truct list  of projec t document s using fi lename -->
70    <!--                                                         -->   65    <!--                                                         -->
71    <xsl:vari able name= "GlobalPro jectDocume ntsAsXML">   66    <xsl:vari able name= "GlobalPro jectDocume ntsAsXML">
72     <xsl:app ly-templat es select= "$GlobalPr oject" mod e="wwmode: project-gr oup-docume nt-filenam es" />   67     <xsl:app ly-templat es select= "$GlobalPr oject" mod e="wwmode: project-gr oup-docume nt-filenam es" />
73    </xsl:var iable>   68    </xsl:var iable>
74    <xsl:vari able name= "GlobalPro jectDocume nts" selec t="msxsl:n ode-set($G lobalProje ctDocument sAsXML)" / >   69    <xsl:vari able name= "GlobalPro jectDocume nts" selec t="msxsl:n ode-set($G lobalProje ctDocument sAsXML)" / >
75     70  
76     71  
77    <xsl:temp late match ="/">   72    <xsl:temp late match ="/">
78     <wwfiles :Files ver sion="1.0" >   73     <wwfiles :Files ver sion="1.0" >
79     74  
80      <!-- Co py over XS L styleshe et -->   75      <!-- Co py over XS L styleshe et -->
81      <!--                             -->   76      <!--                             -->
82      <xsl:va riable nam e="VarSour ceStyleshe etPath" se lect="wwur i:AsFilePa th('wwtran sform:repo rts/printa ble_browse r.xsl')" / >   77      <xsl:va riable nam e="VarSour ceStyleshe etPath" se lect="wwur i:AsFilePa th('wwtran sform:repo rts/printa ble_browse r.xsl')" / >
83      <xsl:va riable nam e="VarTarg etStyleshe etPath" se lect="wwfi lesystem:C ombine( $Gl o b a l Report Ba s e DirectoryP ath
, wwfilesy stem:GetFi leName($Va rSourceSty lesheetPat h))" />
  78      <xsl:va riable nam e="VarTarg etStyleshe etPath" se lect="wwfi lesystem:C ombine( wwpr o jext:GetT a rget Report
s
DirectoryP ath () , wwfilesy stem:GetFi leName($Va rSourceSty lesheetPat h))" />
84      <xsl:if  test="wwf ilesystem: GetChecksu m($VarTarg etStyleshe etPath) !=  wwfilesys tem:GetChe cksum($Var SourceStyl esheetPath )">   79      <xsl:if  test="wwf ilesystem: GetChecksu m($VarTarg etStyleshe etPath) !=  wwfilesys tem:GetChe cksum($Var SourceStyl esheetPath )">
85       <xsl:v ariable na me="VarCop yFile" sel ect="wwfil esystem:Co pyFile($Va rSourceSty lesheetPat h, $VarTar getStylesh eetPath)"  />   80       <xsl:v ariable na me="VarCop yFile" sel ect="wwfil esystem:Co pyFile($Va rSourceSty lesheetPat h, $VarTar getStylesh eetPath)"  />
86      </xsl:i f>   81      </xsl:i f>
87      <wwfile s:File pat h="{$VarTa rgetStyles heetPath}"  type="{$P arameterBr owserXSLTy pe}" check sum="{wwfi lesystem:G etChecksum ($VarTarge tStyleshee tPath)}" p rojectchec ksum="" gr oupID="" d ocumentID= "" actionc hecksum=""  category= "" use=""  deploy="">   82      <wwfile s:File pat h="{$VarTa rgetStyles heetPath}"  type="{$P arameterBr owserXSLTy pe}" check sum="{wwfi lesystem:G etChecksum ($VarTarge tStyleshee tPath)}" p rojectchec ksum="" gr oupID="" d ocumentID= "" actionc hecksum=""  category= "" use=""  deploy="">
88       <wwfil es:Depends  path="{$V arSourceSt ylesheetPa th}" check sum="{wwfi lesystem:G etChecksum ($VarSourc eStyleshee tPath)}" g roupID=""  documentID ="" />   83       <wwfil es:Depends  path="{$V arSourceSt ylesheetPa th}" check sum="{wwfi lesystem:G etChecksum ($VarSourc eStyleshee tPath)}" g roupID=""  documentID ="" />
89      </wwfil es:File>   84      </wwfil es:File>
90     85  
91      <!-- Ac cess local ized displ ay name fo rmat -->   86      <!-- Ac cess local ized displ ay name fo rmat -->
92      <!--                                          -->   87      <!--                                          -->
93      <xsl:va riable nam e="VarPrin tableRepor tDisplayNa meFormat"  select="$G lobalUILoc ale/wwloca le:Locale/ wwlocale:S trings/wwl ocale:Stri ng[@name =  'Printabl eReportDis playNameFo rmat']/@va lue" />   88      <xsl:va riable nam e="VarPrin tableRepor tDisplayNa meFormat"  select="$G lobalUILoc ale/wwloca le:Locale/ wwlocale:S trings/wwl ocale:Stri ng[@name =  'Printabl eReportDis playNameFo rmat']/@va lue" />
94     89  
95      <!-- Se lect files  to proces s -->   90      <!-- Se lect files  to proces s -->
96      <!--                            -->   91      <!--                            -->
97      <xsl:fo r-each sel ect="$Glob alInput[1] ">   92      <xsl:fo r-each sel ect="$Glob alInput[1] ">
98       <xsl:v ariable na me="VarFil esOfType"  select="ke y('wwfiles -files-by- type', $Pa rameterDep endsType)"  />   93       <xsl:v ariable na me="VarFil esOfType"  select="ke y('wwfiles -files-by- type', $Pa rameterDep endsType)"  />
99     94  
100       <xsl:v ariable na me="VarPro gressFiles Start" sel ect="wwpro gress:Star t(count($V arFilesOfT ype))" />   95       <xsl:v ariable na me="VarPro gressFiles Start" sel ect="wwpro gress:Star t(count($V arFilesOfT ype))" />
101     96  
102       <xsl:f or-each se lect="$Var FilesOfTyp e">   97       <xsl:f or-each se lect="$Var FilesOfTyp e">
103        <xsl: variable n ame="VarFi leOfType"  select="."  />   98        <xsl: variable n ame="VarFi leOfType"  select="."  />
104     99  
105        <xsl: variable n ame="VarPr ogressFile Start" sel ect="wwpro gress:Star t(1)" />   100        <xsl: variable n ame="VarPr ogressFile Start" sel ect="wwpro gress:Star t(1)" />
106     101  
107        <!--  Aborted? - ->   102        <!--  Aborted? - ->
108        <!--           - ->   103        <!--           - ->
109        <xsl: if test="n ot(wwprogr ess:Abort( ))">   104        <xsl: if test="n ot(wwprogr ess:Abort( ))">
110         <!--  Determine  path -->   105         <!--  Determine  path -->
111         <!--                  -->   106         <!--                  -->
112         <xsl :variable  name="VarP ath">   107         <xsl :variable  name="VarP ath">
113          <xs l:apply-te mplates se lect="$Var FileOfType " mode="ww mode:xhtml -report-fi le-path" / >   108          <xs l:apply-te mplates se lect="$Var FileOfType " mode="ww mode:xhtml -report-fi le-path" / >
114         </xs l:variable >   109         </xs l:variable >
115     110  
116         <!--  Valid pat h? -->   111         <!--  Valid pat h? -->
117         <!--               -->   112         <!--               -->
118         <xsl :if test=" string-len gth($VarPa th) &gt; 0 ">   113         <xsl :if test=" string-len gth($VarPa th) &gt; 0 ">
119          <!- - Up to da te? -->   114          <!- - Up to da te? -->
120          <!- -              -->   115          <!- -              -->
121          <xs l:variable  name="Var UpToDate"  select="ww filesext:U pToDate($V arPath, '' , $VarFile OfType/@gr oupID, $Va rFileOfTyp e/@documen tID, $Glob alActionCh ecksum)" / >   116          <xs l:variable  name="Var UpToDate"  select="ww filesext:U pToDate($V arPath, '' , $VarFile OfType/@gr oupID, $Va rFileOfTyp e/@documen tID, $Glob alActionCh ecksum)" / >
122          <xs l:if test= "not($VarU pToDate)">   117          <xs l:if test= "not($VarU pToDate)">
123           <x sl:variabl e name="Va rResultAsX ML">   118           <x sl:variabl e name="Va rResultAsX ML">
124            < !-- Load r eport -->   119            < !-- Load r eport -->
125            < !--              -->   120            < !--              -->
126            < xsl:variab le name="V arReport"  select="ww exsldoc:Lo adXMLWitho utResolver ($VarFileO fType/@pat h)" />   121            < xsl:variab le name="V arReport"  select="ww exsldoc:Lo adXMLWitho utResolver ($VarFileO fType/@pat h)" />
127     122  
128            < !-- Emit s tylesheet  processing  instructi on -->   123            < !-- Emit s tylesheet  processing  instructi on -->
129            < !--                                            -->   124            < !--                                            -->
130            < xsl:variab le name="V arRelative Stylesheet Path" sele ct="wwuri: GetRelativ eTo($VarTa rgetStyles heetPath,  $VarPath)"  />   125            < xsl:variab le name="V arRelative Stylesheet Path" sele ct="wwuri: GetRelativ eTo($VarTa rgetStyles heetPath,  $VarPath)"  />
131            < xsl:proces sing-instr uction nam e="xml-sty lesheet">   126            < xsl:proces sing-instr uction nam e="xml-sty lesheet">
132              <xsl:text> type="text /xsl" href ="</xsl:te xt>   127              <xsl:text> type="text /xsl" href ="</xsl:te xt>
133              <xsl:value -of select ="$VarRela tiveStyles heetPath"  />   128              <xsl:value -of select ="$VarRela tiveStyles heetPath"  />
134              <xsl:text> "</xsl:tex t>   129              <xsl:text> "</xsl:tex t>
135            < /xsl:proce ssing-inst ruction>   130            < /xsl:proce ssing-inst ruction>
136     131  
137            < !-- Copy X ML -->   132            < !-- Copy X ML -->
138            < !--           -->   133            < !--           -->
139            < xsl:apply- templates  select="$V arReport"  mode="wwmo de:copy-xm l" />   134            < xsl:apply- templates  select="$V arReport"  mode="wwmo de:copy-xm l" />
140           </ xsl:variab le>   135           </ xsl:variab le>
141           <x sl:variabl e name="Va rResult" s elect="msx sl:node-se t($VarResu ltAsXML)"  />   136           <x sl:variabl e name="Va rResult" s elect="msx sl:node-se t($VarResu ltAsXML)"  />
142           <x sl:variabl e name="Va rWriteResu lt" select ="wwexsldo c:Document ($VarResul t, $VarPat h, 'utf-8' , 'xml', ' 1.0', 'yes ')" />   137           <x sl:variabl e name="Va rWriteResu lt" select ="wwexsldo c:Document ($VarResul t, $VarPat h, 'utf-8' , 'xml', ' 1.0', 'yes ')" />
143          </x sl:if>   138          </x sl:if>
144     139  
145          <!- - Report g enerated f iles -->   140          <!- - Report g enerated f iles -->
146          <!- -                          -->   141          <!- -                          -->
147          <ww files:File  path="{$V arPath}" d isplayname ="{wwstrin g:Format($ VarPrintab leReportDi splayNameF ormat, $Va rFileOfTyp e/@display name)}" ty pe="{$Para meterType} " checksum ="{wwfiles ystem:GetC hecksum($V arPath)}"  projectche cksum="" g roupID="{$ VarFileOfT ype/@group ID}" docum entID="{$V arFileOfTy pe/@docume ntID}" act ionchecksu m="{$Globa lActionChe cksum}" ca tegory="{$ ParameterC ategory}"  use="{$Par ameterUse} " deploy=" {$Paramete rDeploy}">   142          <ww files:File  path="{$V arPath}" d isplayname ="{wwstrin g:Format($ VarPrintab leReportDi splayNameF ormat, $Va rFileOfTyp e/@display name)}" ty pe="{$Para meterType} " checksum ="{wwfiles ystem:GetC hecksum($V arPath)}"  projectche cksum="" g roupID="{$ VarFileOfT ype/@group ID}" docum entID="{$V arFileOfTy pe/@docume ntID}" act ionchecksu m="{$Globa lActionChe cksum}" ca tegory="{$ ParameterC ategory}"  use="{$Par ameterUse} " deploy=" {$Paramete rDeploy}">
148           <w wfiles:Dep ends path= "{$GlobalU ILocalePat h}" checks um="{$Glob alUILocale PathChecks um}" group ID="" docu mentID=""  />   143           <w wfiles:Dep ends path= "{$GlobalU ILocalePat h}" checks um="{$Glob alUILocale PathChecks um}" group ID="" docu mentID=""  />
149           <w wfiles:Dep ends path= "{$VarFile OfType/@pa th}" check sum="{$Var FileOfType /@checksum }" groupID ="{$VarFil eOfType/@g roupID}" d ocumentID= "{$VarFile OfType/@do cumentID}"  />   144           <w wfiles:Dep ends path= "{$VarFile OfType/@pa th}" check sum="{$Var FileOfType /@checksum }" groupID ="{$VarFil eOfType/@g roupID}" d ocumentID= "{$VarFile OfType/@do cumentID}"  />
150          </w wfiles:Fil e>   145          </w wfiles:Fil e>
151         </xs l:if>   146         </xs l:if>
152        </xsl :if>   147        </xsl :if>
153     148  
154        <xsl: variable n ame="VarPr ogressFile End" selec t="wwprogr ess:End()"  />   149        <xsl: variable n ame="VarPr ogressFile End" selec t="wwprogr ess:End()"  />
155       </xsl: for-each>   150       </xsl: for-each>
156     151  
157       <xsl:v ariable na me="VarPro gressFiles End" selec t="wwprogr ess:End()"  />   152       <xsl:v ariable na me="VarPro gressFiles End" selec t="wwprogr ess:End()"  />
158      </xsl:f or-each>   153      </xsl:f or-each>
159     154  
160     </wwfile s:Files>   155     </wwfile s:Files>
161    </xsl:tem plate>   156    </xsl:tem plate>
162     157  
163     158  
164    <!-- proj ect-group- document-f ilenames - ->   159    <!-- proj ect-group- document-f ilenames - ->
165    <!--                                     - ->   160    <!--                                     - ->
166     161  
167    <xsl:temp late match ="wwprojec t:Groups"  mode="wwmo de:project -group-doc ument-file names">   162    <xsl:temp late match ="wwprojec t:Groups"  mode="wwmo de:project -group-doc ument-file names">
168     <xsl:app ly-templat es mode="w wmode:grou p-document -filenames " />   163     <xsl:app ly-templat es mode="w wmode:grou p-document -filenames " />
169    </xsl:tem plate>   164    </xsl:tem plate>
170     165  
171     166  
172    <xsl:temp late match ="*" mode= "wwmode:pr oject-grou p-document -filenames ">   167    <xsl:temp late match ="*" mode= "wwmode:pr oject-grou p-document -filenames ">
173     <xsl:app ly-templat es mode="w wmode:proj ect-group- document-f ilenames"  />   168     <xsl:app ly-templat es mode="w wmode:proj ect-group- document-f ilenames"  />
174    </xsl:tem plate>   169    </xsl:tem plate>
175     170  
176     171  
177    <xsl:temp late match ="text() |  comment()  | process ing-instru ction" mod e="wwmode: project-gr oup-docume nt-filenam es">   172    <xsl:temp late match ="text() |  comment()  | process ing-instru ction" mod e="wwmode: project-gr oup-docume nt-filenam es">
178     <!-- Not hing to do  -->   173     <!-- Not hing to do  -->
179     <!--                 -->   174     <!--                 -->
180    </xsl:tem plate>   175    </xsl:tem plate>
181     176  
182     177  
183    <!-- grou p-document -filenames  -->   178    <!-- grou p-document -filenames  -->
184    <!--                             -->   179    <!--                             -->
185     180  
186    <xsl:temp late match ="wwprojec t:Group" m ode="wwmod e:group-do cument-fil enames">   181    <xsl:temp late match ="wwprojec t:Group" m ode="wwmod e:group-do cument-fil enames">
187     <xsl:par am name="P aramGroup"  />   182     <xsl:par am name="P aramGroup"  />
188     183  
189     <xsl:cop y>   184     <xsl:cop y>
190      <xsl:co py-of sele ct="@*" />   185      <xsl:co py-of sele ct="@*" />
191     186  
192      <xsl:ap ply-templa tes mode=" wwmode:doc ument-file names" />   187      <xsl:ap ply-templa tes mode=" wwmode:doc ument-file names" />
193     </xsl:co py>   188     </xsl:co py>
194    </xsl:tem plate>   189    </xsl:tem plate>
195     190  
196     191  
197    <xsl:temp late match ="*" mode= "wwmode:gr oup-docume nt-filenam es">   192    <xsl:temp late match ="*" mode= "wwmode:gr oup-docume nt-filenam es">
198     <xsl:app ly-templat es mode="w wmode:grou p-document -filenames " />   193     <xsl:app ly-templat es mode="w wmode:grou p-document -filenames " />
199    </xsl:tem plate>   194    </xsl:tem plate>
200     195  
201     196  
202    <xsl:temp late match ="text() |  comment()  | process ing-instru ction" mod e="wwmode: group-docu ment-filen ames">   197    <xsl:temp late match ="text() |  comment()  | process ing-instru ction" mod e="wwmode: group-docu ment-filen ames">
203     <!-- Not hing to do  -->   198     <!-- Not hing to do  -->
204     <!--                 -->   199     <!--                 -->
205    </xsl:tem plate>   200    </xsl:tem plate>
206     201  
207     202  
208    <!-- docu ment-filen ames -->   203    <!-- docu ment-filen ames -->
209    <!--                      -->   204    <!--                      -->
210     205  
211    <xsl:temp late match ="wwprojec t:Document " mode="ww mode:docum ent-filena mes">   206    <xsl:temp late match ="wwprojec t:Document " mode="ww mode:docum ent-filena mes">
212     <xsl:par am name="P aramDocume nt" select ="." />   207     <xsl:par am name="P aramDocume nt" select ="." />
213     208  
214     <wwproje ct:Documen t Document ID="{$Para mDocument/ @DocumentI D}" FileNa me="{trans late(wwfil esystem:Ge tFileName( $ParamDocu ment/@Path ), '.', '_ ')}" />   209     <wwproje ct:Documen t Document ID="{$Para mDocument/ @DocumentI D}" FileNa me="{trans late(wwfil esystem:Ge tFileName( $ParamDocu ment/@Path ), '.', '_ ')}" />
215    </xsl:tem plate>   210    </xsl:tem plate>
216     211  
217     212  
218    <xsl:temp late match ="*" mode= "wwmode:do cument-fil enames">   213    <xsl:temp late match ="*" mode= "wwmode:do cument-fil enames">
219     <xsl:app ly-templat es mode="w wmode:docu ment-filen ames" />   214     <xsl:app ly-templat es mode="w wmode:docu ment-filen ames" />
220    </xsl:tem plate>   215    </xsl:tem plate>
221     216  
222     217  
223    <xsl:temp late match ="text() |  comment()  | process ing-instru ction" mod e="wwmode: document-f ilenames">   218    <xsl:temp late match ="text() |  comment()  | process ing-instru ction" mod e="wwmode: document-f ilenames">
224     <!-- Not hing to do  -->   219     <!-- Not hing to do  -->
225     <!--                 -->   220     <!--                 -->
226    </xsl:tem plate>   221    </xsl:tem plate>
227     222  
228     223  
229    <!-- xhtm l-report-f ile-path - ->   224    <!-- xhtm l-report-f ile-path - ->
230    <!--                          - ->   225    <!--                          - ->
231     226  
232    <xsl:temp late match ="wwfiles: File" mode ="wwmode:x html-repor t-file-pat h">   227    <xsl:temp late match ="wwfiles: File" mode ="wwmode:x html-repor t-file-pat h">
233     <xsl:par am name="P aramFile"  select="."  />   228     <xsl:par am name="P aramFile"  select="."  />
234     229  
235     <!-- Rep ort Group  Directory  Path -->   230     <!-- Rep ort Group  Directory  Path -->
236     <!--                                -->   231     <!--                                -->
237     <xsl:var iable name ="VarRepor tGroupDire ctoryPath" >   232     <xsl:var iable name ="VarRepor tGroupDire ctoryPath" >
238      <!-- Gr oup contex t defined?  -->   233      <!-- Gr oup contex t defined?  -->
239      <!--                           -->   234      <!--                           -->
240      <xsl:va riable nam e="VarGrou pName">   235      <xsl:va riable nam e="VarGrou pName">
241       <xsl:i f test="st ring-lengt h($ParamFi le/@groupI D) &gt; 0" >   236       <xsl:i f test="st ring-lengt h($ParamFi le/@groupI D) &gt; 0" >
242        <xsl: value-of s elect="wwp rojext:Get GroupName( $ParamFile /@groupID) " />   237        <xsl: value-of s elect="wwp rojext:Get GroupName( $ParamFile /@groupID) " />
243       </xsl: if>   238       </xsl: if>
244      </xsl:v ariable>   239      </xsl:v ariable>
245     240  
246      <!-- Em it Report  Group Dire ctory Path  -->   241      <!-- Em it Report  Group Dire ctory Path  -->
247      <!--                                      -->   242      <!--                                      -->
248      <xsl:if  test="str ing-length ($VarGroup Name) &gt;  0">   243      <xsl:if  test="str ing-length ($VarGroup Name) &gt;  0">
249       <xsl:v alue-of se lect="wwfi lesystem:C ombine( $Gl o b a l Report Ba s e DirectoryP ath
, wwfilesy stem:MakeV alidFileNa me($VarGro upName))"  />
  244       <xsl:v alue-of se lect="wwfi lesystem:C ombine( wwpr o jext:GetT a rget Report
s
DirectoryP ath () , wwfilesy stem:MakeV alidFileNa me($VarGro upName))"  />
250      </xsl:i f>   245      </xsl:i f>
251     </xsl:va riable>   246     </xsl:va riable>
252     247  
253     <!-- Rep ort Docume nt Directo ry Path -- >   248     <!-- Rep ort Docume nt Directo ry Path -- >
254     <!--                                   -- >   249     <!--                                   -- >
255     <xsl:var iable name ="VarRepor tDocumentD irectoryPa th">   250     <xsl:var iable name ="VarRepor tDocumentD irectoryPa th">
256      <!-- Gr oup report  directory  path defi ned? -->   251      <!-- Gr oup report  directory  path defi ned? -->
257      <!--                                          -->   252      <!--                                          -->
258      <xsl:if  test="str ing-length ($VarRepor tGroupDire ctoryPath)  &gt; 0">   253      <xsl:if  test="str ing-length ($VarRepor tGroupDire ctoryPath)  &gt; 0">
259       <!-- D ocument co ntext defi ned? -->   254       <!-- D ocument co ntext defi ned? -->
260       <!--                              -->   255       <!--                              -->
261       <xsl:i f test="st ring-lengt h($ParamFi le/@docume ntID) &gt;  0">   256       <xsl:i f test="st ring-lengt h($ParamFi le/@docume ntID) &gt;  0">
262        <!--  Get docume nt file na me -->   257        <!--  Get docume nt file na me -->
263        <!--                           -->   258        <!--                           -->
264        <xsl: variable n ame="VarDo cumentFile Name" sele ct="transl ate(wwfile system:Get FileName(w wprojext:G etDocument Path($Para mFile/@doc umentID)),  '.', '_') " />   259        <xsl: variable n ame="VarDo cumentFile Name" sele ct="transl ate(wwfile system:Get FileName(w wprojext:G etDocument Path($Para mFile/@doc umentID)),  '.', '_') " />
265     260  
266        <!--  Unique fil e name -->   261        <!--  Unique fil e name -->
267        <!--                    -->   262        <!--                    -->
268        <xsl: variable n ame="VarUn iqueDocume ntFileName ">   263        <xsl: variable n ame="VarUn iqueDocume ntFileName ">
269         <xsl :value-of  select="$V arDocument FileName"  />   264         <xsl :value-of  select="$V arDocument FileName"  />
270     265  
271         <xsl :for-each  select="$G lobalProje ctDocument s[1]">   266         <xsl :for-each  select="$G lobalProje ctDocument s[1]">
272          <xs l:variable  name="Var GroupDocum entsWithFi leName" se lect="key( 'wwproject -documents -by-filena me', $VarD ocumentFil eName)[../ @GroupID =  $ParamFil e/@groupID ]" />   267          <xs l:variable  name="Var GroupDocum entsWithFi leName" se lect="key( 'wwproject -documents -by-filena me', $VarD ocumentFil eName)[../ @GroupID =  $ParamFil e/@groupID ]" />
273     268  
274          <!- - Qualifie r -->   269          <!- - Qualifie r -->
275          <!- -            -->   270          <!- -            -->
276          <xs l:for-each  select="$ VarGroupDo cumentsWit hFileName" >   271          <xs l:for-each  select="$ VarGroupDo cumentsWit hFileName" >
277           <x sl:variabl e name="Va rGroupDocu mentWithFi leName" se lect="." / >   272           <x sl:variabl e name="Va rGroupDocu mentWithFi leName" se lect="." / >
278     273  
279           <! -- Only qu alify if n ot the fir st documen t -->   274           <! -- Only qu alify if n ot the fir st documen t -->
280           <! --                                            -->   275           <! --                                            -->
281           <x sl:if test ="position () &gt; 1" >   276           <x sl:if test ="position () &gt; 1" >
282            < xsl:variab le name="V arGroupDoc umentWithF ileNameGro upID" sele ct="$VarGr oupDocumen tWithFileN ame/ancest or::wwproj ect:Group/ @GroupID"  />   277            < xsl:variab le name="V arGroupDoc umentWithF ileNameGro upID" sele ct="$VarGr oupDocumen tWithFileN ame/ancest or::wwproj ect:Group/ @GroupID"  />
283            < xsl:if tes t="($VarGr oupDocumen tWithFileN ameGroupID  = $ParamF ile/@group ID) and ($ VarGroupDo cumentWith FileName/@ DocumentID  = $ParamF ile/@docum entID)">   278            < xsl:if tes t="($VarGr oupDocumen tWithFileN ameGroupID  = $ParamF ile/@group ID) and ($ VarGroupDo cumentWith FileName/@ DocumentID  = $ParamF ile/@docum entID)">
284              <!-- Emit  qualifier  -->   279              <!-- Emit  qualifier  -->
285              <!--                  -->   280              <!--                  -->
286              <xsl:text> _</xsl:tex t>   281              <xsl:text> _</xsl:tex t>
287              <xsl:value -of select ="position ()" />   282              <xsl:value -of select ="position ()" />
288            < /xsl:if>   283            < /xsl:if>
289           </ xsl:if>   284           </ xsl:if>
290          </x sl:for-eac h>   285          </x sl:for-eac h>
291         </xs l:for-each >   286         </xs l:for-each >
292        </xsl :variable>   287        </xsl :variable>
293     288  
294        <!--  Emit Repor t Document  Directory  Path -->   289        <!--  Emit Repor t Document  Directory  Path -->
295        <!--                                         -->   290        <!--                                         -->
296        <xsl: if test="s tring-leng th($VarUni queDocumen tFileName)  &gt; 0">   291        <xsl: if test="s tring-leng th($VarUni queDocumen tFileName)  &gt; 0">
297         <xsl :value-of  select="ww filesystem :Combine( $Gl o b a l Report Ba s e DirectoryP ath
, wwprojex t:GetDocum entGroupPa th($ParamF ile/@docum entID), ww filesystem :MakeValid FileName($ VarUniqueD ocumentFil eName))" / >
  292         <xsl :value-of  select="ww filesystem :Combine( wwpr o jext:GetT a rget Report
s
DirectoryP ath () , wwprojex t:GetDocum entGroupPa th($ParamF ile/@docum entID), ww filesystem :MakeValid FileName($ VarUniqueD ocumentFil eName))" / >
298        </xsl :if>   293        </xsl :if>
299       </xsl: if>   294       </xsl: if>
300      </xsl:i f>   295      </xsl:i f>
301     </xsl:va riable>   296     </xsl:va riable>
302     297  
303     <!-- Det ermine dir ectory pat h -->   298     <!-- Det ermine dir ectory pat h -->
304     <!--                             -->   299     <!--                             -->
305     <xsl:var iable name ="VarDirec toryPath">   300     <xsl:var iable name ="VarDirec toryPath">
306      <xsl:ch oose>   301      <xsl:ch oose>
307       <xsl:w hen test=" string-len gth($VarRe portDocume ntDirector yPath) &gt ; 0">   302       <xsl:w hen test=" string-len gth($VarRe portDocume ntDirector yPath) &gt ; 0">
308        <!--  Document D irectory - ->   303        <!--  Document D irectory - ->
309        <!--                      - ->   304        <!--                      - ->
310        <xsl: value-of s elect="$Va rReportDoc umentDirec toryPath"  />   305        <xsl: value-of s elect="$Va rReportDoc umentDirec toryPath"  />
311       </xsl: when>   306       </xsl: when>
312     307  
313       <xsl:w hen test=" string-len gth($VarRe portGroupD irectoryPa th) &gt; 0 ">   308       <xsl:w hen test=" string-len gth($VarRe portGroupD irectoryPa th) &gt; 0 ">
314        <!--  Group Dire ctory -->   309        <!--  Group Dire ctory -->
315        <!--                   -->   310        <!--                   -->
316        <xsl: value-of s elect="$Va rReportGro upDirector yPath" />   311        <xsl: value-of s elect="$Va rReportGro upDirector yPath" />
317       </xsl: when>   312       </xsl: when>
318     313  
319       <xsl:o therwise>   314       <xsl:o therwise>
320        <!--  Base Direc tory -->   315        <!--  Base Direc tory -->
321        <!--                  -->   316        <!--                  -->
322        <xsl: value-of s elect=" $Gl o b a l Report Ba s e DirectoryP ath
" />
  317        <xsl: value-of s elect=" wwpr o jext:GetT a rget Report
s
DirectoryP ath () " />
323       </xsl: otherwise>   318       </xsl: otherwise>
324      </xsl:c hoose>   319      </xsl:c hoose>
325     </xsl:va riable>   320     </xsl:va riable>
326     321  
327     <!-- Det ermine fil e path -->   322     <!-- Det ermine fil e path -->
328     <!--                       -->   323     <!--                       -->
329     <xsl:var iable name ="VarFileP ath" selec t="wwfiles ystem:Comb ine($VarDi rectoryPat h, wwfiles ystem:GetF ileName($P aramFile/@ path))" />   324     <xsl:var iable name ="VarFileP ath" selec t="wwfiles ystem:Comb ine($VarDi rectoryPat h, wwfiles ystem:GetF ileName($P aramFile/@ path))" />
330     <xsl:val ue-of sele ct="$VarFi lePath" />   325     <xsl:val ue-of sele ct="$VarFi lePath" />
331    </xsl:tem plate>   326    </xsl:tem plate>
332     327  
333     328  
334    <xsl:temp late match ="*" mode= "wwmode:xh tml-report -file-path ">   329    <xsl:temp late match ="*" mode= "wwmode:xh tml-report -file-path ">
335     <xsl:app ly-templat es mode="w wmode:xhtm l-report-f ile-path"  />   330     <xsl:app ly-templat es mode="w wmode:xhtm l-report-f ile-path"  />
336    </xsl:tem plate>   331    </xsl:tem plate>
337     332  
338     333  
339    <xsl:temp late match ="text() |  comment()  | process ing-instru ction" mod e="wwmode: xhtml-repo rt-file-pa th">   334    <xsl:temp late match ="text() |  comment()  | process ing-instru ction" mod e="wwmode: xhtml-repo rt-file-pa th">
340     <!-- Not hing to do  -->   335     <!-- Not hing to do  -->
341     <!--                 -->   336     <!--                 -->
342    </xsl:tem plate>   337    </xsl:tem plate>
343     338  
344     339  
345    <!-- copy -xml -->   340    <!-- copy -xml -->
346    <!--           -->   341    <!--           -->
347     342  
348    <xsl:temp late match ="*" mode= "wwmode:co py-xml">   343    <xsl:temp late match ="*" mode= "wwmode:co py-xml">
349     <xsl:cop y>   344     <xsl:cop y>
350      <xsl:co py-of sele ct="@*" />   345      <xsl:co py-of sele ct="@*" />
351     346  
352      <xsl:ap ply-templa tes mode=" wwmode:cop y-xml" />   347      <xsl:ap ply-templa tes mode=" wwmode:cop y-xml" />
353     </xsl:co py>   348     </xsl:co py>
354    </xsl:tem plate>   349    </xsl:tem plate>
355     350  
356     351  
357    <xsl:temp late match ="text() |  comment()  | process ing-instru ction" mod e="wwmode: copy-xml">   352    <xsl:temp late match ="text() |  comment()  | process ing-instru ction" mod e="wwmode: copy-xml">
358     <xsl:cop y />   353     <xsl:cop y />
359    </xsl:tem plate>   354    </xsl:tem plate>
360     355  
361     356  
362    <xsl:temp late match ="processi ng-instruc tion" mode ="wwmode:c opy-xml">   357    <xsl:temp late match ="processi ng-instruc tion" mode ="wwmode:c opy-xml">
363     <!-- Sup press all  processing  instuctio ns -->   358     <!-- Sup press all  processing  instuctio ns -->
364     <!--                                         -->   359     <!--                                         -->
365    </xsl:tem plate>   360    </xsl:tem plate>
366   </xsl:styl esheet>   361   </xsl:styl esheet>