[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

inserting data from second file using key and document

Subject: inserting data from second file using key and document
From: "Jim Albright jim_albright@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Mon, 14 Jan 2019 02:19:48 -0000
 inserting data from second file using key and document
File #1 is Louw-Nida data translated into Portuguese:

<html>
<head></head>
<body>
o;?<p class='entry' domain='1.1' >
	<span class='LNgrk'><span class='k'>N:a=9ON<N?O</span><span
class='zsup'>a</span>, <span class='k'>N?O</span> <span
class='it'>m</span></span>
	<span class='LNdfe'>o universo como uma estrutura ordenada</span>
	<span class='LNgle'>cosmo, universo</span>
	<span class='LNill'><span lang='gk'>a= N8N5a=8O a= ON?N9a=5ON1O Oa=8N=
N:a=9ON<N?N= N:N1a=6 Oa=1N=ON1 Oa=0 a<N= N1a=Oa?7</span>, bo Deus que
fez o universo e tudo o que nele existeb (At 17.24). Em muitas lC-nguas,
nC#o existe termo especC-fico para o universo. O equivalente mais prC3ximo
pode ser simplesmente btudo o que existeb. Em outros casos, pode-se usar
uma locuC'C#o como bo mundo e tudo o que estC! acima deleb ou bo cC)u e
a terrab. Em algumas lC-nguas, o conceito da totalidade do universo pode ser
expresso apenas como btudo o que hC! na terra e no cC)ub.</span>
</p>
...
<p class='entry' domain='60.45' >
	<span class='LNgrk'><span class='k'>N<a=;ON9N?N9, N1N9, N1</span>; <span
class='k'>N<OON9a=1O</span><span class='znsup'>a</span>, <span
class='k'>a=1N4N?O</span> <span class='it'>f</span> b bdez
milb.</span>
	<span class='p2'><span class='ke'>N<a=;ON9N?N9:</span> <span
lang='gk'>N5a<7O a=ON5N9N;a=3ON7O N<OOa=7O	N= ON1N;a=1N=OO	N=</span>,
bum que lhe devia dez mil talentosb (Mt 18.24).</span>
	<span class='p2'><span class='ke'>N<OON9a=1O</span><span
class='zsup'>a</span>: <span lang='gk'>a<ON3OOa=7N?O N<OON9a=1N4N1O
Oa=3N=ON5</span>, bcinquenta mil moedas de pratab (At 19.19).</span>
</p>...


I want to insert the p into a second document based on the domain /1.1/

File #2 is the Semantic Domain of Biblical Greek:

<?xml version="1.0"?>
<Lexicon xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Lexicon_Entry Id="000001000000000" Lemma="N1" Version="0"
HasAramaic="false">

 <BaseForms>
      <BaseForm Id="000001001000000">
        <LEXMeanings>
          <LEXMeaning Id="000001001001000" IsBiblicalTerm="Y">
            <LEXDomains>
              <LEXDomain>60.46</LEXDomain>
            </LEXDomains>
            <LEXSenses>
              <LEXSense LanguageCode="en" LastEdited="" LastEditedBy="">
                <DefinitionLong />
                <DefinitionShort>first in a series involving time, space, or
set</DefinitionShort>
                <Glosses>
                  <Gloss>first</Gloss>
                </Glosses>
                <Comments>Occurring only in titles of NT writings: OOa=8O
NN?ON9N=N8a=7N?OO N1 bFirst Letter to the Corinthiansb;
a<8O	a=1N=N=N?O N1 bFirst Epistle of John.b</Comments>
              </LEXSense>
              <LEXSense LanguageCode="pt" LastEdited="" LastEditedBy="">
                <DefinitionLong />
                <DefinitionShort>o primeiro numa sC)rie envolvendo tempo,
espaC'o ou ordem</DefinitionShort>
                <Glosses>
                  <Gloss>primeiro</Gloss>
                </Glosses>
                <Comments />
              </LEXSense>
   ...

I want to insert some contents from p from file #1 into file #2 into
/Comments/ found in /LanguageCode/=pt.

Desired output...
   <LEXSense LanguageCode="pt" LastEdited="" LastEditedBy="">
                <DefinitionLong />
                <DefinitionShort>o primeiro numa sC)rie envolvendo tempo,
espaC'o ou ordem</DefinitionShort>
                <Glosses>
                  <Gloss>primeiro</Gloss>
                </Glosses>
                <Comments >
	 	<span class='p2'><span class='ke'>N<a=;ON9N?N9:</span> <span
lang='gk'>N5a<7O a=ON5N9N;a=3ON7O N<OOa=7O	N= ON1N;a=1N=OO	N=</span>,
bum que lhe devia dez mil talentosb (Mt 18.24).</span>
		<span class='p2'><span class='ke'>N<OON9a=1O</span><span
class='zsup'>a</span>: <span lang='gk'>a<ON3OOa=7N?O N<OON9a=1N4N1O
Oa=3N=ON5</span>, bcinquenta mil moedas de pratab (At 19.19).</span>
 	</Comments
              </LEXSense>

My xslt

   <xsl:variable name="LN" select="document('LN-PT-converted2.html')"/>
    <xsl:key name="insert" match="$LN/html/body/p" use="@domain"/>

    <xsl:template match="Comments[parent::LEXSense[@LanguageCode='pt']]">
 	 <xsl:variable name="item_number" select="preceding::LEXDomain"/>
          	<xsl:element name="Comments">
    	        	<xsl:apply-templates
select="$LN/html/body/p[@domain=$item_number]"/>
        	</xsl:element>
        </xsl:template>

This works but takes 9 hours 30 minutes.

The following attempt yield nothing.

    <xsl:template match="Comments[parent::LEXSense[@LanguageCode='pt']]">
 	 <xsl:variable name="item_number" select="preceding::LEXDomain"/>
  	<xsl:element name="Comments">
          		<xsl:apply-templates select="key('insert', $item_number)"/>
  	</xsl:element>
        </xsl:template>

I'm sure that /key/ should be much faster but am stuck getting it to work.
I know how to omit the LNxxx data.

Jim Albright
704-562-1529 unlimited cell
Wycliffe Bible Translators

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.