| Newsgroups |
gmane.text.xml.xsl.general.mulberrytech |
| Message-ID |
<[email protected]> |
--Apple-Mail=_59155584-C75A-4864-8B56-72F7EA10661F
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
charset=utf-8
Martin's suggestions would both work. Another idea would be=20
<xsl:variable name=3D"first-note" select=3D"current-group/PART_DES[matches(=
.,'NOTE')][1]
>=20
> <xsl:for-each select=3D"current-group()">
> <xsl:choose>
> <xsl:when test=3D". is $first-note or . >> $first-not=
e">
> <note>
...
Michael Kay
Saxonica
> On 20 May 2021, at 21:20, [email protected] <[email protected]=
berrytech.com> wrote:
>=20
> Here is my sample input:
>=20=20
> <?xml version=3D"1.0" encoding=3D"UTF-8"?>
> <dataroot>
> <DH675AU>
> <FIG_NO>99999</FIG_NO>
> <PART_DES>DIPSTICK</PART_DES>
> </DH675AU>
> <DH675AU>
> <FIG_NO>99999</FIG_NO>
> <PART_DES>O-RING</PART_DES>
> </DH675AU>
> <DH675AU>
> <FIG_NO>99999</FIG_NO>
> <PART_DES>SCREW, SELF-TAPPING</PART_DES>
> </DH675AU>
> <DH675AU>
> <FIG_NO>99999</FIG_NO>
> <PART_DES>NOTE: (1) NOT SERVICED SEPARATELY. INCLUDED IN</PART_DE=
S>
> </DH675AU>
> <DH675AU>
> <FIG_NO>99999</FIG_NO>
> <PART_DES>58F-98-40740 SEAL KIT.</PART_DES>
> </DH675AU>
> <DH675AU>
> <FIG_NO>69500</FIG_NO>
> <PART_DES>DIPSTICK</PART_DES>
> </DH675AU>
> <DH675AU>
> <FIG_NO>69500</FIG_NO>
> <PART_DES>O-RING</PART_DES>
> </DH675AU>
> <DH675AU>
> <FIG_NO>69500</FIG_NO>
> <PART_DES>SCREW, SELF-TAPPING</PART_DES>
> </DH675AU>
> </dataroot>
>=20=20
> Here is my desired output:
>=20=20
> <?xml version=3D"1.0" encoding=3D"UTF-8"?>
> <root>
> <entry>
> <figure>99999</figure>
> <description>DIPSTICK</description>
> <description>O-RING</description>
> <description>SCREW, SELF-TAPPING</description>
> <note>NOTE: (1) NOT SERVICED SEPARATELY. INCLUDED IN</note>
> <note>58F-98-40740 SEAL KIT.</note>
> </entry>
> <entry>
> <figure>69500</figure>
> <description>DIPSTICK</description>
> <description>O-RING</description>
> <description>SCREW, SELF-TAPPING</description>
> </entry>
> </root>
>=20=20
> Here is my stylesheet:
>=20=20
> <?xml version=3D"1.0" encoding=3D"UTF-8"?>
> <xsl:stylesheet xmlns:xsl=3D"http://www.w3.org/1999/XSL/Transform <http:/=
/www.w3.org/1999/XSL/Transform>"
> xmlns:xs=3D"http://www.w3.org/2001/XMLSchema <http://www.w3.org/2001/=
XMLSchema>"
> xmlns:math=3D"http://www.w3.org/2005/xpath-functions/math <http://www=
.w3.org/2005/xpath-functions/math>"
> exclude-result-prefixes=3D"xs math"
> version=3D"3.0" expand-text=3D"true">
>=20=20=20=20=20
> <xsl:output method=3D"xml" indent=3D"yes"/>
>=20=20=20=20=20
> <xsl:template match=3D"/dataroot">
> <root>
> <xsl:call-template name=3D"make-components"/>
> </root>
> </xsl:template>
>=20=20=20=20=20
> <xsl:template name=3D"make-components">
> <xsl:for-each-group select=3D"*" group-by=3D"child::FIG_NO">
> <xsl:call-template name=3D"make-entries"/>
> </xsl:for-each-group>
> </xsl:template>
>=20=20=20=20=20
> <xsl:template name=3D"make-entries">
> <entry>
> <figure><xsl:apply-templates select=3D"current-group()[1]/FIG=
_NO"/></figure>
> <xsl:for-each select=3D"current-group()">
> <xsl:choose>
> <xsl:when test=3D"PART_DES[matches(.,'NOTE')] or prec=
eding::PART_DES[matches(.,'NOTE')]">
> <note>
> <xsl:apply-templates select=3D"PART_DES"/>
> </note>
> </xsl:when>
> <xsl:otherwise>
> <description>
> <xsl:apply-templates select=3D"PART_DES"/>
> </description>
> </xsl:otherwise>
> </xsl:choose>
> </xsl:for-each>
> </entry>
> </xsl:template>
>=20=20=20=20=20=20
> </xsl:stylesheet>
>=20=20
> Here is what I am getting:
>=20=20
> <?xml version=3D"1.0" encoding=3D"UTF-8"?>
> <root>
> <entry>
> <figure>99999</figure>
> <description>DIPSTICK</description>
> <description>O-RING</description>
> <description>SCREW, SELF-TAPPING</description>
> <note>NOTE: (1) NOT SERVICED SEPARATELY. INCLUDED IN</note>
> <note>58F-98-40740 SEAL KIT.</note>
> </entry>
> <entry>
> <figure>69500</figure>
> <note>DIPSTICK</note>
> <note>O-RING</note>
> <note>SCREW, SELF-TAPPING</note>
> </entry>
> </root>
>=20=20
> The idea is that when I see a =E2=80=9CNOTE=E2=80=9D string, I want that =
entry and all following within the same group to be <note> elements. So I a=
m look for preceding-sibling or self that contains =E2=80=9CNOTE=E2=80=9D b=
ut restricted to the same group. I am using XSLT 3. Thank you very much.
>=20=20
> Rick
>=20=20
> Rick Quatro
> Carmen Publishing Inc.
> 585-729-6746
> [email protected] <mailto:[email protected]>
> http://www.frameexpert.com/store <http://www.frameexpert.com/store>
>=20=20
>=20=20
> XSL-List info and archive <http://www.mulberrytech.com/xsl/xsl-list>
> EasyUnsubscribe <http://lists.mulberrytech.com/unsub/xsl-list/612310> (by=
email <applewebdata://E82B001C-7C55-4AE4-9E27-67B33E3B9491>)=20
> XSL-List info and archive <http://www.mulberrytech.com/xsl/xsl-list>
> EasyUnsubscribe <http://lists.mulberrytech.com/unsub/xsl-list/293509> (by=
email <>)
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/3329386
or by email: [email protected]
--~--
--Apple-Mail=_59155584-C75A-4864-8B56-72F7EA10661F
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
charset=utf-8
<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; charset=
=3Dutf-8"></head><body style=3D"word-wrap: break-word; -webkit-nbsp-mode: s=
pace; line-break: after-white-space;" class=3D"">Martin's suggestions would=
both work. Another idea would be <div class=3D""><br class=3D""></div=
><div class=3D""><xsl:variable name=3D"first-note" select=3D"current-gro=
up/<span style=3D"font-family: Calibri, sans-serif; font-size: 11pt;" class=
=3D"">PART_DES[matches(.,'NOTE')][1]</span><blockquote type=3D"cite" class=
=3D""><div class=3D"WordSection1" style=3D"page: WordSection1;"><div class=
=3D"" style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans-ser=
if;"><xsl:for-each select=3D"current-group()"><o:p class=3D""></o:p><=
/div><div class=3D"" style=3D"margin: 0in; font-size: 11pt; font-family: Ca=
libri, sans-serif;"> &=
nbsp; <xsl:choose><o:p class=3D""></o:p=
></div><div class=3D"" style=3D"margin: 0in; font-size: 11pt; font-family: =
Calibri, sans-serif;">  =
; <xsl:when =
test=3D". is $first-note or . >> $first-note"><o:p class=3D""></o:=
p></div><div class=3D"" style=3D"margin: 0in; font-size: 11pt; font-family:=
Calibri, sans-serif;"> &nbs=
p; &=
nbsp; <note></div></div></blockquote>...</div><div class=3D""><=
br class=3D""></div><div class=3D"">Michael Kay</div><div class=3D"">Saxoni=
ca<br class=3D""><div><br class=3D""><blockquote type=3D"cite" class=3D""><=
div class=3D"">On 20 May 2021, at 21:20, <a href=3D"mailto:rick@rickquatro.=
com" class=3D"">[email protected]</a> <<a href=3D"mailto:xsl-list-serv=
[email protected]" class=3D"">[email protected].=
com</a>> wrote:</div><br class=3D"Apple-interchange-newline"><div class=
=3D""><meta charset=3D"UTF-8" class=3D""><div class=3D"WordSection1" style=
=3D"page: WordSection1; caret-color: rgb(0, 0, 0); font-family: Helvetica; =
font-size: 13px; font-style: normal; font-variant-caps: normal; font-weight=
: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text=
-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stro=
ke-width: 0px; text-decoration: none;"><div style=3D"margin: 0in; font-size=
: 11pt; font-family: Calibri, sans-serif;" class=3D"">Here is my sample inp=
ut:<o:p class=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11pt; =
font-family: Calibri, sans-serif;" class=3D""><o:p class=3D""> </o:p><=
/div><div style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans=
-serif;" class=3D""><?xml version=3D"1.0" encoding=3D"UTF-8"?><o:p cl=
ass=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11pt; font-famil=
y: Calibri, sans-serif;" class=3D""><dataroot><o:p class=3D""></o:p><=
/div><div style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans=
-serif;" class=3D""> <DH675AU><o:p class=3D""></o:p=
></div><div style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sa=
ns-serif;" class=3D""> <FIG_NO=
>99999</FIG_NO><o:p class=3D""></o:p></div><div style=3D"margin: 0=
in; font-size: 11pt; font-family: Calibri, sans-serif;" class=3D""> &n=
bsp; <PART_DES>DIPSTICK</PART_DES>=
;<o:p class=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11pt; fo=
nt-family: Calibri, sans-serif;" class=3D""> </DH675AU=
><o:p class=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11pt;=
font-family: Calibri, sans-serif;" class=3D""> <DH675=
AU><o:p class=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11p=
t; font-family: Calibri, sans-serif;" class=3D""> &n=
bsp; <FIG_NO>99999</FIG_NO><o:p class=3D""></o:p></=
div><div style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans-=
serif;" class=3D""> <PART_DES&=
gt;O-RING</PART_DES><o:p class=3D""></o:p></div><div style=3D"margin:=
0in; font-size: 11pt; font-family: Calibri, sans-serif;" class=3D""> =
</DH675AU><o:p class=3D""></o:p></div><div style=3D"marg=
in: 0in; font-size: 11pt; font-family: Calibri, sans-serif;" class=3D"">&nb=
sp; <DH675AU><o:p class=3D""></o:p></div><div style=3D"ma=
rgin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;" class=3D"">&=
nbsp; <FIG_NO>99999</FIG_NO>=
;<o:p class=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11pt; fo=
nt-family: Calibri, sans-serif;" class=3D""> &=
nbsp; <PART_DES>SCREW, SELF-TAPPING</PART_DES><o:p class=
=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11pt; font-family: =
Calibri, sans-serif;" class=3D""> </DH675AU><o:p cl=
ass=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11pt; font-famil=
y: Calibri, sans-serif;" class=3D""> <DH675AU><o:p =
class=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11pt; font-fam=
ily: Calibri, sans-serif;" class=3D""> &=
nbsp; <FIG_NO>99999</FIG_NO><o:p class=3D""></o:p></div><div st=
yle=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;" cla=
ss=3D""> <PART_DES>NOTE: (1=
) NOT SERVICED SEPARATELY. INCLUDED IN</PART_DES><o:p class=3D""></o:=
p></div><div style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, s=
ans-serif;" class=3D""> </DH675AU><o:p class=3D""><=
/o:p></div><div style=3D"margin: 0in; font-size: 11pt; font-family: Calibri=
, sans-serif;" class=3D""> <DH675AU><o:p class=3D""=
></o:p></div><div style=3D"margin: 0in; font-size: 11pt; font-family: Calib=
ri, sans-serif;" class=3D""> <=
FIG_NO>99999</FIG_NO><o:p class=3D""></o:p></div><div style=3D"mar=
gin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;" class=3D"">&n=
bsp; <PART_DES>58F-98-40740 SEAL =
KIT.</PART_DES><o:p class=3D""></o:p></div><div style=3D"margin: 0in;=
font-size: 11pt; font-family: Calibri, sans-serif;" class=3D"">  =
; </DH675AU><o:p class=3D""></o:p></div><div style=3D"margin: 0=
in; font-size: 11pt; font-family: Calibri, sans-serif;" class=3D""> &n=
bsp; <DH675AU><o:p class=3D""></o:p></div><div style=3D"margin:=
0in; font-size: 11pt; font-family: Calibri, sans-serif;" class=3D""> =
<FIG_NO>69500</FIG_NO><o:p=
class=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11pt; font-fa=
mily: Calibri, sans-serif;" class=3D""> =
<PART_DES>DIPSTICK</PART_DES><o:p class=3D""></o:p></div=
><div style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans-ser=
if;" class=3D""> </DH675AU><o:p class=3D""></o:p></=
div><div style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans-=
serif;" class=3D""> <DH675AU><o:p class=3D""></o:p>=
</div><div style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, san=
s-serif;" class=3D""> <FIG_NO&=
gt;69500</FIG_NO><o:p class=3D""></o:p></div><div style=3D"margin: 0i=
n; font-size: 11pt; font-family: Calibri, sans-serif;" class=3D""> &nb=
sp; <PART_DES>O-RING</PART_DES><o=
:p class=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11pt; font-=
family: Calibri, sans-serif;" class=3D""> </DH675AU>=
;<o:p class=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11pt; fo=
nt-family: Calibri, sans-serif;" class=3D""> <DH675AU&=
gt;<o:p class=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11pt; =
font-family: Calibri, sans-serif;" class=3D"">  =
; <FIG_NO>69500</FIG_NO><o:p class=3D""></o:p></div=
><div style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans-ser=
if;" class=3D""> <PART_DES>=
SCREW, SELF-TAPPING</PART_DES><o:p class=3D""></o:p></div><div style=
=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;" class=
=3D""> </DH675AU><o:p class=3D""></o:p></div><div s=
tyle=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;" cl=
ass=3D""></dataroot><o:p class=3D""></o:p></div><div style=3D"margin:=
0in; font-size: 11pt; font-family: Calibri, sans-serif;" class=3D""><o:p c=
lass=3D""> </o:p></div><div style=3D"margin: 0in; font-size: 11pt; fon=
t-family: Calibri, sans-serif;" class=3D"">Here is my desired output:<o:p c=
lass=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11pt; font-fami=
ly: Calibri, sans-serif;" class=3D""><o:p class=3D""> </o:p></div><div=
style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;" =
class=3D""><?xml version=3D"1.0" encoding=3D"UTF-8"?><o:p class=3D"">=
</o:p></div><div style=3D"margin: 0in; font-size: 11pt; font-family: Calibr=
i, sans-serif;" class=3D""><root><o:p class=3D""></o:p></div><div sty=
le=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;" clas=
s=3D""> <entry><o:p class=3D""></o:p></div><div style=3D"=
margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;" class=3D""=
> <figure>99999</figure><o:p clas=
s=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11pt; font-family:=
Calibri, sans-serif;" class=3D""> <descri=
ption>DIPSTICK</description><o:p class=3D""></o:p></div><div style=
=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;" class=
=3D""> <description>O-RING</descript=
ion><o:p class=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11=
pt; font-family: Calibri, sans-serif;" class=3D""> &=
nbsp; <description>SCREW, SELF-TAPPING</description><o:p class=
=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11pt; font-family: =
Calibri, sans-serif;" class=3D""> <note>=
;NOTE: (1) NOT SERVICED SEPARATELY. INCLUDED IN</note><o:p class=3D""=
></o:p></div><div style=3D"margin: 0in; font-size: 11pt; font-family: Calib=
ri, sans-serif;" class=3D""> <note>58F-=
98-40740 SEAL KIT.</note><o:p class=3D""></o:p></div><div style=3D"ma=
rgin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;" class=3D"">&=
nbsp; </entry><o:p class=3D""></o:p></div><div style=3D"margin:=
0in; font-size: 11pt; font-family: Calibri, sans-serif;" class=3D""> =
<entry><o:p class=3D""></o:p></div><div style=3D"margin: 0in; =
font-size: 11pt; font-family: Calibri, sans-serif;" class=3D""> =
<figure>69500</figure><o:p class=3D""></o:p>=
</div><div style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, san=
s-serif;" class=3D""> <description>DIPS=
TICK</description><o:p class=3D""></o:p></div><div style=3D"margin: 0=
in; font-size: 11pt; font-family: Calibri, sans-serif;" class=3D""> &n=
bsp; <description>O-RING</description><o:p cl=
ass=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11pt; font-famil=
y: Calibri, sans-serif;" class=3D""> <desc=
ription>SCREW, SELF-TAPPING</description><o:p class=3D""></o:p></d=
iv><div style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans-s=
erif;" class=3D""> </entry><o:p class=3D""></o:p></div><d=
iv style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;=
" class=3D""></root><o:p class=3D""></o:p></div><div style=3D"margin:=
0in; font-size: 11pt; font-family: Calibri, sans-serif;" class=3D""><o:p c=
lass=3D""> </o:p></div><div style=3D"margin: 0in; font-size: 11pt; fon=
t-family: Calibri, sans-serif;" class=3D"">Here is my stylesheet:<o:p class=
=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11pt; font-family: =
Calibri, sans-serif;" class=3D""><o:p class=3D""> </o:p></div><div sty=
le=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;" clas=
s=3D""><?xml version=3D"1.0" encoding=3D"UTF-8"?><o:p class=3D""></o:=
p></div><div style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, s=
ans-serif;" class=3D""><xsl:stylesheet xmlns:xsl=3D"<a href=3D"http://ww=
w.w3.org/1999/XSL/Transform" style=3D"color: rgb(5, 99, 193); text-decorati=
on: underline;" class=3D"">http://www.w3.org/1999/XSL/Transform</a>"<o:p cl=
ass=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11pt; font-famil=
y: Calibri, sans-serif;" class=3D""> xmlns:xs=3D"<a href=
=3D"http://www.w3.org/2001/XMLSchema" style=3D"color: rgb(5, 99, 193); text=
-decoration: underline;" class=3D"">http://www.w3.org/2001/XMLSchema</a>"<o=
:p class=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11pt; font-=
family: Calibri, sans-serif;" class=3D""> xmlns:math=3D"<=
a href=3D"http://www.w3.org/2005/xpath-functions/math" style=3D"color: rgb(=
5, 99, 193); text-decoration: underline;" class=3D"">http://www.w3.org/2005=
/xpath-functions/math</a>"<o:p class=3D""></o:p></div><div style=3D"margin:=
0in; font-size: 11pt; font-family: Calibri, sans-serif;" class=3D""> =
exclude-result-prefixes=3D"xs math"<o:p class=3D""></o:p></div=
><div style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans-ser=
if;" class=3D""> version=3D"3.0" expand-text=3D"true">=
<o:p class=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11pt; fon=
t-family: Calibri, sans-serif;" class=3D""> <span class=3D=
"Apple-converted-space"> </span><o:p class=3D""></o:p></div><div style=
=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;" class=
=3D""> <xsl:output method=3D"xml" indent=3D"yes"/=
><o:p class=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11pt;=
font-family: Calibri, sans-serif;" class=3D""> <span clas=
s=3D"Apple-converted-space"> </span><o:p class=3D""></o:p></div><div s=
tyle=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;" cl=
ass=3D""> <xsl:template match=3D"/dataroot"><o=
:p class=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11pt; font-=
family: Calibri, sans-serif;" class=3D""> &nbs=
p; <root><o:p class=3D""></o:p></div><div style=3D"margin: 0in;=
font-size: 11pt; font-family: Calibri, sans-serif;" class=3D"">  =
; <xsl:call-templa=
te name=3D"make-components"/><o:p class=3D""></o:p></div><div style=3D"m=
argin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;" class=3D"">=
</root><o:p class=3D""></o=
:p></div><div style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, =
sans-serif;" class=3D""> </xsl:template><o:p class=
=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11pt; font-family: =
Calibri, sans-serif;" class=3D""> <span class=3D"Apple-con=
verted-space"> </span><o:p class=3D""></o:p></div><div style=3D"margin=
: 0in; font-size: 11pt; font-family: Calibri, sans-serif;" class=3D""> =
; <xsl:template name=3D"make-components"><o:p class=
=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11pt; font-family: =
Calibri, sans-serif;" class=3D""> =
<xsl:for-each-group select=3D"*" group-by=3D"child::FIG_NO"><o:p cla=
ss=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11pt; font-family=
: Calibri, sans-serif;" class=3D""> &nbs=
p; <xsl:call-template name=3D"make-entries"/>=
<o:p class=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11pt; fon=
t-family: Calibri, sans-serif;" class=3D""> &n=
bsp; </xsl:for-each-group><o:p class=3D""></o:p></div><div styl=
e=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;" class=
=3D""> </xsl:template><o:p class=3D""></o:p></div><=
div style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif=
;" class=3D""> <span class=3D"Apple-converted-space"> =
;</span><o:p class=3D""></o:p></div><div style=3D"margin: 0in; font-size: 1=
1pt; font-family: Calibri, sans-serif;" class=3D""> =
<xsl:template name=3D"make-entries"><o:p class=3D""></o:p></div><div =
style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;" c=
lass=3D""> <entry><o:p clas=
s=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11pt; font-family:=
Calibri, sans-serif;" class=3D"">  =
; <figure><xsl:apply-templates select=3D"c=
urrent-group()[1]/FIG_NO"/></figure><o:p class=3D""></o:p></div><d=
iv style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;=
" class=3D""> &n=
bsp; <xsl:for-each select=3D"current-group()"><o:p class=3D""></o:p><=
/div><div style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans=
-serif;" class=3D""> &=
nbsp; <xsl:choose><o:p class=3D""></o:p=
></div><div style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sa=
ns-serif;" class=3D"">  =
; <xsl:when =
test=3D"PART_DES[matches(.,'NOTE')] or preceding::PART_DES[matches(.,'NOTE'=
)]"><o:p class=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11=
pt; font-family: Calibri, sans-serif;" class=3D""> &=
nbsp; &nbs=
p; <note><o:p class=3D""></o:p></=
div><div style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans-=
serif;" class=3D""> &n=
bsp;  =
; <xsl:apply-templates select=3D"PART_DES"=
/><o:p class=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11pt=
; font-family: Calibri, sans-serif;" class=3D""> &nb=
sp; =
</note><o:p class=3D""></o:p></d=
iv><div style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans-s=
erif;" class=3D""> &nb=
sp; </xsl:when>=
<o:p class=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11pt; fon=
t-family: Calibri, sans-serif;" class=3D""> &n=
bsp;  =
; <xsl:otherwise><o:p class=3D""></o:p></div><div style=3D"marg=
in: 0in; font-size: 11pt; font-family: Calibri, sans-serif;" class=3D"">&nb=
sp; =
<descriptio=
n><o:p class=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11pt=
; font-family: Calibri, sans-serif;" class=3D""> &nb=
sp; =
<xsl:apply-=
templates select=3D"PART_DES"/><o:p class=3D""></o:p></div><div style=3D=
"margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;" class=3D"=
"> &=
nbsp; </desc=
ription><o:p class=3D""></o:p></div><div style=3D"margin: 0in; font-size=
: 11pt; font-family: Calibri, sans-serif;" class=3D""> &nb=
sp; =
</xsl:otherwise><o:p class=3D""></o:p></div><div s=
tyle=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;" cl=
ass=3D""> =
</xsl:choose><o:p class=3D""></o:p></div><di=
v style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"=
class=3D""> &nb=
sp; </xsl:for-each><o:p class=3D""></o:p></div><div style=3D"margin: =
0in; font-size: 11pt; font-family: Calibri, sans-serif;" class=3D""> &=
nbsp; </entry><o:p class=3D""></o:p></d=
iv><div style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans-s=
erif;" class=3D""> </xsl:template><o:p class=3D""><=
/o:p></div><div style=3D"margin: 0in; font-size: 11pt; font-family: Calibri=
, sans-serif;" class=3D""> <span class=3D"Apple-conv=
erted-space"> </span><o:p class=3D""></o:p></div><div style=3D"margin:=
0in; font-size: 11pt; font-family: Calibri, sans-serif;" class=3D""></x=
sl:stylesheet><o:p class=3D""></o:p></div><div style=3D"margin: 0in; fon=
t-size: 11pt; font-family: Calibri, sans-serif;" class=3D""><o:p class=3D""=
> </o:p></div><div style=3D"margin: 0in; font-size: 11pt; font-family:=
Calibri, sans-serif;" class=3D"">Here is what I am getting:<o:p class=3D""=
></o:p></div><div style=3D"margin: 0in; font-size: 11pt; font-family: Calib=
ri, sans-serif;" class=3D""><o:p class=3D""> </o:p></div><div style=3D=
"margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;" class=3D"=
"><?xml version=3D"1.0" encoding=3D"UTF-8"?><o:p class=3D""></o:p></d=
iv><div style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans-s=
erif;" class=3D""><root><o:p class=3D""></o:p></div><div style=3D"mar=
gin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;" class=3D"">&n=
bsp; <entry><o:p class=3D""></o:p></div><div style=3D"margin: 0=
in; font-size: 11pt; font-family: Calibri, sans-serif;" class=3D""> &n=
bsp; <figure>99999</figure><o:p class=3D""></=
o:p></div><div style=3D"margin: 0in; font-size: 11pt; font-family: Calibri,=
sans-serif;" class=3D""> <description>=
DIPSTICK</description><o:p class=3D""></o:p></div><div style=3D"margi=
n: 0in; font-size: 11pt; font-family: Calibri, sans-serif;" class=3D"">&nbs=
p; <description>O-RING</description><o:=
p class=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11pt; font-f=
amily: Calibri, sans-serif;" class=3D""> <=
description>SCREW, SELF-TAPPING</description><o:p class=3D""></o:p=
></div><div style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sa=
ns-serif;" class=3D""> <note>NOTE: (1) =
NOT SERVICED SEPARATELY. INCLUDED IN</note><o:p class=3D""></o:p></di=
v><div style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans-se=
rif;" class=3D""> <note>58F-98-40740 SE=
AL KIT.</note><o:p class=3D""></o:p></div><div style=3D"margin: 0in; =
font-size: 11pt; font-family: Calibri, sans-serif;" class=3D""> =
</entry><o:p class=3D""></o:p></div><div style=3D"margin: 0in; font-=
size: 11pt; font-family: Calibri, sans-serif;" class=3D""> <=
entry><o:p class=3D""></o:p></div><div style=3D"margin: 0in; font-size: =
11pt; font-family: Calibri, sans-serif;" class=3D"">  =
; <figure>69500</figure><o:p class=3D""></o:p></div><div =
style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;" c=
lass=3D""> <note>DIPSTICK</note><=
o:p class=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11pt; font=
-family: Calibri, sans-serif;" class=3D""> &l=
t;note>O-RING</note><o:p class=3D""></o:p></div><div style=3D"marg=
in: 0in; font-size: 11pt; font-family: Calibri, sans-serif;" class=3D"">&nb=
sp; <note>SCREW, SELF-TAPPING</note><o:=
p class=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11pt; font-f=
amily: Calibri, sans-serif;" class=3D""> </entry><o:p cla=
ss=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11pt; font-family=
: Calibri, sans-serif;" class=3D""></root><o:p class=3D""></o:p></div=
><div style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans-ser=
if;" class=3D""><span lang=3D"en-BB" class=3D""><o:p class=3D""> </o:p=
></span></div><div style=3D"margin: 0in; font-size: 11pt; font-family: Cali=
bri, sans-serif;" class=3D"">The idea is that when I see a =E2=80=9CNOTE=E2=
=80=9D string, I want that entry and all following within the same group to=
be <note> elements. So I am look for preceding-sibling or self that =
contains =E2=80=9CNOTE=E2=80=9D but restricted to the same group.<span clas=
s=3D"Apple-converted-space"> </span><span lang=3D"en-BB" class=3D"">I =
am using XSLT 3. Thank you very much.<o:p class=3D""></o:p></span></div><di=
v style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;"=
class=3D""><span lang=3D"en-BB" class=3D""><o:p class=3D""> </o:p></s=
pan></div><div style=3D"margin: 0in; font-size: 11pt; font-family: Calibri,=
sans-serif;" class=3D""><span lang=3D"en-BB" class=3D"">Rick<o:p class=3D"=
"></o:p></span></div><div style=3D"margin: 0in; font-size: 11pt; font-famil=
y: Calibri, sans-serif;" class=3D""><o:p class=3D""> </o:p></div><div =
style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;" c=
lass=3D"">Rick Quatro<o:p class=3D""></o:p></div><div style=3D"margin: 0in;=
font-size: 11pt; font-family: Calibri, sans-serif;" class=3D"">Carmen Publ=
ishing Inc.<o:p class=3D""></o:p></div><div style=3D"margin: 0in; font-size=
: 11pt; font-family: Calibri, sans-serif;" class=3D"">585-729-6746<o:p clas=
s=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11pt; font-family:=
Calibri, sans-serif;" class=3D""><a href=3D"mailto:[email protected]" s=
tyle=3D"color: rgb(5, 99, 193); text-decoration: underline;" class=3D"">ric=
[email protected]</a><o:p class=3D""></o:p></div><div style=3D"margin: 0in;=
font-size: 11pt; font-family: Calibri, sans-serif;" class=3D""><a href=3D"=
http://www.frameexpert.com/store" style=3D"color: rgb(5, 99, 193); text-dec=
oration: underline;" class=3D"">http://www.frameexpert.com/store</a><o:p cl=
ass=3D""></o:p></div><div style=3D"margin: 0in; font-size: 11pt; font-famil=
y: Calibri, sans-serif;" class=3D""><o:p class=3D""> </o:p></div><div =
style=3D"margin: 0in; font-size: 11pt; font-family: Calibri, sans-serif;" c=
lass=3D""><span lang=3D"en-BB" class=3D""><o:p class=3D""> </o:p></spa=
n></div><div class=3D""><div style=3D"border-style: solid none none; border=
-top-width: 1pt; border-top-color: black; padding: 4pt 0in 0in; margin-top:=
5pt; margin-bottom: 5pt;" class=3D""><div style=3D"margin: 0in; font-size:=
11pt; font-family: Calibri, sans-serif; text-align: center; background-col=
or: rgb(221, 221, 221);" class=3D""><span style=3D"font-size: 7.5pt; font-f=
amily: Arial, sans-serif; color: rgb(136, 136, 136);" class=3D""><a href=3D=
"http://www.mulberrytech.com/xsl/xsl-list" style=3D"color: rgb(5, 99, 193);=
text-decoration: underline;" class=3D"">XSL-List info and archive</a><o:p =
class=3D""></o:p></span></div><div style=3D"margin: 0in; font-size: 11pt; f=
ont-family: Calibri, sans-serif; text-align: center; background-color: rgb(=
221, 221, 221);" class=3D""><span style=3D"font-size: 7.5pt; font-family: A=
rial, sans-serif; color: rgb(136, 136, 136);" class=3D""><a href=3D"http://=
lists.mulberrytech.com/unsub/xsl-list/612310" style=3D"color: rgb(5, 99, 19=
3); text-decoration: underline;" class=3D""><span style=3D"color: blue;" cl=
ass=3D"">EasyUnsubscribe</span></a><span class=3D"Apple-converted-space">&n=
bsp;</span>(<a href=3D"" style=3D"color: rgb(5, 99, 193); text-decoration: =
underline;" class=3D""><span style=3D"color: blue;" class=3D"">by email</sp=
an></a>)<span class=3D"Apple-converted-space"> </span><o:p class=3D"">=
</o:p></span></div></div></div></div><div style=3D"caret-color: rgb(0, 0, 0=
); font-family: Helvetica; font-size: 13px; font-style: normal; font-varian=
t-caps: normal; font-weight: normal; letter-spacing: normal; text-align: st=
art; text-indent: 0px; text-transform: none; white-space: normal; word-spac=
ing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=3D"=
"><div style=3D"border-top-width: 1px; border-top-style: solid; border-top-=
color: black; background-color: rgb(221, 221, 221); color: rgb(136, 136, 13=
6); font-size: smaller; padding: 5px; text-align: center; font-family: aria=
l, verdana, arial, sans-serif; clear: both; margin: auto;" class=3D""><a hr=
ef=3D"http://www.mulberrytech.com/xsl/xsl-list" style=3D"color: rgb(5, 99, =
193); text-decoration: underline;" class=3D"">XSL-List info and archive</a>=
<div style=3D"text-align: center;" class=3D""><a href=3D"http://lists.mulbe=
rrytech.com/unsub/xsl-list/293509" style=3D"color: blue; text-decoration: u=
nderline;" class=3D"">EasyUnsubscribe</a><span class=3D"Apple-converted-spa=
ce"> </span>(<a href=3D"" style=3D"color: blue; text-decoration: under=
line;" class=3D"">by email</a>)</div></div></div></div></blockquote></div><=
br class=3D""></div></body></html>
<div><!-- begin bl.html.trailer -->
<div style=3D"border-top:1px solid black; background-color: #dddddd;
color: #888888; font-size: smaller; padding: 5px; text-align: center;
font-family: arial,verdana,arial,sans-serif; margin-top:1em; clear:
both; margin: auto">
<a href=3D"http://www.mulberrytech.com/xsl/xsl-list">
XSL-List info and archive</a>
<div style=3D"text-align:center;">
<a style=3D"color: blue;"
href=3D"http://lists.mulberrytech.com/unsub/xsl-list/3329386"
>EasyUnsubscribe</a>
(<a style=3D"color: blue;"
href=3D"mailto:[email protected]?subject=3Dremove"
>by email</a>)
</div>
</div>
<!-- end bl.html.trailer --></div>
--Apple-Mail=_59155584-C75A-4864-8B56-72F7EA10661F--