Hi John,
Great development of ideas.
It seems unfortunate that we need to create
3 (or 4) separate units for such a sample, though I couldn't see how to reduce
that based on what you say.
One concern is the location of the
reformat attribute. The reformat that is controlling the
co-ords of the image is located in the <bin-unit>, even though the
co-ords themselves are in the previous <trans-unit>.
Examining the trans-unit, it looks like the
coords can't be changed (reformat='yes' is not present). Also, looking at
the bin-unit, it looks like the mime-type can be changed
(reformat='yes')
Should reformat be moved to the
<trans-unit> that contains the co-ords?
The content of the bin-unit itself is
controllable with the translate attribute, i.e. can be marked translate = yes |
no.
<trans-unit
id="11">
<source>Click <x ctype="image" rid="12"/>
to start.</source>
<target></target>
</trans-unit>
<trans-unit id="12"
coord="#;#;35;16"
reformat="coord">
<source><ph
id='1'><img src="javascript:void(0);"image/gif" rid="13"/>"
alt="<sub>Start!</sub>"
/></ph></source>
<target></target>
</trans-unit>
<bin-unit id="13"
mime-type="image/gif">
<bin-source><external-file href="start.gif"
/></bin-source>
</bin-unit>
Enda
-----Original
Message-----
From: John Reid
[mailto:]
Sent: 18 February 2003 04:16
To:
Subject: RE: [xliff] <bin-unit>
problem
In our discusion about <bin-unit>, which started with my proposal
to add coord to <bin-unit> and was expanded by Bryan and Yves, it struck
me that having a way to reference a <bin-unit> from a <trans-unit>
would solve our problem. At first I thought we could do this by
adding a bin-ref attribute to <x/> that takes the <bin-unit> id
value as its value.
Using the following example:
<p>Click <img src="javascript:void(0);" alt="Start!" width="35"
height="16"/> to start.</p>
We can store the width and height attributes in the coord of the
<trans-unit> and move the image to a <bin-unit> that we'll
reference:
<trans-unit id="11"
coord="#;#;35;16">
<source>Click <ph
id='1'><img src="javascript:void(0);"image/gif"
bin-ref="12"/></sub>" alt="<sub>Start!</sub>"
/></ph> to start.</source>
<target></target>
</trans-unit>
<bin-unit id="12"
mime-type="image/gif" reformat="yes">
<bin-source><external-file href="start.gif"
/></bin-source>
</bin-unit>
This didn't work out so well for a few reasons:
1. coord in the <trans-unit id="11"> implies the entire text must
fit in those coords, not just the image.
2. We still have to use a <sub> element for the image because an
<x> cannot occur in a <ph>.
3. We have a reference id attribute, rid, used in the paired inline
tags which is very similar to this bin-ref.
4. There is a <sub> for the alt text; thus, a segment within a
segment.
Another way to handle this is to pull the entire <img> from
the source. We do this by replacing bin-ref with rid in <x>.
<trans-unit id="11">
<source>Click <x
ctype="image" rid="12"/> to start.</source>
<target></target>
</trans-unit>
<trans-unit id="12"
coord="#;#;35;16">
<source><ph
id='1'><img src="javascript:void(0);"image/gif"
rid="13"/></sub>" alt="<sub>Start!</sub>"
/></ph></source>
<target></target>
</trans-unit>
<bin-unit id="13"
mime-type="image/gif" reformat="yes">
<bin-source><external-file href="start.gif"
/></bin-source>
</bin-unit>
Now, when the coord is reformated upon
localization, the new value is stored in the target of the <trans-unit
id="12">. We still have the two <sub> segments within the one segment
but this doesn't look to be a big problem since we've isolated the the entire
image tag. We could go on step farther and add the rid attribute to
<sub>. Then we'd have the following.
<trans-unit id="11">
<source>Click <x
ctype="image" rid="12"/> to start.</source>
<target></target>
</trans-unit>
<trans-unit id="12"
coord="#;#;35;16">
<source><ph
id='1'><img src="javascript:void(0);"image/gif" rid="13"/>"
alt="<sub>Start!</sub>"
/></ph></source>
<target></target>
</trans-unit>
<bin-unit id="13"
mime-type="image/gif" reformat="yes">
<bin-source><external-file href="start.gif"
/></bin-source>
</bin-unit>
This could be pushed even farther by removing the alt segment with the
same technique.
<trans-unit id="11">
<source>Click <x
ctype="image" rid="12"/> to start.</source>
<target></target>
</trans-unit>
<trans-unit id="12"
coord="#;#;35;16">
<source><ph
id='1'><img src="javascript:void(0);"image/gif" rid="13"/>"
alt="<sub rid="14"/>" /></ph></source>
<target></target>
</trans-unit>
<bin-unit id="13"
mime-type="image/gif" reformat="yes">
<bin-source><external-file href="start.gif"
/></bin-source>
</bin-unit>
<trans-unit id="14"
>
<source>Start!</source>
<target></target>
</trans-unit>
This is just thinking out loud. What do you think?
cheers,
john