Fwd: Tabs inside scalars
Uwe Kubosch <[email protected]>
| Newsgroups | gmane.text.yaml.general |
|---|---|
| Message-ID | <[email protected]> |
This was sent to me, but was probably meant for there mailing list: Begin forwarded message: From: Ingy dot Net <[email protected]<mailto:[email protected]>> Subject: Re: [Yaml-core] Tabs inside scalars Date: 2011-12-17 20:01:59 GMT+01:00 To: Uwe Kubosch <[email protected]<mailto:[email protected]>> a tab in the middle of a plain scalar should be allowed. Interestingly, the Perl binding of libyaml handles it fine, while the python version fails: > perl -MYAML::XS -e 'print Dump Load "x\tx"' --- "x\tx" > python -c 'import yaml;print yaml.dump(yaml.load("x\tx"))' Traceback (most recent call last): File "<string>", line 1, in <module> File "/usr/lib/python2.7/dist-packages/yaml/__init__.py", line 71, in load return loader.get_single_data() File "/usr/lib/python2.7/dist-packages/yaml/constructor.py", line 37, in get_single_data node = self.get_single_node() File "/usr/lib/python2.7/dist-packages/yaml/composer.py", line 35, in get_single_node if not self.check_event(StreamEndEvent): File "/usr/lib/python2.7/dist-packages/yaml/parser.py", line 98, in check_event self.current_event = self.state() File "/usr/lib/python2.7/dist-packages/yaml/parser.py", line 143, in parse_implicit_document_start StreamEndToken): File "/usr/lib/python2.7/dist-packages/yaml/scanner.py", line 116, in check_token self.fetch_more_tokens() File "/usr/lib/python2.7/dist-packages/yaml/scanner.py", line 257, in fetch_more_tokens % ch.encode('utf-8'), self.get_mark()) yaml.scanner.ScannerError: while scanning for the next token found character '\t' that cannot start any token in "<string>", line 1, column 2: x x ^ Kirill? On Thu, Dec 15, 2011 at 3:09 PM, Uwe Kubosch <[email protected]<mailto:[email protected]>> wrote: Hi! I have example output from Ruby 1.8 that fails to parse with SnakeYAML: "36L\tDIESEL" dumped from Ruby 1.8 gives "--- 36L\tDIESEL\n" When loaded with SnakeYAML it throws an exception: Exception in thread "main" while scanning for the next token found character '\t' that cannot start any token in "<string>", line 1, column 8: --- 36L DIESEL ^ at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:358) at org.yaml.snakeyaml.scanner.ScannerImpl.peekToken(ScannerImpl.java:202) at org.yaml.snakeyaml.parser.ParserImpl$ParseDocumentEnd.produce(ParserImpl.java:265) at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:161) at org.yaml.snakeyaml.parser.ParserImpl.getEvent(ParserImpl.java:171) at org.yaml.snakeyaml.composer.Composer.composeDocument(Composer.java:125) at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:106) at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:121) at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:296) at org.yaml.snakeyaml.Yaml.load(Yaml.java:266) at Issue136.main(Issue136.java:5) This is currently being tracked at http://code.google.com/p/snakeyaml/issues/detail?id=136 The question is wether the example is legal YAML. I have read the specs, and I find them inconclusive. Ruby 1.8 has been around for a long while, and the use of YAML with Ruby is widespread, being in the standard library and all. So I assumed that the output is legal YAML and that SnakeYAML should accept it. Anybody got an answer on this? -- Uwe Kubosch Systems Developer Datek Wireless AS [email protected]<mailto:[email protected]> http://datek.no/ ------------------------------------------------------------------------------ 10 Tips for Better Server Consolidation Server virtualization is being driven by many needs. But none more important than the need to reduce IT complexity while improving strategic productivity. Learn More! http://www.accelacomm.com/jaw/sdnl/114/51507609/ _______________________________________________ Yaml-core mailing list [email protected]<mailto:[email protected]> https://lists.sourceforge.net/lists/listinfo/yaml-core -- Uwe Kubosch Systems Developer Datek Wireless AS [email protected]<mailto:[email protected]> http://datek.no/ ------------------------------------------------------------------------------ Learn Windows Azure Live! Tuesday, Dec 13, 2011 Microsoft is holding a special Learn Windows Azure training event for developers. It will provide a great way to learn Windows Azure and what it provides. You can attend the event by watching it streamed LIVE online. Learn more at http://p.sf.net/sfu/ms-windowsazure _______________________________________________ Yaml-core mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/yaml-core