0

我正在使用https://bitbucket.org/okapiframework并使用此https://tools.oasis-open.org/version-control/browse/wsvn/xliff/trunk中的“core/valid/sample1.xlf” /xliff-20/test-suite/我遇到了一个错误

net.sf.okapi.lib.xliff2.reader.XLIFFReaderException: Error systemId: file:/tmp/sample1.xlf; lineNumber: 7; columnNumber: 43; cvc-complex-type.3.2.2: Attribute 'gls:ref' is not allowed to appear in element 'gls:glossEntry'

关于这是否是示例文件或框架的问题有什么想法吗?

谢谢

4

2 回答 2

1

在属性上使用命名空间前缀与不使用命名空间前缀不同。

<gls:glossEntry ref="#m1">

不一样:

<gls:glossEntry gls:ref="#m1">

XLIFf 2.x 声明使用无前缀表示法(作为所有 XML 格式的绝大多数)。所以第一个例子是有效的,第二个是无效的。

顺便说一句:example1.xlf 文件中有一个错误:

<gls:translation ref="#m2" source="myTermbase">TAB-TASTE

应该:

<gls:translation ref="#t=m2" source="myTermbase">TAB-TASTE

由于 m2 标记位于目标中,并且 ref 属性必须使用 XLIFF 片段 ID 表示法。

于 2015-09-26T15:01:15.183 回答
0

在我看来,验证工具存在问题:我使用了http://okapi-lynx.appspot.com/validation并得到了同样的错误。当我删除有问题的 ref 属性时,报告的下一个错误是“错误 lineNumber:8;columnNumber:49;cvc-complex-type.3.2.2:属性 'gls:source' 不允许出现在元素 'gls:term' 中。” 根据http://docs.oasis-open.org/xliff/xliff-core/v2.0/os/schemas/modules/glossary.xsd两个属性都应该是有效的。

删除 gls 命名空间前缀也可以清除错误 - 那里有些可疑。

于 2015-06-09T12:27:36.470 回答