{\rtf1\ansi\deff3\adeflang1025
{\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman;}{\f1\froman\fprq2\fcharset2 Symbol;}{\f2\fswiss\fprq2\fcharset0 Arial;}{\f3\froman\fprq2\fcharset128 Tinos;}{\f4\froman\fprq2\fcharset128 Thorndale{\*\falt Times New Roman};}{\f5\fswiss\fprq2\fcharset128 Albany{\*\falt Arial};}{\f6\fnil\fprq2\fcharset128 HG Mincho Light J{\*\falt msmincho};}{\f7\fnil\fprq2\fcharset128 Arimo{\*\falt arial};}{\f8\fnil\fprq2\fcharset128 Arial Unicode MS;}{\f9\fnil\fprq2\fcharset128 Nimbus Sans;}{\f10\fswiss\fprq0\fcharset128 Nimbus Sans;}}
{\colortbl;\red0\green0\blue0;\red0\green0\blue128;\red188\green122\blue0;\red25\green23\blue124;\red102\green102\blue102;\red186\green33\blue33;\red0\green128\blue0;\red125\green144\blue41;\red128\green128\blue128;}
{\stylesheet{\s0\snext0\nowidctlpar{\*\hyphen2\hyphlead0\hyphtrail0\hyphmax0}\cf0\hich\af7\langfe2052\dbch\af9\afs24\lang1081\loch\f3\fs24\lang1033 Default;}
{\s1\sbasedon29\snext28\sb240\sa283\keepn\b\hich\af6\dbch\af8\afs48\ab\loch\f4\fs48 Heading 1;}
{\s2\sbasedon29\snext28\ilvl1\outlinelevel1\sb240\sa283\keepn\b\hich\af7\dbch\af9\afs36\ab\loch\f3\fs36 Heading 2;}
{\s3\sbasedon29\snext28\ilvl2\outlinelevel2\sb240\sa283\keepn\b\hich\af7\dbch\af9\afs28\ab\loch\f3\fs28 Heading 3;}
{\*\cs15\snext15 Endnote Characters;}
{\*\cs16\snext16 Footnote Characters;}
{\*\cs17\snext17\cf2\ul\ulc0 Internet Link;}
{\*\cs18\snext18\i\ai Emphasis;}
{\*\cs19\snext19\b\ab Strong Emphasis;}
{\s20\sbasedon0\snext28\sb0\sa283\brdrb\brdrdb\brdrw15\brdrcf9\brsp0{\*\brdrb\brdlncol9\brdlnin1\brdlnout1\brdlndist20}\brsp0\fs12 Horizontal Line;}
{\s21\sbasedon0\snext21\i Sender;}
{\s22\sbasedon28\snext22\sb0\sa283 Table Contents;}
{\s23\sbasedon0\snext23\tqc\tx4818\tqr\tx9637\noline Footer;}
{\s24\sbasedon0\snext24\tqc\tx4818\tqr\tx9637\noline Header;}
{\s25\sbasedon0\snext25\noline\dbch\af10 Index;}
{\s26\sbasedon0\snext26\sb120\sa120\noline\i\dbch\af10\afs24\ai\fs24 Caption;}
{\s27\sbasedon28\snext27\sb0\sa283\dbch\af10 List;}
{\s28\sbasedon0\snext28\sb0\sa283 Text body;}
{\s29\sbasedon0\snext28\sb240\sa283\keepn\hich\af6\dbch\af8\afs28\loch\f5\fs28 Heading;}
{\s30\sbasedon22\snext30\qc\sb0\sa283\noline\b\ab Table Heading;}
}{\info{\title  Macros - XSLT Macro }{\creatim\yr0\mo0\dy0\hr0\min0}{\revtim\yr0\mo0\dy0\hr0\min0}{\printim\yr0\mo0\dy0\hr0\min0}{\comment OpenOffice}{\vern4120}}

