| Newsgroups |
gmane.text.xml.xsl.general.mulberrytech |
| Message-ID |
<[email protected]> |
--0000000000009c50fc05bfbea914
Content-Type: text/plain; charset="UTF-8"
I am trying to upconvert from a flat-file. After I get it into XML form I
try to add hierarchy using "key".
-------------
OUTPUT
-------------
I get NO results from
<SubPossibilities>
<xsl:copy select="key('SemanticDomainByParent', '$parentSD')"/>
</SubPossibilities>
so output looks like
<SubPossibilities/>
So what am I doing wrong?
Starting with this XML
-------------
XML input
-------------
... <Possibilities>
<CmSemanticDomain level="1" sd="1" parent=""
guid="I63403699-07C1-43F3-A47C-069D6E4316E5">
<line tag="sd">Universe, creation</line>
<line tag="gd">I63403699-07C1-43F3-A47C-069D6E4316E5</line>
</CmSemanticDomain>
<CmSemanticDomain level="2" sd="1.1" parent="1"
guid="I999581C4-1611-4ACB-AE1B-5E6C1DFE6F0C">
<line tag="sd">Sky</line>
<line tag="gd">I999581C4-1611-4ACB-AE1B-5E6C1DFE6F0C</line>
</CmSemanticDomain>
<CmSemanticDomain level="3" sd="1.1.1" parent="1.1"
guid="IDC1A2C6F-1B32-4631-8823-36DACC8CB7BB">
<line tag="sd">Sun</line>
<line tag="gd">IDC1A2C6F-1B32-4631-8823-36DACC8CB7BB</line>
</CmSemanticDomain>
<CmSemanticDomain level="4" sd="1.1.1.1" parent="1.1.1"
guid="I1BD42665-0610-4442-8D8D-7C666FEE3A6D">
<line tag="sd">Moon</line>
<line tag="gd">I1BD42665-0610-4442-8D8D-7C666FEE3A6D</line>
</CmSemanticDomain>
<CmSemanticDomain level="4" sd="1.1.1.2" parent="1.1.1"
guid="IB044E890-CE30-455C-AEDE-7E9D5569396E">
<line tag="sd">Star</line>
<line tag="gd">IB044E890-CE30-455C-AEDE-7E9D5569396E</line>
</CmSemanticDomain>
<CmSemanticDomain level="4" sd="1.1.1.3" parent="1.1.1"
guid="IA0D073DF-D413-4DFD-9BA1-C3C68F126D90">
<line tag="sd">Planet</line>
<line tag="gd">IA0D073DF-D413-4DFD-9BA1-C3C68F126D90</line>
</CmSemanticDomain>
...
-------------
XSL
-------------
...
<xsl:key name="SemanticDomainByParent" match="CmSemanticDomain"
use="@parent" />
<xsl:template match="CmSemanticDomain">
<CmSemanticDomain>
<xsl:apply-templates select="@* | node()"/>
<xsl:apply-templates
select="key('SemanticDomainByParent',@sd)"/>
</CmSemanticDomain>
</xsl:template>
<xsl:template match="line[@tag='gd']">
<xsl:variable name="parentSD" select="parent::*/@parent"/>
<SubPossibilities>
<xsl:copy select="key('SemanticDomainByParent', '$parentSD')"/>
</SubPossibilities>
</xsl:template>
<!-- identity transform -->
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
-------------
Desired OUTPUT
-------------
...
<Possibilities>
<CmSemanticDomain level="1" sd="1" parent=""
guid="I63403699-07C1-43F3-A47C-069D6E4316E5">
<line tag="sd">Universe, creation</line>
<SubPossibilities>
<CmSemanticDomain level="2" sd="1.1" parent="1"
guid="I999581C4-1611-4ACB-AE1B-5E6C1DFE6F0C">
<line tag="sd">Sky</line>
<SubPossibilities>
<CmSemanticDomain level="3" sd="1.1.1"
parent="1.1" guid="IDC1A2C6F-1B32-4631-8823-36DACC8CB7BB">
<line tag="sd">Sun</line>
<SubPossibilities>
<CmSemanticDomain level="4"
sd="1.1.1.2" parent="1.1.1" guid="IB044E890-CE30-455C-AEDE-7E9D5569396E">
<line tag="sd">Star</line>
</CmSemanticDomain>
<CmSemanticDomain level="4"
sd="1.1.1.3" parent="1.1.1"
guid="IA0D073DF-D413-4DFD-9BA1-C3C68F126D90">
<line tag="sd">Planet</line>
</CmSemanticDomain>
...
</SubPossibilities>
</CmSemanticDomain>
</SubPossibilities>
</CmSemanticDomain>
</SubPossibilities>
</CmSemanticDomain>
</Possibilities>
Jim Albright
Wycliffe Bible Translators
704-562-1529
--~----------------------------------------------------------------
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]
--~--
--0000000000009c50fc05bfbea914
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr"><div>I am trying to upconvert from a flat-file. After I ge=
t it into XML form I try to add hierarchy using "key".<br></div>=
=0D
<div><div>-------------</div><div>OUTPUT <br></div><div>-------------=0D
=0D
</div>=0D
=0D
</div>=0D
=0D
<div><div dir=3D"ltr" class=3D"gmail_signature"><div dir=3D"ltr"><div>I get=
NO results from <br></div><div><SubPossibilities><br>=C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 <xsl:copy select=3D"key('SemanticDo=
mainByParent', '$parentSD')"/><br></SubPossibilities=
></div><div><br></div><div>so output looks like</div><div><SubPossibi=
lities/></div><div><br></div><div>So what am I doing wrong?<br></div></d=
iv></div></div>=0D
=0D
<div><br></div><div><br></div><div>Starting with this XML</div><div>=0D
<div>-------------</div><div>XML input <br></div><div>-------------=0D
=0D
</div><div><br></div>=0D
=0D
</div><div>...=C2=A0 =C2=A0 =C2=A0 <Possibilities><br>=C2=A0 =C2=A0 =
=C2=A0 =C2=A0=C2=A0 <CmSemanticDomain level=3D"1" =C2=A0 =C2=
=A0=C2=A0 sd=3D"1"=C2=A0=C2=A0 parent=3D""=C2=A0 =C2=A0=
=C2=A0 =C2=A0=C2=A0 guid=3D"I63403699-07C1-43F3-A47C-069D6E4316E5&quo=
t;><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <line tag=3D"sd=
">Universe, creation</line><br>=C2=A0=C2=A0=C2=A0 =C2=A0 =C2=
=A0 =C2=A0=C2=A0=C2=A0 <line tag=3D"gd">I63403699-07C1-43F3=
-A47C-069D6E4316E5</line><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0</C=
mSemanticDomain><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0<CmSemanticDoma=
in level=3D"2"=C2=A0 sd=3D"1.1"=C2=A0=C2=A0 parent=3D&q=
uot;1" =C2=A0=C2=A0 guid=3D"I999581C4-1611-4ACB-AE1B-5E6C1DFE6F0C=
"><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0 <li=
ne tag=3D"sd">Sky</line><br>=C2=A0 =C2=A0 =C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 <line tag=3D"gd&qu=
ot;>I999581C4-1611-4ACB-AE1B-5E6C1DFE6F0C</line><br>=C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 </CmSemanticDomain><br>=C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0<CmSemanticDomain level=3D"3"=C2=A0=C2=A0 sd=3D"=
;1.1.1" =C2=A0=C2=A0 parent=3D"1.1" =C2=A0=C2=A0 guid=3D&quo=
t;IDC1A2C6F-1B32-4631-8823-36DACC8CB7BB"><br>=C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0=C2=A0=C2=A0 <line tag=3D"sd">Sun</line>=
<br>=C2=A0=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0=C2=A0 <line tag=3D&quo=
t;gd">IDC1A2C6F-1B32-4631-8823-36DACC8CB7BB</line><br>=C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0</CmSemanticDomain><br>=C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0<CmSemanticDomain level=3D"4"=C2=A0 sd=3D&quo=
t;1.1.1.1" =C2=A0=C2=A0 parent=3D"1.1.1" =C2=A0 =C2=A0=C2=A0=
guid=3D"I1BD42665-0610-4442-8D8D-7C666FEE3A6D"><br>=C2=A0=C2=
=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <line tag=3D"sd">Moon=
</line><br>=C2=A0=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <line ta=
g=3D"gd">I1BD42665-0610-4442-8D8D-7C666FEE3A6D</line><br=
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0</CmSemanticDomain><br>=C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0<CmSemanticDomain level=3D"4"=C2=A0 sd=
=3D"1.1.1.2"=C2=A0 parent=3D"1.1.1"=C2=A0 guid=3D"=
IB044E890-CE30-455C-AEDE-7E9D5569396E"><br>=C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 <line tag=3D"sd">Star</line><br>=C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0=C2=A0 <line tag=3D"gd"&g=
t;IB044E890-CE30-455C-AEDE-7E9D5569396E</line><br>=C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0</CmSemanticDomain><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0<CmSemanticDomain level=3D"4"=C2=A0 sd=3D"1.1.1.3&q=
uot;=C2=A0=C2=A0 parent=3D"1.1.1" =C2=A0=C2=A0 guid=3D"IA0D0=
73DF-D413-4DFD-9BA1-C3C68F126D90"><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0=C2=A0=C2=A0 <line tag=3D"sd">Planet</line><br>=
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0=C2=A0 <line tag=3D"gd"=
;>IA0D073DF-D413-4DFD-9BA1-C3C68F126D90</line><br>=C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0</CmSemanticDomain><br></div><div><br></div><div>=
...<br></div><div>-------------</div><div>XSL <br></div><div>-------------=
=0D
=0D
</div><div>...<br></div><div>=C2=A0 <xsl:key name=3D"SemanticDomain=
ByParent" match=3D"CmSemanticDomain" use=3D"@parent&quo=
t; /></div>=C2=A0 =C2=A0 <br>=C2=A0 =C2=A0 <xsl:template match=3D&quo=
t;CmSemanticDomain"><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 <CmSemanticD=
omain><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <xsl:apply-templa=
tes select=3D"@* | node()"/><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 <xsl:apply-templates select=3D"key('SemanticDomai=
nByParent',@sd)"/><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 </CmSemant=
icDomain><br>=C2=A0 =C2=A0 </xsl:template><br>=C2=A0 =C2=A0 <br>=
=C2=A0 =C2=A0 <xsl:template match=3D"line[@tag=3D'gd']"=
;><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 <xsl:variable name=3D"parentSD=
" select=3D"parent::*/@parent"/> =C2=A0 <br>=C2=A0 =C2=A0=
=C2=A0 =C2=A0 <SubPossibilities><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 <xsl:copy select=3D"key('SemanticDomainByParent'=
, '$parentSD')"/><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 </SubPo=
ssibilities><br>=C2=A0 =C2=A0 </xsl:template><br>=C2=A0 =C2=A0 <br=
>=C2=A0 =C2=A0 <!-- identity transform --><br>=C2=A0 =C2=A0 <xsl:t=
emplate match=3D"@* | node()"><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =
<xsl:copy><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <xsl:apply=
-templates select=3D"@* | node()"/><br>=C2=A0 =C2=A0 =C2=A0 =
=C2=A0 </xsl:copy><br>=C2=A0 =C2=A0 </xsl:template><br>=C2=A0 =
=C2=A0 <br><div>=C2=A0=0D
<div>-------------</div><div>Desired OUTPUT <br></div><div>-------------=0D
=0D
</div>=0D
=0D
</div><div>...<br></div><div>=C2=A0 =C2=A0 =C2=A0 <Possibilities><br>=
<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0 <CmSemanticDomain level=3D"1=
" =C2=A0 =C2=A0=C2=A0 sd=3D"1"=C2=A0=C2=A0 parent=3D"&q=
uot;=C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0 guid=3D"I63403699-07C1-43F3-A47C=
-069D6E4316E5"></div><div>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 =C2=A0 =C2=A0 <line tag=3D"sd">Univer=
se, creation</line><br>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 <SubPossibilities></div><div>=
=0D
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 <CmSemanticDomain level=3D"2"=C2=A0 sd=3D"1.1&q=
uot;=C2=A0=C2=A0 parent=3D"1" =C2=A0=C2=A0 guid=3D"I999581C4=
-1611-4ACB-AE1B-5E6C1DFE6F0C"><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 <line tag=3D"sd">Sky</line></div><div>=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 <SubPossibilities>=0D
=0D
=0D
<div>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 <CmSemanticDomain level=3D"3"=C2=A0=C2=A0 sd=3D"1.=
1.1" =C2=A0=C2=A0 parent=3D"1.1" =C2=A0=C2=A0 guid=3D"I=
DC1A2C6F-1B32-4631-8823-36DACC8CB7BB"><br>=C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 <line tag=3D"sd=
">Sun</line></div><div>=C2=A0 =C2=A0=0D
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
<SubPossibilities>=C2=A0 =C2=A0 =C2=A0=C2=A0 <br></div><div>=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 <CmSemanticDomain level=3D&qu=
ot;4"=C2=A0 sd=3D"1.1.1.2"=C2=A0 parent=3D"1.1.1"=
=C2=A0 guid=3D"IB044E890-CE30-455C-AEDE-7E9D5569396E"><br>=C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0 <line tag=
=3D"sd">Star</line><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0=C2=A0=C2=A0 </CmSemanticDomain><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 <CmSemanticDomain level=3D"4"=C2=A0 sd=3D"1.1.1.3&=
quot;=C2=A0=C2=A0 parent=3D"1.1.1" =C2=A0=C2=A0 guid=3D"IA0D=
073DF-D413-4DFD-9BA1-C3C68F126D90"><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 <line tag=3D"sd">Planet</lin=
e><br>=C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 </CmSemanticDomain>=C2=A0 =C2=A0=
=C2=A0 <br></div><div>...</div><div>=0D
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0=
=C2=A0 =C2=A0 =C2=A0 =C2=A0 </SubPossibilities><br>=C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 &l=
t;/CmSemanticDomain><br>=0D
=0D
=0D
=C2=A0 =C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 </SubPossibilities><br>=C2=A0 =C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=
=C2=A0 =C2=A0 =C2=A0 =C2=A0 </CmSemanticDomain><br>=0D
=0D
=C2=A0 =C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0 =C2=A0 =C2=A0 </SubPossibilities=
><br>=C2=A0 =C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0 </CmSemanticDomain><b=
r>=C2=A0 =C2=A0 =C2=A0 </Possibilities>=C2=A0=C2=A0 <br></div><br></d=
iv></div>=0D
<div><div dir=3D"ltr" class=3D"gmail_signature" data-smartmail=3D"gmail_sig=
nature"><div dir=3D"ltr"><div><br></div><div>Jim Albright</div><div>Wycliff=
e Bible Translators</div><div>704-562-1529<br></div></div></div></div></div=
>=0D
<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>
--0000000000009c50fc05bfbea914--