[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
RE: [xsl] Transformation of hierarchy, changing levels, and... back
Subject: RE: [xsl] Transformation of hierarchy, changing levels, and... back
From: cknell@xxxxxxxxxx
Date: Tue, 02 Aug 2005 11:40:31 -0400
|
Are the parenthetical expressions meant to appear in the output document or are they there to illustrate the relationship between the elements in the input document and the elements in the output document?
--
Charles Knell
cknell@xxxxxxxxxx - email
-----Original Message-----
From: Marcin Milkowski <milek_pl@xxxxx>
Sent: Tue, 02 Aug 2005 17:13:20 +0200
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: [xsl] Transformation of hierarchy, changing levels, and... back
hi,
I've been trying to make some transformation from a structure:
<Tu>
<Tuv>
@Lang
some text1
<df>some text2</df>
<ut>some optional text</ut>
some text
<ut>some more text</ut>
and some text
</Tuv>
<Tuv>
@Lang
some text
<df>
some text
</df>
<ut>some optional text</ut>
some text
<ut>some more text</ut>
and some text
</Tuv>
</Tu>
to a structure
<trans-unit> (=Tu)
@id
<source> (=Tu/Tuv@Lang=$blabla)
some text1
<g@id@barfoo/> (<df>)
some text2
<g@id@foobar/> (</df>)
<ph@id>some optional text</ph>(=ut)
some text
<ph@id>some more text</ut>
and some text
</source>
<target> (=Tu/Tuv@Lang=$foobar)
some text1
<g@id@barfoo/> (<df>)
some text2
<g@id@foobar/> (</df>)
<ph@id>some optional text</ph>(=ut)
some text
<ph@id>some more text</ut>
and some text
</target>
</trans-unit>
I tried to match //Tu, and then use for-each to match all Tuv[1]/ut and
Tuv[2]/ut. This approach turned quite difficult because I had to insert
ut at exactly the same position in source as it was in Tuv[1]. Probably
I should use more templates and match //Tu/Tuv or something like
that, but I wouldn't know how to close the trans-unit tag (is there a
way to check if this Tuv is Tu/Tuv[1] or Tu/Tuv[2]?). Additionally, I
would need to produce a second file with ids replacing all text between
tags in Tu/Tuv[1]@Lang=foobar and Tu/Tuv[2]@lLang=barfoo. (So the text
must be uniquely numbered, or indexed in the other file). The third step
would be to backconvert the transformed files into a source one.
Any ideas what method would be the best in this case? All help very
appreciated.
Best regards,
Marcin Milkowski
|