0

我正在调查 XLIFF,首先,想对 HTML 文件进行一些测试。我在 OASIS 找到了一个 XSL 转换,它从 HTML 文件生成 XLIFF 文件。但生成的 XLIFF 文件包含属于tek名称空间的元素和属性,OpenLanguageTools XLIFF Editor 似乎不喜欢这些元素和属性。我自己在尝试根据xliff-core-1.2-strict.xsd架构验证它时遇到问题。

我想知道那个tek名称空间是什么,它的标识符是http://www.tektronix.com/TC. 我在网上搜索,但找不到任何相关内容。

这是 XLIFF 的标​​准扩展吗?这是遗产还是现实?

更新 #1:让我很困扰的是,该 URL 似乎不再有效,并且现在重定向到 www.tek.com,而似乎仍然有许多示例 XLIFF 文档包含来自该名称空间的元素。

4

1 回答 1

1

tek确实代表泰克。虽然您没有提供生成的 Xliff,但我猜您无法针对 Xliff 核心模式验证它的原因是您的文档有两个命名空间;原始的 Xliff 命名空间和一个名为的自定义命名空间tek,用于将自定义词汇表添加到文件中。

这是一个foo例子:

<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" 
       xmlns:foo="http://www.foobar.com"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
       xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2         
       xliff-core-1.2-strict.xsd http://www.foobar.com foo.xsd" 
       version="1.2">

然后你可以拥有:

   <trans-unit id="0" restype="button" resname="big_red_button">
       <foo:serious-note>Srsly!</foo:serious-note>
       <source xml:lang="en-US">Don't push here!</source>
       <target state="needs-translation></target>
   </trans-unit>

只要您将此自定义标签添加到您的架构中,您就可以使用 Xliff 架构和您的自定义架构来验证文件

<xsd:element name="serious-note">
    <xsd:complexType>
        <xsd:simpleContent>
            <xsd:extension base="xsd:string">
                <xsd:attribute ref="xml:lang" use="optional"/>
                <xsd:attribute name="foobar" type="xsd:string" use="optional"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>
</xsd:element>
于 2013-04-17T02:35:47.447 回答