xliff message
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]
Subject: Call for testers: xliffRoundTrip Tool upgrade to XLIFF 1.2
- From: <bryan.s.schnabel@tektronix.com>
- To: <xliff@lists.oasis-open.org>
- Date: Fri, 15 May 2009 17:04:04 -0700
Title: Message
Hello,
I've finally begun
updating my open source xliffRoundTrip Tool. I'm asking for testing help. First,
(1) if you have time, please read the explanation of what I've done, and comment
on whether you think I'm on the right track. Second, (2) if you have even more
time, please volunteer to let me send you a compiled version of my new program,
give it a try (test it with some of your samples), and let me know if you think
I'm on the right track. Third, (3) if you have even more time, and are
comfortable compiling source code, please volunteer to let me send you my new
source code, compile it, give it a try (test it with some of your samples), and
let me know if you think I'm on the right track. If you volunteer to do either
(2) or (3), I will include a list of known bug fixes in the works, so you
don't waste your time commenting on them.
As for timing,
anyone interested in helping at level (1) can do so starting now, by reading the
rest of my note. By mid-next-week (maybe May 20) I'll be ready to send compiled
beta test versions to those who are interested in helping at level (2). And if
you're interested in testing at level (3), I hope to have my source code
somewhat presentable by early June.
If you don't have
any time, that's understandable. If you have time to do at least (1), please
read on.
Hopefully many of
you already know that the xliffRoundTrip Tool works like
this:
- begin with any
well-formed XML source file* - push the "XML to XLIFF" button, and get an XLIFF
file
- translate the
target strings
- push the "XLIFF to
XML" button, and get an identical translated XML file
* (at the moment
non-namespaced XML source works better - but I hope to handle namespaces in the
next version as well)
Here's the track I'm
taking. The
first modest goal is to update the xliffRoundTrip Tool to use XLIFF
1.2 instead of 1.1 (if I'm going to ask tool makers to keep up-to-date with
current XLIFF versions, the least I can do is keep my tool up-to-date). The
second goal is to incorporate a minimalist approach. i.e., embed the
XML source file structure in the XLIFF header (unfortunately I
cannot embed XML in the skl element, so it must be embedded into the closest
extensible place in the header, which is adjacent to the skl). The third goal is
to modify (and debug) the GUI a little bit; pretty it up. Future goals
include adding support for ITS, xml:tm, and to make a DITA-specific
version.
Here's how far I've
gotten with my update.
Start with any
well-formed XML, like this:
(intentionally used
a file with very exaggerated nesting, and mixed content)
<rooty
sort="o12345">
<just_wrappin id="gabbagabbahey">
<intro_para id="kickoutthejams">And here's <icon src="my-pic.png"
alt="hello" /> some <b>text <i>that has</i> some
nested</b> texts.</intro_para>
<wrapped_wrapper2>
<just_wrappin3>
<mixed>And here's some
more
<wrap4>
<inner_wrap5>
<p
id="allalongthewatchtower">Hello
world.</p>
<p1>It's
just a beautiful day.</p1>
</inner_wrap5>
<one_out>Loose text</one_out>
</wrap4>
</mixed>
</just_wrappin3>
</wrapped_wrapper2>
</just_wrappin>
</rooty>
Push the "XML
to XLIFF" button, and get this:
<xliff
xmlns="urn:oasis:names:tc:xliff:document:1.2"
xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2
xliff-core-1.2-strict.xsd
urn:xmarker xmarker.xsd"
version="1.1">
<file datatype="plaintext" source-language="en"
original="rooty">
<header>
<xmrk:nest>
<rooty
xmlns="urn:xmarker" sort="o12345"
xmarker_idref="rooty-0">
<just_wrappin id="gabbagabbahey"
xmarker_idref="just_wrappin-1">
<intro_para id="kickoutthejams"
xmarker_idref="intro_para-2">
<icon src="my-pic.png" alt="hello"
xmarker_idref="icon-3"/>
<b
xmarker_idref="b-4">
<i
xmarker_idref="i-5"/>
</b>
</intro_para>
<wrapped_wrapper2
xmarker_idref="wrapped_wrapper2-6">
<just_wrappin3
xmarker_idref="just_wrappin3-7">
<mixed
xmarker_idref="mixed-8">
<wrap4
xmarker_idref="wrap4-9">
<inner_wrap5
xmarker_idref="inner_wrap5-10">
<p id="allalongthewatchtower"
xmarker_idref="p-11"/>
<p1
xmarker_idref="p1-12"/>
</inner_wrap5>
<one_out
xmarker_idref="one_out-13"/>
</wrap4>
</mixed>
</just_wrappin3>
</wrapped_wrapper2>
</just_wrappin>
</rooty>
</xmrk:nest>
</header>
<body>
<group id="d0e1axmarkrooty-0">
<group
id="d0e2bxmarkjust_wrappin-1">
<trans-unit
id="intro_para-2">
<source>And here's <x id="icon-3"/> some <g id="b-4">text
<g id="i-5">that has</g> some nested</g>
texts.</source>
<target>And here's <x id="icon-3"/> some <g id="b-4">text
<g id="i-5">that has</g> some nested</g>
texts.</target>
</trans-unit>
<group
id="d0e13bxmarkwrapped_wrapper2-6">
<group
id="d0e14bxmarkjust_wrappin3-7">
<trans-unit
id="mixed-8">
<source>And here's some
more
<g
id="wrap4-9">
<g
id="inner_wrap5-10">
<g id="p-11">Hello
world.</g>
<g id="p1-12">It's just a beautiful
day.</g>
</g>
<g id="one_out-13">Loose
text</g>
</g>
</source>
<target>And here's some
more
<g
id="wrap4-9">
<g
id="inner_wrap5-10">
<g id="p-11">Hello
world.</g>
<g id="p1-12">It's just a beautiful
day.</g>
</g>
<g id="one_out-13">Loose
text</g>
</g>
</target>
</trans-unit>
</group>
</group>
</group>
</group>
</body>
</file>
</xliff>
Translate the target
strings, like this:
<body>
<group
id="d0e1axmarkrooty-0">
<group
id="d0e2bxmarkjust_wrappin-1">
<trans-unit
id="intro_para-2">
<source>And here's <x id="icon-3"/> some <g id="b-4">text
<g id="i-5">that has</g> some nested</g>
texts.</source>
<target>Amw sviv'h <x id="icon-3"/> hlnv <g id="b-4">gvcg
<g id="i-5">gszg szh</g> hlnv mvhgvw</g>
gvcgh.</target>
</trans-unit>
<group
id="d0e13bxmarkwrapped_wrapper2-6">
<group
id="d0e14bxmarkjust_wrappin3-7">
<trans-unit
id="mixed-8">
<source>And here's some
more
<g
id="wrap4-9">
<g
id="inner_wrap5-10">
<g id="p-11">Hello
world.</g>
<g id="p1-12">It's just a beautiful
day.</g>
</g>
<g id="one_out-13">Loose
text</g>
</g>
</source>
<target>Amw sviv'h hlnv
nliv
<g
id="wrap4-9">
<g
id="inner_wrap5-10">
<g id="p-11">Hvool
dliow.</g>
<g id="p1-12">Ig'h qfhg z xvzfgrufo
wzb.</g>
</g>
<g id="one_out-13">Lllhv
gvcg</g>
</g>
</target>
</trans-unit>
</group>
</group>
</group>
</group>
</body>
Press the XLIFF
to XML button, and get this
<rooty
xmlns:xmrk="urn:xmarker" xmlns:xlf="urn:oasis:names:tc:xliff:document:1.2"
sort="o12345">
<just_wrappin id="gabbagabbahey">
<intro_para id="kickoutthejams">Amw sviv'h <icon src="my-pic.png"
alt="hello"/> hlnv <b>gvcg <i>gszg szh</i> hlnv
mvhgvw</b> gvcgh.</intro_para>
<wrapped_wrapper2>
<just_wrappin3>
<mixed>Amw sviv'h hlnv
nliv
<wrap4>
<inner_wrap5>
<p
id="allalongthewatchtower">Hvool
dliow.</p>
<p1>Ig'h
qfhg z xvzfgrufo wzb.</p1>
</inner_wrap5>
<one_out>Lllhv gvcg</one_out>
</wrap4>
</mixed>
</just_wrappin3>
</wrapped_wrapper2>
</just_wrappin>
</rooty>
Believe it or not,
upgrading to XLIFF 1.2 was not as trivial as one might expect. In order to
support the embedded skl file, a separate XML schema is required (because we
have the processContents="strict" set in the schema - I personally think we
should set it to "skip" or "lax" for XLIFF 2.0).
Anyway, please let
me know if you'd like to help me test.
Thanks,
Bryan
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]