|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: problem with key
On Mon, 12 Apr 2021 06:08:46 +0200,
Albright, Jim jim_albright@xxxxxxxxxxxx wrote:
>
> [1 <text/plain; UTF-8 (7bit)>]
> [2 <text/html; UTF-8 (quoted-printable)>]
> 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>
The quotes around $parentSD look wrong. You are looking up elements
under the string key '$parentSD'.
I think it should read:
<xsl:copy select="key('SemanticDomainByParent', $parentSD)"/>
HTH,
-- David
>
> 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
> EasyUnsubscribe (by email)
--
David Maus M.A.
Www: http://dmaus.name
Twitter: @_dmaus
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








