← Prev in month ← Prev in thread

Preserve XML attribute or metadata without extensibility

From
Schnabel, Bryan S <>
Date
2011-08-30T17:41:34+00:00
ID
Thread
Preserve XML attribute or metadata without extensibility
I've been thinking about one of the major complaints about XLIFF 1.2; extensibility makes it difficult for toolmakers to process one another's XLIFF. Then I got to thinking about the primary reason I use extensibility. I use it a lot to preserve XML attributes in my source files. So I started thinking about ways to support the preservation of XML attributes that would remove the need for extensibility. I came up with a few ideas that I added to the wiki:

 

Today we sometimes need to use extensibility to preserve source XML attributes when converting an XML file to XLIFF. We should create a way to preserve the attributes using supported XLIFF markup - removing the need to extend. 

 

Consider this XML element:

 

<para id="g_3423_spectrum" alt="It's orders of magnitude faster" rev="c">This is orders of magnitude faster than swept analysis techniques.</para>

 

If we were to allow an element like <meta-hold> to contain the name of the attribute, its value, and optionally its type and translate y/n, we would eliminate the need for extensibility for this use case.

 

Example:

<trans-unit id="para-73">

   <meta-hold name="id" translate="no">g_3423_spectrum</meta-hold>

   <meta-hold name="alt" translate="yes">It's orders of magnitude faster</meta-hold>

   <meta-hold name="rev">c</meta-hold>

   <source>This is orders of magnitude faster than swept analysis techniques.</source>

. . .

</trans-unit>

 

Modification to schema:

  <xsd:element name="meta-hold">

    <xsd:complexType mixed="true">

      <xsd:group maxOccurs="unbounded" minOccurs="0" ref="xlf:ElemGroup_TextContent"/>

      <xsd:attribute name="name" type="xsd:string" use="required"/>

      <xsd:attribute name="type" use="optional"/>

      <xsd:attribute name="translate" use="optional"/>

    </xsd:complexType>

  </xsd:element>

 

 

Allow the usual inline elements, but do not allow nested <meta-hold> elements

  <xsd:group name="ElemGroup_TextContent">

    <xsd:choice>

      <xsd:element ref="xlf:g"/>

      <xsd:element ref="xlf:bpt"/>

      <xsd:element ref="xlf:ept"/>

      <xsd:element ref="xlf:ph"/>

      <xsd:element ref="xlf:it"/>

      <xsd:element ref="xlf:mrk"/>

      <xsd:element ref="xlf:x"/>

      <xsd:element ref="xlf:bx"/>

      <xsd:element ref="xlf:ex"/>

    </xsd:choice>

  </xsd:group>

 

I scanned the existing Feature Tracking page, and I don't think we already had something like this.

 

Thanks,

Bryan Schnabel
Content Management Architect
Phone: 503.627.5282
www.tektronix.com
← Prev in month ← Prev in thread