我正在研究有关XLIFF的问题,首先,我想对HTML文件进行一些测试。我在OASIS找到了一个XSL Transformation,它从HTML文件生成XLIFF文件。但生成的XLIFF文件包含属于tek
名称空间的元素和属性,OpenLanguageTools XLIFF编辑器似乎不喜欢这些元素和属性。我,我自己,试图根据xliff-core-1.2-strict.xsd
架构验证它。
我想知道tek
名称空间是什么,其标识符为http://www.tektronix.com/TC
。我在网上搜索,但没有发现任何相关内容。
这是XLIFF的标准扩展吗?这是遗产还是实际?
更新#1 :让我很烦恼的是,网址似乎无效了,现在重定向到www.tek.com,而似乎还有很多样本XLIFF将元素保存到该名称空间的文档。
答案 0 :(得分:1)
tek
确实代表Tektronix。虽然您没有提供生成的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>