OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

xliff message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: RE: [xliff] Extensibility methods

Hi all,

R> It would be nice if tools preserve module data,
R> but that is not a requirement.
R> ...
R> Anything not specified in the XLIFF core is by 
R> definition not essential for completing the 
R> translation cycle. In other words, disposable.

The reason why I digressed into modules in my argument about using custom namespaces for extensions is that both are about using namespaces and how tools that don't support those namespaces have to handle them.

For all its short-comings 1.2 was at least providing a way to get all XLIFF features across a process. With 2.0 if only the core is guaranteed to be passed from tool to tool, we are in fact restricting true interoperability to only what goes in the core (basically: extracting source and merging translation).

I think an important aspect of interoperability is that tool not supporting a given module still should preserve pass its elements/attributes through to the next tool.

While I do understand that some tools may not be able to do so, we should still make sure the specification issues a very strong recommendation that preserving un-supported data is important.

For example I would see a processing expectation saying "Tools that do not support a module SHOULD nevertheless preserve its elements and attributes" rather than something like: "Any element or attribute of an optional module MAY be removed by the tools that do not support that module".

We allow removal in both cases, but it is clear that *not removing* is the default expected behavior.

A big caveat here is that there will be cases where removal of some elements may be the expected behavior (e.g. maybe when re-segmenting, etc. as Fredrik pointed out), and that is something we should specify on a case-by case for each module.

Now, to get back to the initial topic: extensions.

If we do have an expected behavior that favors preserving un-supported official modules, tools can use the same mechanism they use for doing this to also handle extensions implemented as custom namespaces.

If we use an optional module like <metaHolder> for extensions, we will get tools that supports <metaHolder> (to store their own extensions), but do not implement the other official modules.

So we will end up with tools that preserve custom extensions but not other official modules. Somehow we'll manage to allow better handling of user extensions than official modules. That doesn't sound like a result we want.

My point is: Yes, namespaces are hard to implement. But we do use them for modules. So there is no reason they wouldn't work for extensions as well.

F> The first thing is a point which I don't think has 
F> been discussed before, and that is how easy it 
F> would be for a tool to make meaningful use of unknown 
F> extension data. At first it might sound like a 
F> nonworking or bad idea but I think there are cases 
F> where it would add value. In many cases metadata could 
F> be made useful even if the tools do not know the 
F> exact meaning of it, the problem is finding a good 
F> way to present it to the user. Here I believe that 
F> <metaHolder> as a grouped key/value store is much simpler 
F> to work with than arbitrary XML in a namespace. 

That is true: metaHolder has probably more advantages for tools not understanding the extensions stored in metaHolder. But the problem is that metaHolder is less practical than namespaces for the tools that do know about the given extensions.

So we would be making things more difficult for all users of extensions, so that tools not using those extensions may or may not somehow do something with data they don't support?

I think restricting XLIFF to a dumb-down extension capability is not good for the future. As Paul Leahy noted in one of his presentations on XLIFF, it's important that XLIFF 2.0 can evolve, and custom namespace are perfect as stepping stones to new official modules.

I think we should let users define how best their extensions can be implemented, **as long as they stay in a clear set of restrictions**. And those restrictions, let's remember, must be define even if we go with <metaHolder>.


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]