[ https://issues.oasis-open.org/browse/XLIFF-11?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=64921#comment-64921 ]
David Filip commented on XLIFF-11:
----------------------------------
Modifiers are allowed to create target in the general core section http://docs.oasis-open.org/xliff/xliff-core/v2.1/csprd01/xliff-core-v2.1-csprd01.html#contentmodification
The core attribute @state http://docs.oasis-open.org/xliff/xliff-core/v2.1/csprd01/xliff-core-v2.1-csprd01.html#state has been defined as tracking the state of the *Translations* within segments. Key definitions under http://docs.oasis-open.org/xliff/xliff-core/v2.1/csprd01/xliff-core-v2.1-csprd01.html#d0e307 define Translation as rendering the source content in the target language. Target language content in Core can only be held in <target> elements. [trgLang is required if and only if targets are present and xml:lang on core <target> MUST be equal to the trgLang value].
The core section Segmentation Modification http://docs.oasis-open.org/xliff/xliff-core/v2.1/csprd01/xliff-core-v2.1-csprd01.html#segmentationModification
introduces a progressive state machine based on the values of the core attribute @state.
====================
From the above it follows:
1. That segements in sates "more advanced" than initial MUST contain Translations
2. In Core, Translations can be only held in <target> elements
-------------------Therefore:
3. A <segment> MUST NOT progress from the state "initial" if it doesn't have a <target> child.
The above shows that more advanced states already require existence of targets, but the reader will obviously benefit from stating this explicitly on the @state attribute and the implementer from the advanced validation enforcing targets on advanced state segments.
--------------
As a corollary, implementers not using the state will never receive warnings or errors for missing targets even with the new validation behavior because the default is initial and that doesn't REQUIRE Translation
----------------
Another corollary of the above is that existence of <target> children of ignorables cannot be enforced since they don't require translation and hence don't have state.
This strenghtens the case for providing a Merger guidance as per https://issues.oasis-open.org/browse/XLIFF-12
> Enforce <target> existence based on segment state
> -------------------------------------------------
>
> Key: XLIFF-11
> URL: https://issues.oasis-open.org/browse/XLIFF-11
> Project: OASIS XML Localisation Interchange File Format (XLIFF) TC
> Issue Type: Improvement
> Components: other
> Affects Versions: 2.1_csprd01
> Environment: http://markmail.org/thread/4rzmqjlmcncl22bc
> Reporter: David Filip
> Assignee: David Filip
> Priority: Minor
> Labels: request_tc_discussion
> Fix For: 2.1_csprd02
>
>
> FROM:
> Ján Husarčík <>
> file
> <?xml version="1.0" encoding="utf-8"?>
> <xliff xmlns:mda="urn:oasis:names:tc:xliff:metadata:2.0"
> xmlns="urn:oasis:names:tc:xliff:document:2.0" srcLang="en-US" trgLang="fr-FR" version="2.0">
> <file id="1">
> <group id="content">
> <unit id="1">
> <segment state="final">
> <source>1</source>
> </segment>
> </unit>
> </group>
> </file>
> </xliff>
> is reported as valid with state="final", while the <target> is not present.
> Could you please consider enforcing existence of <target> (even if it's empty) for segment states different from default?
> If you decide to do so, could you please update processing requirements in http://docs.oasis-open.org/xliff/xliff-core/v2.1/csprd01/xliff-core-v2.1-csprd01.html#contentmodification accordingly, and reference them (at least) in http://docs.oasis-open.org/xliff/xliff-core/v2.1/csprd01/xliff-core-v2.1-csprd01.html#state and http://docs.oasis-open.org/xliff/xliff-core/v2.1/csprd01/xliff-core-v2.1-csprd01.html#target
--
This message was sent by Atlassian JIRA
(v6.2.2#6258)