[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: 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 |
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]