{\*\pgdsctbl
{\pgdsc0\pgdscuse195\pgwsxn11906\pghsxn16838\marglsxn1134\margrsxn1134\margtsxn1134\margbsxn1134\pgdscnxt0 Default;}
{\pgdsc1\pgdscuse195\pgndec\pgwsxn11906\pghsxn16838\marglsxn1134\margrsxn1134\margtsxn1134\margbsxn1134\pgdscnxt1 Endnote;}
{\pgdsc2\pgdscuse195\pgndec\pgwsxn11906\pghsxn16838\marglsxn1134\margrsxn567\margtsxn567\margbsxn567\pgdscnxt2 HTML;}}
\formshade{\*\pgdscno2}\paperh16838\paperw11906\margl1134\margr567\margt567\margb567\sectd\sbknone\sectunlocked1\pgndec\pgwsxn11906\pghsxn16838\marglsxn1134\margrsxn567\margtsxn567\margbsxn567\ftnbj\ftnstart1\ftnrstcont\ftnnar\aenddoc\aftnrstcont\aftnstart1\aftnnrlc
\pgndec\pard\plain \s28\sb0\sa283\sb0\sa0{\rtlch \ltrch\loch
Macros - XSLT Macro }
\par \pard\plain \s28\sb0\sa283{\rtlch \ltrch\loch
Page of - last modified by Helge Dahl on 2018/12/07 11:35 }
\par \pard\plain \s1\sb240\sa283\keepn\b\hich\af6\dbch\af8\afs48\ab\loch\f4\fs48\qc{\rtlch \ltrch\loch
XSLT Macro }
\par \pard\plain \s28\sb0\sa283\qc{\rtlch \ltrch\loch
}
\par \pard\plain \s28\sb0\sa283\qc{\rtlch \ltrch\loch
Helge Dahl}
\par \pard\plain \s28\sb0\sa283\qc{\rtlch \ltrch\loch
}
\par \pard\plain \s28\sb0\sa283\qc{\rtlch \ltrch\loch
2018/12/07 11:35}
\par \pard\plain \s1\sb240\sa283\keepn\b\hich\af6\dbch\af8\afs48\ab\loch\f4\fs48\pagebb{\rtlch \ltrch\loch
Table of Contents}
\par \pard\plain \s28\sb0\sa283\li240\ri0\lin240\rin0\fi0\sb0\sa0{{\field{\*\fldinst HYPERLINK "#HSamples" }{\fldrslt \cf2\ul\ulc0\rtlch \ltrch\loch
Samples}}}
\par \pard\plain \s28\sb0\sa283\li480\ri0\lin480\rin0\fi0\sb0\sa0{{\field{\*\fldinst HYPERLINK "#Hxmlandxslparameters" }{\fldrslt \cf2\ul\ulc0\rtlch \ltrch\loch
xml and xsl parameters}}}
\par \pard\plain \s28\sb0\sa283\li480\ri0\lin480\rin0\fi0\sb0\sa0{{\field{\*\fldinst HYPERLINK "#Hxslparameterandcontentasxmldocument" }{\fldrslt \cf2\ul\ulc0\rtlch \ltrch\loch
xsl parameter and content as xml document}}}
\par \pard\plain \s28\sb0\sa283\li480\ri0\lin480\rin0\fi0\sb0\sa0{{\field{\*\fldinst HYPERLINK "#Hxmlparameterandcontentasxslstylesheet" }{\fldrslt \cf2\ul\ulc0\rtlch \ltrch\loch
xml parameter and content as xsl style sheet}}}
\par \pard\plain \s28\sb0\sa283\li480\ri0\lin480\rin0\fi0\sb0\sa0{{\field{\*\fldinst HYPERLINK "#Hxmlparameter2Ccontentasxslstylesheetandparamsparameter" }{\fldrslt \cf2\ul\ulc0\rtlch \ltrch\loch
xml parameter, content as xsl style sheet and params parameter}}}
\par \pard\plain \s28\sb0\sa283\li480\ri0\lin480\rin0\fi0\sb0\sa0{{\field{\*\fldinst HYPERLINK "#Hmissingparameters" }{\fldrslt \cf2\ul\ulc0\rtlch \ltrch\loch
missing parameters}}}
\par \pard\plain \s28\sb0\sa283\li480\ri0\lin480\rin0\fi0{{\field{\*\fldinst HYPERLINK "#Hmissingcontent" }{\fldrslt \cf2\ul\ulc0\rtlch \ltrch\loch
missing content}}}
\par \pard\plain \s28\sb0\sa283\pagebb{\rtlch \ltrch\loch
}
\par \sect\sectd\sectunlocked1\pgwsxn11906\pghsxn16838\marglsxn1134\margrsxn567\margtsxn567\margbsxn567\ltrsect\sbknone\pard\plain \s28\sb0\sa283{\rtlch \ltrch\loch
}
\par \sect\sectd\sectunlocked1\pgwsxn11906\pghsxn16838\marglsxn1134\margrsxn567\margtsxn567\margbsxn567\ltrsect\sbknone\pard\plain \s28\sb0\sa283{\rtlch \ltrch\loch
XSLT Macro helps to transform XML document with XSLT style sheet.\line Macro is able to retrieve XML document or style sheet from attachment or URL\line XML document or else style sheet could be the content of the macro.}
\par \trowd\trql\ltrrow\trpaddft3\trpaddt28\trpaddfl3\trpaddl28\trpaddfb3\trpaddb28\trpaddfr3\trpaddr28\clvertalc\cellx1201\clvertalc\cellx2477\clvertalc\cellx4008\clvertalc\cellx4909\pard\plain \s30\qc\sb0\sa283\noline\b\ab\intbl\qc\sb0\sa283\noline{\rtlch \ltrch\loch
Parameter}\cell\pard\plain \s30\qc\sb0\sa283\noline\b\ab\intbl\qc\sb0\sa283\noline{\rtlch \ltrch\loch
Description}\cell\pard\plain \s30\qc\sb0\sa283\noline\b\ab\intbl\qc\sb0\sa283\noline{\rtlch \ltrch\loch
Possible values}\cell\pard\plain \s30\qc\sb0\sa283\noline\b\ab\intbl\qc\sb0\sa283\noline{\rtlch \ltrch\loch
Default value}\cell\row\trowd\trql\ltrrow\trpaddft3\trpaddt28\trpaddfl3\trpaddl28\trpaddfb3\trpaddb28\trpaddfr3\trpaddr28\clvertalc\cellx1201\clvertalc\cellx2477\clvertalc\cellx4008\clvertalc\cellx4909\pard\plain \s22\sb0\sa283\intbl\sb0\sa283{\rtlch \ltrch\loch
xsl}\cell\pard\plain \s22\sb0\sa283\intbl\sb0\sa283{\rtlch \ltrch\loch
XSLT style sheet to apply to XML}\cell\pard\plain \s22\sb0\sa283\intbl\sb0\sa283{\rtlch \ltrch\loch
http:}{\*\cs18\i\ai\rtlch \ltrch\loch
somewhere/style.xsl\line attach:[[space.]page@]style.xsl}\cell\pard\plain \s22\sb0\sa283\intbl\sb0\sa283{\rtlch \ltrch
\~ }{\rtlch \ltrch\loch
none}\cell\row\trowd\trql\ltrrow\trpaddft3\trpaddt28\trpaddfl3\trpaddl28\trpaddfb3\trpaddb28\trpaddfr3\trpaddr28\clvertalc\cellx1201\clvertalc\cellx2477\clvertalc\cellx4008\clvertalc\cellx4909\pard\plain \s22\sb0\sa283\intbl\sb0\sa283{\rtlch \ltrch\loch
xml}\cell\pard\plain \s22\sb0\sa283\intbl\sb0\sa283{\rtlch \ltrch\loch
XML document to process}\cell\pard\plain \s22\sb0\sa283\intbl\sb0\sa283{\rtlch \ltrch\loch
http:}{\*\cs18\i\ai\rtlch \ltrch\loch
somewhere/document.xml\line attach:[[space.]page@]document.xml}\cell\pard\plain \s22\sb0\sa283\intbl\sb0\sa283{\rtlch \ltrch
\~ }{\rtlch \ltrch\loch
none}\cell\row\trowd\trql\ltrrow\trpaddft3\trpaddt28\trpaddfl3\trpaddl28\trpaddfb3\trpaddb28\trpaddfr3\trpaddr28\clvertalc\cellx1201\clvertalc\cellx2477\clvertalc\cellx4008\clvertalc\cellx4909\pard\plain \s22\sb0\sa283\intbl\sb0\sa283{\rtlch \ltrch\loch
params}\cell\pard\plain \s22\sb0\sa283\intbl\sb0\sa283{\rtlch \ltrch\loch
Comma separated list of parameters name, value pair}\cell\pard\plain \s22\sb0\sa283\intbl\sb0\sa283{\rtlch \ltrch\loch
name1=value1[,name2=value2[,...]]}\cell\pard\plain \s22\sb0\sa283\intbl\sb0\sa283{\rtlch \ltrch
\~ }{\rtlch \ltrch\loch
none}\cell\row\pard\plain \s2\ilvl1\outlinelevel1\sb240\sa283\keepn\b\hich\af7\dbch\af9\afs36\ab\loch\f3\fs36{{\*\bkmkstart HSamples}{\*\bkmkend HSamples}\rtlch \ltrch\loch
Samples}
\par \pard\plain \s3\ilvl2\outlinelevel2\sb240\sa283\keepn\b\hich\af7\dbch\af9\afs28\ab\loch\f3\fs28{{\*\bkmkstart Hxmlandxslparameters}{\*\bkmkend Hxmlandxslparameters}\rtlch \ltrch\loch
xml and xsl parameters}
\par \pard\plain \s28\sb0\sa283{\cf3\rtlch \ltrch\loch
\{\{}{\cf4\rtlch \ltrch\loch
xslt}{\rtlch \ltrch\loch
 }{\cf4\rtlch \ltrch\loch
xsl}{\cf5\rtlch \ltrch\loch
=}{\cf6\rtlch \ltrch\loch
"attach:persons.xsl"}{\rtlch \ltrch\loch
 }{\cf4\rtlch \ltrch\loch
xml}{\cf5\rtlch \ltrch\loch
=}{\cf6\rtlch \ltrch\loch
"attach:persons.xml"}{\cf5\rtlch \ltrch\loch
/}{\cf3\rtlch \ltrch\loch
\}\}}
\par \pard\plain \s3\ilvl2\outlinelevel2\sb240\sa283\keepn\b\hich\af7\dbch\af9\afs28\ab\loch\f3\fs28{{\*\bkmkstart Hxslparameterandcontentasxmldocument}{\*\bkmkend Hxslparameterandcontentasxmldocument}\rtlch \ltrch\loch
xsl parameter and content as xml document}
\par \pard\plain \s28\sb0\sa283{\cf3\rtlch \ltrch\loch
\{\{}{\cf4\rtlch \ltrch\loch
xslt}{\rtlch \ltrch\loch
 }{\cf4\rtlch \ltrch\loch
xsl}{\cf5\rtlch \ltrch\loch
=}{\cf6\rtlch \ltrch\loch
"attach:persons.xsl"}{\cf3\rtlch \ltrch\loch
\}\}}{\rtlch \ltrch\loch
\line }{\cf7\b\rtlch \ltrch\loch
<persons>}{\rtlch \ltrch\loch
\line \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
<person}{\rtlch \ltrch\loch
 }{\cf8\rtlch \ltrch\loch
username=}{\cf6\rtlch \ltrch\loch
"JS1"}{\cf7\b\rtlch \ltrch\loch
>}{\rtlch \ltrch\loch
\line \~ \~ \~ \~ \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
<name>}{\rtlch \ltrch\loch
John}{\cf7\b\rtlch \ltrch\loch
</name>}{\rtlch \ltrch\loch
\line \~ \~ \~ \~ \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
<family_name>}{\rtlch \ltrch\loch
Smith}{\cf7\b\rtlch \ltrch\loch
</family_name>}{\rtlch \ltrch\loch
\line \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
</person>}{\rtlch \ltrch\loch
\line \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
<person}{\rtlch \ltrch\loch
 }{\cf8\rtlch \ltrch\loch
username=}{\cf6\rtlch \ltrch\loch
"ND1"}{\cf7\b\rtlch \ltrch\loch
>}{\rtlch \ltrch\loch
\line \~ \~ \~ \~ \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
<name>}{\rtlch \ltrch\loch
Nancy}{\cf7\b\rtlch \ltrch\loch
</name>}{\rtlch \ltrch\loch
\line \~ \~ \~ \~ \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
<family_name>}{\rtlch \ltrch\loch
Davolio}{\cf7\b\rtlch \ltrch\loch
</family_name>}{\rtlch \ltrch\loch
\line \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
</person>}{\rtlch \ltrch\loch
\line }{\cf7\b\rtlch \ltrch\loch
</persons>}{\rtlch \ltrch\loch
\line }{\cf3\rtlch \ltrch\loch
\{\{}{\cf5\rtlch \ltrch\loch
/}{\cf4\rtlch \ltrch\loch
xslt}{\cf3\rtlch \ltrch\loch
\}\}}
\par \trowd\trql\ltrrow\trpaddft3\trpaddt28\trpaddfl3\trpaddl28\trpaddfb3\trpaddb28\trpaddfr3\trpaddr28\clvertalc\cellx1441\clvertalc\cellx2222\pard\plain \s30\qc\sb0\sa283\noline\b\ab\intbl\qc\sb0\sa283\noline{\rtlch \ltrch\loch
Family name}\cell\pard\plain \s30\qc\sb0\sa283\noline\b\ab\intbl\qc\sb0\sa283\noline{\rtlch \ltrch\loch
Name}\cell\row\trowd\trql\ltrrow\trpaddft3\trpaddt28\trpaddfl3\trpaddl28\trpaddfb3\trpaddb28\trpaddfr3\trpaddr28\clvertalc\cellx1441\clvertalc\cellx2222\pard\plain \s22\sb0\sa283\intbl\sb0\sa283{\rtlch \ltrch\loch
Davolio}\cell\pard\plain \s22\sb0\sa283\intbl\sb0\sa283{\rtlch \ltrch\loch
Nancy}\cell\row\trowd\trql\ltrrow\trpaddft3\trpaddt28\trpaddfl3\trpaddl28\trpaddfb3\trpaddb28\trpaddfr3\trpaddr28\clvertalc\cellx1441\clvertalc\cellx2222\pard\plain \s22\sb0\sa283\intbl\sb0\sa283{\rtlch \ltrch\loch
Smith}\cell\pard\plain \s22\sb0\sa283\intbl\sb0\sa283{\rtlch \ltrch\loch
John}\cell\row\pard\plain \s3\ilvl2\outlinelevel2\sb240\sa283\keepn\b\hich\af7\dbch\af9\afs28\ab\loch\f3\fs28{{\*\bkmkstart Hxmlparameterandcontentasxslstylesheet}{\*\bkmkend Hxmlparameterandcontentasxslstylesheet}\rtlch \ltrch\loch
xml parameter and content as xsl style sheet}
\par \pard\plain \s28\sb0\sa283{\rtlch \ltrch\loch
\{\{xslt xml="attach:persons.xml"\}\}\line }{\cf7\b\rtlch \ltrch\loch
<xsl:stylesheet}{\rtlch \ltrch\loch
 }{\cf8\rtlch \ltrch\loch
xmlns:xsl=}{\cf6\rtlch \ltrch\loch
"http://www.w3.org/1999/XSL/Transform"}{\rtlch \ltrch\loch
 }{\cf8\rtlch \ltrch\loch
version=}{\cf6\rtlch \ltrch\loch
"1.0"}{\cf7\b\rtlch \ltrch\loch
>}{\rtlch \ltrch\loch
\line \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
<xsl:output}{\rtlch \ltrch\loch
 }{\cf8\rtlch \ltrch\loch
method=}{\cf6\rtlch \ltrch\loch
"text"}{\cf7\b\rtlch \ltrch\loch
/>}{\rtlch \ltrch\loch
\line \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
<xsl:template}{\rtlch \ltrch\loch
 }{\cf8\rtlch \ltrch\loch
match=}{\cf6\rtlch \ltrch\loch
"/"}{\cf7\b\rtlch \ltrch\loch
>}{\rtlch \ltrch\loch
\line \~ \~ \~ \~ \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
<xsl:text>}{\rtlch \ltrch\loch
\line |=Family name|=Name\line }{\cf7\b\rtlch \ltrch\loch
</xsl:text>}{\rtlch \ltrch\loch
\line \~ \~ \~ \~ \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
<xsl:apply-templates}{\rtlch \ltrch\loch
 }{\cf8\rtlch \ltrch\loch
select=}{\cf6\rtlch \ltrch\loch
"//person"}{\cf7\b\rtlch \ltrch\loch
>}{\rtlch \ltrch\loch
\line \~ \~ \~ \~ \~ \~ \~ \~ \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
<xsl:sort}{\rtlch \ltrch\loch
 }{\cf8\rtlch \ltrch\loch
select=}{\cf6\rtlch \ltrch\loch
"family_name"}{\rtlch \ltrch\loch
 }{\cf7\b\rtlch \ltrch\loch
/>}{\rtlch \ltrch\loch
\line \~ \~ \~ \~ \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
</xsl:apply-templates>}{\rtlch \ltrch\loch
\line \~ \~ \~ \~ \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
<xsl:text>}{\rtlch \ltrch\loch
\line }{\cf7\b\rtlch \ltrch\loch
</xsl:text>}{\rtlch \ltrch\loch
\line \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
</xsl:template>}{\rtlch \ltrch\loch
\line \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
<xsl:template}{\rtlch \ltrch\loch
 }{\cf8\rtlch \ltrch\loch
match=}{\cf6\rtlch \ltrch\loch
"person"}{\cf7\b\rtlch \ltrch\loch
>}{\rtlch \ltrch\loch
\line \~ \~ \~ \~ \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
<xsl:text>}{\rtlch \ltrch\loch
|}{\cf7\b\rtlch \ltrch\loch
</xsl:text>}{\rtlch \ltrch\loch
\line \~ \~ \~ \~ \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
<xsl:value-of}{\rtlch \ltrch\loch
 }{\cf8\rtlch \ltrch\loch
select=}{\cf6\rtlch \ltrch\loch
"family_name"}{\cf7\b\rtlch \ltrch\loch
/>}{\rtlch \ltrch\loch
\line \~ \~ \~ \~ \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
<xsl:text>}{\rtlch \ltrch\loch
|}{\cf7\b\rtlch \ltrch\loch
</xsl:text>}{\rtlch \ltrch\loch
\line \~ \~ \~ \~ \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
<xsl:value-of}{\rtlch \ltrch\loch
 }{\cf8\rtlch \ltrch\loch
select=}{\cf6\rtlch \ltrch\loch
"name"}{\cf7\b\rtlch \ltrch\loch
/>}{\rtlch \ltrch\loch
\line \~ \~ \~ \~ \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
<xsl:text>}{\rtlch \ltrch\loch
\line }{\cf7\b\rtlch \ltrch\loch
</xsl:text>}{\rtlch \ltrch\loch
\line \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
</xsl:template>}{\rtlch \ltrch\loch
\line }{\cf7\b\rtlch \ltrch\loch
</xsl:stylesheet>}{\rtlch \ltrch\loch
\{\{/xslt\}\}}
\par \trowd\trql\ltrrow\trpaddft3\trpaddt28\trpaddfl3\trpaddl28\trpaddfb3\trpaddb28\trpaddfr3\trpaddr28\clvertalc\cellx1441\clvertalc\cellx2222\pard\plain \s30\qc\sb0\sa283\noline\b\ab\intbl\qc\sb0\sa283\noline{\rtlch \ltrch\loch
Family name}\cell\pard\plain \s30\qc\sb0\sa283\noline\b\ab\intbl\qc\sb0\sa283\noline{\rtlch \ltrch\loch
Name}\cell\row\trowd\trql\ltrrow\trpaddft3\trpaddt28\trpaddfl3\trpaddl28\trpaddfb3\trpaddb28\trpaddfr3\trpaddr28\clvertalc\cellx1441\clvertalc\cellx2222\pard\plain \s22\sb0\sa283\intbl\sb0\sa283{\rtlch \ltrch\loch
Davolio}\cell\pard\plain \s22\sb0\sa283\intbl\sb0\sa283{\rtlch \ltrch\loch
Nancy}\cell\row\trowd\trql\ltrrow\trpaddft3\trpaddt28\trpaddfl3\trpaddl28\trpaddfb3\trpaddb28\trpaddfr3\trpaddr28\clvertalc\cellx1441\clvertalc\cellx2222\pard\plain \s22\sb0\sa283\intbl\sb0\sa283{\rtlch \ltrch\loch
Smith}\cell\pard\plain \s22\sb0\sa283\intbl\sb0\sa283{\rtlch \ltrch\loch
John}\cell\row\pard\plain \s3\ilvl2\outlinelevel2\sb240\sa283\keepn\b\hich\af7\dbch\af9\afs28\ab\loch\f3\fs28{{\*\bkmkstart Hxmlparameter2Ccontentasxslstylesheetandparamsparameter}{\*\bkmkend Hxmlparameter2Ccontentasxslstylesheetandparamsparameter}\rtlch \ltrch\loch
xml parameter, content as xsl style sheet and params parameter}
\par \pard\plain \s28\sb0\sa283{\rtlch \ltrch\loch
\{\{xslt xml="attach:persons.xml" params="user=JS1"\}\}\line }{\cf7\b\rtlch \ltrch\loch
<xsl:stylesheet}{\rtlch \ltrch\loch
 }{\cf8\rtlch \ltrch\loch
xmlns:xsl=}{\cf6\rtlch \ltrch\loch
"http://www.w3.org/1999/XSL/Transform"}{\rtlch \ltrch\loch
 }{\cf8\rtlch \ltrch\loch
version=}{\cf6\rtlch \ltrch\loch
"1.0"}{\cf7\b\rtlch \ltrch\loch
>}{\rtlch \ltrch\loch
\line \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
<xsl:output}{\rtlch \ltrch\loch
 }{\cf8\rtlch \ltrch\loch
method=}{\cf6\rtlch \ltrch\loch
"text"}{\cf7\b\rtlch \ltrch\loch
/>}{\rtlch \ltrch\loch
\line \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
<xsl:param}{\rtlch \ltrch\loch
 }{\cf8\rtlch \ltrch\loch
name=}{\cf6\rtlch \ltrch\loch
"user"}{\cf7\b\rtlch \ltrch\loch
/>}{\rtlch \ltrch\loch
\line \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
<xsl:template}{\rtlch \ltrch\loch
 }{\cf8\rtlch \ltrch\loch
match=}{\cf6\rtlch \ltrch\loch
"/"}{\cf7\b\rtlch \ltrch\loch
>}{\rtlch \ltrch\loch
\line \~ \~ \~ \~ \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
<xsl:text>}{\rtlch \ltrch\loch
\line |=Family name|=Name\line }{\cf7\b\rtlch \ltrch\loch
</xsl:text>}{\rtlch \ltrch\loch
\line \~ \~ \~ \~ \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
<xsl:apply-templates}{\rtlch \ltrch\loch
 }{\cf8\rtlch \ltrch\loch
select=}{\cf6\rtlch \ltrch\loch
"//person[@username=$user]"}{\cf7\b\rtlch \ltrch\loch
>}{\rtlch \ltrch\loch
\line \~ \~ \~ \~ \~ \~ \~ \~ \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
<xsl:sort}{\rtlch \ltrch\loch
 }{\cf8\rtlch \ltrch\loch
select=}{\cf6\rtlch \ltrch\loch
"family_name"}{\rtlch \ltrch\loch
 }{\cf7\b\rtlch \ltrch\loch
/>}{\rtlch \ltrch\loch
\line \~ \~ \~ \~ \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
</xsl:apply-templates>}{\rtlch \ltrch\loch
\line \~ \~ \~ \~ \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
<xsl:text>}{\rtlch \ltrch\loch
\line }{\cf7\b\rtlch \ltrch\loch
</xsl:text>}{\rtlch \ltrch\loch
\line \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
</xsl:template>}{\rtlch \ltrch\loch
\line \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
<xsl:template}{\rtlch \ltrch\loch
 }{\cf8\rtlch \ltrch\loch
match=}{\cf6\rtlch \ltrch\loch
"person"}{\cf7\b\rtlch \ltrch\loch
>}{\rtlch \ltrch\loch
\line \~ \~ \~ \~ \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
<xsl:text>}{\rtlch \ltrch\loch
|}{\cf7\b\rtlch \ltrch\loch
</xsl:text>}{\rtlch \ltrch\loch
\line \~ \~ \~ \~ \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
<xsl:value-of}{\rtlch \ltrch\loch
 }{\cf8\rtlch \ltrch\loch
select=}{\cf6\rtlch \ltrch\loch
"family_name"}{\cf7\b\rtlch \ltrch\loch
/>}{\rtlch \ltrch\loch
\line \~ \~ \~ \~ \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
<xsl:text>}{\rtlch \ltrch\loch
|}{\cf7\b\rtlch \ltrch\loch
</xsl:text>}{\rtlch \ltrch\loch
\line \~ \~ \~ \~ \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
<xsl:value-of}{\rtlch \ltrch\loch
 }{\cf8\rtlch \ltrch\loch
select=}{\cf6\rtlch \ltrch\loch
"name"}{\cf7\b\rtlch \ltrch\loch
/>}{\rtlch \ltrch\loch
\line \~ \~ \~ \~ \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
<xsl:text>}{\rtlch \ltrch\loch
\line }{\cf7\b\rtlch \ltrch\loch
</xsl:text>}{\rtlch \ltrch\loch
\line \~ \~ \~ }{\cf7\b\rtlch \ltrch\loch
</xsl:template>}{\rtlch \ltrch\loch
\line }{\cf7\b\rtlch \ltrch\loch
</xsl:stylesheet>}{\rtlch \ltrch\loch
\{\{/xslt\}\}}
\par \trowd\trql\ltrrow\trpaddft3\trpaddt28\trpaddfl3\trpaddl28\trpaddfb3\trpaddb28\trpaddfr3\trpaddr28\clvertalc\cellx1441\clvertalc\cellx2192\pard\plain \s30\qc\sb0\sa283\noline\b\ab\intbl\qc\sb0\sa283\noline{\rtlch \ltrch\loch
Family name}\cell\pard\plain \s30\qc\sb0\sa283\noline\b\ab\intbl\qc\sb0\sa283\noline{\rtlch \ltrch\loch
Name}\cell\row\trowd\trql\ltrrow\trpaddft3\trpaddt28\trpaddfl3\trpaddl28\trpaddfb3\trpaddb28\trpaddfr3\trpaddr28\clvertalc\cellx1441\clvertalc\cellx2192\pard\plain \s22\sb0\sa283\intbl\sb0\sa283{\rtlch \ltrch\loch
Smith}\cell\pard\plain \s22\sb0\sa283\intbl\sb0\sa283{\rtlch \ltrch\loch
John}\cell\row\pard\plain \s3\ilvl2\outlinelevel2\sb240\sa283\keepn\b\hich\af7\dbch\af9\afs28\ab\loch\f3\fs28{{\*\bkmkstart Hmissingparameters}{\*\bkmkend Hmissingparameters}\rtlch \ltrch\loch
missing parameters}
\par \pard\plain \s28\sb0\sa283{\cf3\rtlch \ltrch\loch
\{\{}{\cf4\rtlch \ltrch\loch
xslt}{\rtlch \ltrch\loch
 }{\cf5\rtlch \ltrch\loch
/}{\cf3\rtlch \ltrch\loch
\}\}}
\par \pard\plain \s28\sb0\sa283{\*\cs19\b\ab\rtlch \ltrch\loch
xslt}{\rtlch \ltrch\loch
 macro need at least one of }{\*\cs19\b\ab\rtlch \ltrch\loch
xsl}{\rtlch \ltrch\loch
 or }{\*\cs19\b\ab\rtlch \ltrch\loch
xml}{\rtlch \ltrch\loch
 parameter}
