Difference between revisions of "LRM XML Support"

From Lingoport Wiki
Jump to: navigation, search
(Sample Android xml file)
(ResxParser.xml structure)
Line 55: Line 55:
   
 
=== Sample Resx xml file ===
 
=== Sample Resx xml file ===
A typical Resx file has the following structure where the element of the key attribute is the parent of the value element:
+
A typical Resx file has the following structure:
 
<?xml version="1.0" encoding="UTF-8"?>
 
<?xml version="1.0" encoding="UTF-8"?>
 
<root>
 
<root>
Line 67: Line 67:
   
 
=== Parser definition for Resx files ===
 
=== Parser definition for Resx files ===
  +
For Resx files, the element of the key attribute is the parent of the value element:
 
<?xml version='1.0' encoding='utf-8'?>
 
<?xml version='1.0' encoding='utf-8'?>
 
<root>
 
<root>

Revision as of 18:07, 1 September 2017

Formatting xml files

LRM uses the xmlParser.xml file to parse any extensions that have a xml parser type. This file is located in the ../L10nStreamlining/<group>/projects/<project>/config folder.

XML Parser Syntax

The xmlParser.xml directs LRM on the location of the keys and values within the xml files as well as whether the key/value is translatable. The xml syntax is defined by 3 tokens:

  • TOKEN_KEY
  • TOKEN_TRANSLATABLE
  • TOKEN_VALUE

Limitations of XML Definition

There are structural limitations to xml files that can be parsed by LRM.

  • TOKEN_KEY must be defined before TOKEN_VALUE
  • TOKEN_TRANSLATABLE must be an attribute
  • TOKEN_VALUE cannot be an attribute

OTB XML Parser Definitions

There are 3 out-of-the-box parser definitions for XML files.

Unique XML Parser Definitions

There are several layout combinations that can be used to define your unique xml file.

AndroidParser.xml structure

The AndroidParser.xml file defines the structure of Android files.

Sample Android xml file

A typical Android file has the following structure:

<?xml version="1.0" encoding="UTF-8"?>
<resources>
  <string name=""hello_world"" translatable=""true"">Hello World</string>
  <string name=""goodbye"" translatable=""true"">Good Bye</string>
</resources>

Parser definition for Android files

For Android files, the value is the text node of the element of the key attribute:

<?xml version='1.0' encoding='utf-8'?>
<resources>
  <string name="TOKEN_KEY" translatable="TOKEN_TRANSLATABLE">TOKEN_VALUE</string>
</resources>

ResxParser.xml structure

The ResxParser.xml file defines the structure of .resx xml files.

Sample Resx xml file

A typical Resx file has the following structure:

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <data name="hello_world"> 
    <value>Hello World</value>
  
  <data name="goodbye"> 
    <value>Good Bye</value>
  
 </root>

Parser definition for Resx files

For Resx files, the element of the key attribute is the parent of the value element:

<?xml version='1.0' encoding='utf-8'?>
 <root>
   <data name="TOKEN_KEY" >
     <value>TOKEN_VALUE</value>
   
 </root>

RxmlParser.xml structure

The RxmlParser.xml file defines the structure of .rxml xml files.

Sample Rxml xml file

A typical Rxml file has the following structure:

<?xml version="1.0" encoding="UTF-8"?>
<properties>
   <entry key="hello_world">Hello World</entry>
   <entry key="goodbye">Good Bye</entry>
</properties>

Parser definition for Rxml files

  <?xml version="1.0" encoding="UTF-8"?>
  <properties>
    <entry key="TOKEN_KEY">TOKEN_VALUE</entry>
  </properties>