Difference between revisions of "LRM yaml Support"

From Lingoport Wiki
Jump to: navigation, search
(Multi-lines that are not literal strings)
(Folded Style (>))
Line 55: Line 55:
 
'More-indented' lines keep their newlines, too -
 
'More-indented' lines keep their newlines, too -
 
this text will appear over two lines.
 
this text will appear over two lines.
  +
  +
=== Mixing sequence with simple key/values ===
  +
Sequence and simple key/values cannot be in the same file
  +
  +
- key: alpha_server_is_not_valid
  +
translation: ""
  +
msg: "The server does not exist"
  +
- key: alpha_distributable_is_not_valid
  +
translation: ""
  +
msg: "The distributable does not exist"
  +
simplekey: Simple value

Revision as of 23:28, 25 November 2018

Yaml Parser

LRM supports YAML 1.2 and uses the snakeyaml1.2 engine to parse files. Information on snakeyaml can be found at snakeyaml

Unsupported YAML syntax

The following syntax is not supported by LRM.

Set format

A set is an unordered collection of nodes such that no two nodes are equal.

 baseball players: !!set
   ? Mark McGwire
   ? Sammy Sosa
   ? Ken Griffey
 # Flow style
 baseball teams: !!set { Boston Red Sox, Detroit Tigers, New York Yankees }

Sequence format

A sequence is a collection indexed by sequential integers starting with zero.

 Block style: !!seq
 :- Mercury
 :- Pluto  
 
 Flow style: !!seq [ Mercury,  Pluto ]

Multiple Documents

A file that contains multiple documents, indicated by '---' and '...' is not supported.

 ---
 doc1: value1
 ...
 ---
 doc2: value2
 ...

Blank Values

An empty string, such as is allowed but a blank value is not.

 this_is_valid: ""
 this_is_invalid:
 this_is_valid2: 

Multi-lines that are not literal strings

 key1: 'this\n'
    is \n
   a test'

Folded Style (>)

 folded_style: >
     This entire block of text will be the value of 'folded_style', but this
     time, all newlines will be replaced with a single space.
     
     Blank lines, like above, are converted to a newline character.
      
       'More-indented' lines keep their newlines, too -
       this text will appear over two lines.

Mixing sequence with simple key/values

Sequence and simple key/values cannot be in the same file

 - key: alpha_server_is_not_valid
   translation: ""
   msg: "The server does not exist"
 - key: alpha_distributable_is_not_valid
   translation: ""
   msg: "The distributable does not exist"
 simplekey: Simple value