\par \pard\plain \s3\ilvl2\outlinelevel2\sb240\sa283\keepn\b\hich\af7\dbch\af9\afs28\ab\loch\f3\fs28{{\*\bkmkstart Hmissingcontent}{\*\bkmkend Hmissingcontent}\rtlch \ltrch\loch
missing content}
\par \pard\plain \s28\sb0\sa283{\cf3\rtlch \ltrch\loch
\{\{}{\cf4\rtlch \ltrch\loch
xslt}{\rtlch \ltrch\loch
 }{\cf4\rtlch \ltrch\loch
xsl}{\cf5\rtlch \ltrch\loch
=}{\cf6\rtlch \ltrch\loch
"attach:persons.xsl"}{\cf5\rtlch \ltrch\loch
/}{\cf3\rtlch \ltrch\loch
\}\}}
\par \pard\plain \s28\sb0\sa283\sb0\sa283{\*\cs19\b\ab\rtlch \ltrch\loch
xslt}{\rtlch \ltrch\loch
 macro content is mandatory if only one of }{\*\cs19\b\ab\rtlch \ltrch\loch
xsl}{\rtlch \ltrch\loch
 or }{\*\cs19\b\ab\rtlch \ltrch\loch
xml}{\rtlch \ltrch\loch
 parameter is set}
\par \sect\sectd\sectunlocked1\pgwsxn11906\pghsxn16838\marglsxn1134\margrsxn567\margtsxn567\margbsxn567\pgndec\sbknone}