← Prev in month
← Prev in thread
What is an agent compelled to do when it encounters a violation?
I understand that a writer (enricher, modifier, extractor, . . .) who creates XLIFF that violates a constraint or processing requirement is identified as being non-compliant, and the XLIFF they create is non-compliant. But I am not clear on what a reader (or even a writer) is compelled to do what it encounters a violation. I think some interpret the requirement to be that the reader or writer rejects the XLIFF and expresses an error. But I have not found an explicit statement in the spec that compels this. Consider this use case. I am a reader and a writer. Let’s say my application decorates an XLIFF file with Fragment IDs. And I get the following XLIFF file where we have an empty skeleton, but we do not have an @href. This violates 4.2.2.3 skeleton . . . Constraints The attribute href is REQUIRED if and only if the <skeleton> element is empty. So if my agent receives <xliff xmlns="urn:oasis:names:tc:xliff:document:2.0" version="2.0" srcLang="en" trgLang="fr"> <file id="f1"> <skeleton></skeleton> <unit id="1"> <segment> <source>source</source> <target>target</target> </segment> </unit> </file> </xliff> At which point does the agent become non-compliant if it does the following steps: (1) Read the XLIFF file (2) Generate a report that says “Bad: an empty <skeleton> must have an href attribute” (3) Writes a decorated file (4) In this decorated file inserts a comment that flags the violation, like this: <xliff xmlns="urn:oasis:names:tc:xliff:document:2.0" srcLang="en" trgLang="fr" version="2.0"> <file id="f1" xmlns:xmrk="http://www.xmarker.com" xmrk:FragID="bad_EmptySkeletonWithoutHref.xlf/#f=f1"> <skeleton/><!-- Bad: an empty <skeleton> must have an href attribute --> <unit id="1" xmrk:FragID="bad_EmptySkeletonWithoutHref.xlf/#f=f1/u=1"> <segment> <source>source</source> <target>target</target> </segment> </unit> </file> </xliff> I suppose we might say the agent became non-compliant at step (3). But given the output file that flags the violation, is the output non-compliant? Or to make the use case even sillier, what if the application’s purpose is to decorate XLIFF files with comments that identify every place in an XLIFF file that there is a violation of a constraint or processing requirement? Is such an application, or its output doomed to be non-compliant? I suppose what I’m asking in the end, where do we say *how* an agent must react to a violation? Thanks, Bryan
← Prev in month
← Prev in thread