LRM XML Support

From Lingoport Wiki
Revision as of 17:43, 1 September 2017 by Llawson (talk | contribs) (RxmlParser.xml structure)
Jump to: navigation, search

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 directions are defined by x tokens:

  • TOKEN_KEY
  • TOKEN_TRANSLATABLE
  • TOKEN_VALUE

OTB XML Parser Definitions

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

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:

<resources>
  <string name=""hello_world"" translatable=""true"">Hello World</string>
  <string name=""goodbye"" translatable=""true"">Good Bye</string>
</resources>

Parser definition for Android files

<?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:

<root>
  <data name="hello_world"> 
    <value>Hello World</value>
  
  <data name="goodbye"> 
    <value>Good Bye</value>
  
 </root>"

Parser definition for Android files

<?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:

<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>