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


 

David,

 

In the same way you can’t define extensions inside <source> or <target> in XLIFF 1.2, we should not allow custom extensions inside <source> or <target> in XLIFF 2.0. This means, from my point of view, that custom extensions should not be allowed for inline elements neither using <metaHolder> nor using namespaces.

 

Regards,

Rodolfo

--
Rodolfo M. Raya       rmraya@maxprograms.com
Maxprograms      
http://www.maxprograms.com

 

From: xliff@lists.oasis-open.org [mailto:xliff@lists.oasis-open.org] On Behalf Of David Walters
Sent: Friday, May 04, 2012 12:09 PM
To: Yves Savourel
Cc: xliff@lists.oasis-open.org
Subject: RE: [xliff] Extensibility methods

 

Yves, how could <metaHolder> be used to define unique characteristics about particular inline XLIFF tags contained in the translatable text?

The examples I've seen have been where the meta information applies to the entire <unit>.

<unit id=”a1”>
 <segment>
   <source> This is orders of magnitude faster than swept analysis techniques.</source>
 </segment>
 <metaHolder type=”x-attributes”>
   <meta key=”rev”>c</meta>
   <meta key=”id”>g_3423_spectrum</meta>
   <meta key=”alt” id="a1.a">It's orders of magnitude faster</meta>
 </metaHolder>
 <metaHolder type=”count”>
   <meta key=”words”>2</meta>
   <meta key=”chars”>13</meta>
 </metaHolder>
</unit>

But what if you wanted to add unique information about each of the variables, like type of data, maximum length, special considerations, etc.?

<unit id=”a1”>
 <segment>
   <source> The password for user <x id="1"/> was last modified on <x id="2"/> and must be changed by <x id="3"/>.</source>
 </segment>






David

Corporate Globalization Tool Development
EMail:  waltersd@us.ibm.com          
Phone: (507) 253-7278,   T/L:553-7278,   Fax: (507) 253-1721

CHKPII:                    http://w3-03.ibm.com/globalization/page/2011
TM file formats:     http://w3-03.ibm.com/globalization/page/2083
TM markups:         http://w3-03.ibm.com/globalization/page/2071


Inactive hide details for Yves Savourel ---05/02/2012 06:27:28 AM---Hi Fredrik, Jung,Yves Savourel ---05/02/2012 06:27:28 AM---Hi Fredrik, Jung,

From: Yves Savourel <ysavourel@enlaso.com>
To: "'Jung Nicholas Ryoo'" <jungwoo.ryoo@oracle.com>, "'Estreen, Fredrik'" <Fredrik.Estreen@lionbridge.com>
Cc: <xliff@lists.oasis-open.org>
Date: 05/02/2012 06:27 AM
Subject: RE: [xliff] Extensibility methods
Sent by: <xliff@lists.oasis-open.org>





Hi Fredrik, Jung,
 
At last, good technical reasons to use something like <metaHolder>.
 
I’m still not convinced it would be better than custom namespaces, but at least now I can see positive implementation aspects to it. I need to chew on that.
 
+1 for Fredrik’s suggestion on the way to moving forward.
 
Cheers,
-yves
 
 
From: xliff@lists.oasis-open.org [mailto:xliff@lists.oasis-open.org] On Behalf Of Jung Nicholas Ryoo
Sent:
 Wednesday, May 02, 2012 4:50 AM
To:
 Estreen, Fredrik
Cc:
 xliff@lists.oasis-open.org
Subject:
 Re: [xliff] Extensibility methods

 
Hi all,

As an intensive user of prop-group/prop, I believe <metaHolder> has its reason to exist, just like C++ keeps struct while C++ class is more object-oriented can replace struct. (No serious arguments on validating this comparison please. :) )

I see the usage of <metaHolder> as a wrapper of data (key-value pairs, again like C++ 'struct'), while the custom extensions should be able to cover more.  Even though another party does not understand the information in <metaHolder>, at least the way of extracting data is very unified. It knows how to extract data, it can show the key-value, and it can index them for search. So translators can utilize such information, or even some tools may let translators design some actions for specific key-value pairs. The definition of content inside <metaHolder> can't be easily delivered across different tools, but the information can be anyway delivered without exchanging the schema or any further information.

Regards
Jung


On 02/05/2012 11:31, Estreen, Fredrik wrote:
Hi All,
 
I would like to follow up on yesterday's discussion on the <metaHolder> and namespaces to facilitate extensibility.
 
The first thing is a point which I don't think has been discussed before, and that is how easy it would be for a tool to make meaningful use of unknown extension data. At first it might sound like a nonworking or bad idea but I think there are cases where it would add value. In many cases metadata could be made useful even if the tools do not know the exact meaning of it, the problem is finding a good way to present it to the user. Here I believe that <metaHolder> as a grouped key/value store is much simpler to work with than arbitrary XML in a namespace. I also think it would make it simpler to extract the metadata for storage/retrieval in a database.
 
Specific things that I can see a use for is filtering the document on translation units with a specific key/value pair, or providing URL links to other information (or applications). Generically it would be possible to display (and possibly modify) the unknown data as a grouped property grid allowing the user to interpret the meaning of the data. Creating a query builder interface for a database would also be straight forward. To make the filtering / querying as useful as possible I would recommend to also provide a "datatype" for the "value" so that range queries can be used and appropriate input controls created. I think it makes sense to keep the list short and also allow "unknown" as the default type. So unknown, string, number, url and date feels like a good set to me, but I'm sure there are a few more that other would like to see. Another option if we do not want to specify the list we could use some other standard list like the XML primitive types http://www.w3.org/TR/xmlschema-2/#built-in-primitive-datatypes and use anySimpleType as the default / unknown.
 
All of this is possible with XML namespace extensions, but in my opinion it is much more difficult to create user friendly access to the data. A simple but not so user friendly way here is of course to just use XPATH for search and filtering and somehow display the XML fragments to the user.
 
Second thing is that I like the process/votes suggested David Filip and think we should start down this path to resolve the issue. First one where we simply vote if we want extensibility at all:
 * 'Yes' for extensibility by some means
 * 'No' for no extensibility at all
 * 'Abstain' for need of more discussion
           
Second one where we vote on how, using 'Elements', 'Namespaces', 'Elements and Namespaces', 'Abstain' to select how to implement the extensibility, if the 'Yes' votes won the first vote:
 * 'Elements' for extensibility by elements and attributes defined in the XLIFF specification. An example of this method is the proposed <metaHolder> feature.
 * 'Namespaces' for extensibility by allowing third party namespaces at defined locations in the XLIFF documents. As we do in XLIFF 1.2 possibly with additional requirements for conformance and processing expectations.
 * 'Elements and Namespaces' to use both of the above methods to facilitate extensibility.
 * 'Abstain' for need of more discussion
 
If we choose to allow extensibility and the preferred way(s) to do it we can start looking at the implementation details.
 
Regards,
Fredrik Estreen
 
 
---------------------------------------------------------------------
To unsubscribe, e-mail: xliff-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: xliff-help@lists.oasis-open.org
 
 
 
--
Jung Nicholas Ryoo | Principal Software Engineer
Phone:
+35318031918 | | Fax: +35318031918 |
Oracle
 WPTG Infrastructure

ORACLE Ireland | Block P5, Eastpoint Business Park Dublin 3

Oracle is committed to developing practices and products that help protect the environment
 



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