{"action":"created","issue":{"url":"https://api.github.com/repos/nim-lang/rfcs/issues/63","repository_url":"https://api.github.com/repos/nim-lang/rfcs","labels_url":"https://api.github.com/repos/nim-lang/rfcs/issues/63/labels{/name}","comments_url":"https://api.github.com/repos/nim-lang/rfcs/issues/63/comments","events_url":"https://api.github.com/repos/nim-lang/rfcs/issues/63/events","html_url":"https://github.com/nim-lang/rfcs/issues/63","id":370219986,"node_id":"MDU6SXNzdWUzNzAyMTk5ODY=","number":63,"title":"[RFC] Cleanup XML / HTML parsers","user":{"login":"narimiran","id":16516130,"node_id":"MDQ6VXNlcjE2NTE2MTMw","avatar_url":"https://avatars2.githubusercontent.com/u/16516130?v=4","gravatar_id":"","url":"https://api.github.com/users/narimiran","html_url":"https://github.com/narimiran","followers_url":"https://api.github.com/users/narimiran/followers","following_url":"https://api.github.com/users/narimiran/following{/other_user}","gists_url":"https://api.github.com/users/narimiran/gists{/gist_id}","starred_url":"https://api.github.com/users/narimiran/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/narimiran/subscriptions","organizations_url":"https://api.github.com/users/narimiran/orgs","repos_url":"https://api.github.com/users/narimiran/repos","events_url":"https://api.github.com/users/narimiran/events{/privacy}","received_events_url":"https://api.github.com/users/narimiran/received_events","type":"User","site_admin":false},"labels":[{"id":1091677108,"node_id":"MDU6TGFiZWwxMDkxNjc3MTA4","url":"https://api.github.com/repos/nim-lang/rfcs/labels/Cleanup","name":"Cleanup","color":"2ed14e","default":false},{"id":1091665951,"node_id":"MDU6TGFiZWwxMDkxNjY1OTUx","url":"https://api.github.com/repos/nim-lang/rfcs/labels/RFC","name":"RFC","color":"1d1d1d","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-10-15T15:32:02Z","updated_at":"2018-10-15T15:32:04Z","closed_at":null,"author_association":"COLLABORATOR","body":"<a href=\"https://github.com/mratsim\"><img src=\"https://avatars3.githubusercontent.com/u/22738317?v=4\" align=\"left\" width=\"96\" height=\"96\" hspace=\"10\"></img></a> **Issue by [mratsim](https://github.com/mratsim)**\n_Saturday Jul 07, 2018 at 12:33 GMT_\n_Originally opened as https://github.com/nim-lang/Nim/issues/8238_\n\n----\n\nI'm new to the parsing/scraping domain. When exploring how to do that in Nim, I was quite confused in how to proceed as the standard lib provides lots of stuff and no guideline on which one to choose:\r\n\r\nFrom [Parsers](https://nim-lang.org/docs/lib.html#pure-libraries-parsers) and [XML processing](https://nim-lang.org/docs/lib.html#pure-libraries-xml-processing)\r\n\r\n* [parsexml](https://nim-lang.org/docs/parsexml.html) The parsexml module implements a simple high performance XML/HTML parser. The only encoding that is supported is UTF-8. The parser has been designed to be somewhat error correcting, so that even some \"wild HTML\" found on the Web can be parsed with it.\r\n* [xmldom](https://nim-lang.org/docs/xmldom.html) This module implements the XML DOM Level 2.\r\n* [xmldomparser](https://nim-lang.org/docs/xmldomparser.html) This module parses an XML Document into a XML DOM Document representation.\r\n* [xmltree](https://nim-lang.org/docs/xmltree.html) A simple XML tree. More efficient and simpler than the DOM. It also contains a macro for XML/HTML code generation.\r\n* [xmlparser](https://nim-lang.org/docs/xmlparser.html) This module parses an XML document and creates its XML tree representation.\r\n* [htmlparser](https://nim-lang.org/docs/htmlparser.html) This module parses an HTML document and creates its XML tree representation.\r\n* [htmlgen](https://nim-lang.org/docs/htmlgen.html) This module implements a simple XML and HTML code generator. Each commonly used HTML tag has a corresponding macro that generates a string with its HTML representation.\r\n\r\nPropositions:\r\n\r\n- Merge some libraries (xmldom and xmldomparser for example?)\r\n- Delete if some are redundant or rename so that differences are clearer (xmlparser vs parsexml)\r\n- Add use cases and a \"See also\" section in the documentation so that it's easier to understand the specificities and alternatives.\n"},"comment":{"url":"https://api.github.com/repos/nim-lang/rfcs/issues/comments/429902129","html_url":"https://github.com/nim-lang/rfcs/issues/63#issuecomment-429902129","issue_url":"https://api.github.com/repos/nim-lang/rfcs/issues/63","id":429902129,"node_id":"MDEyOklzc3VlQ29tbWVudDQyOTkwMjEyOQ==","user":{"login":"narimiran","id":16516130,"node_id":"MDQ6VXNlcjE2NTE2MTMw","avatar_url":"https://avatars2.githubusercontent.com/u/16516130?v=4","gravatar_id":"","url":"https://api.github.com/users/narimiran","html_url":"https://github.com/narimiran","followers_url":"https://api.github.com/users/narimiran/followers","following_url":"https://api.github.com/users/narimiran/following{/other_user}","gists_url":"https://api.github.com/users/narimiran/gists{/gist_id}","starred_url":"https://api.github.com/users/narimiran/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/narimiran/subscriptions","organizations_url":"https://api.github.com/users/narimiran/orgs","repos_url":"https://api.github.com/users/narimiran/repos","events_url":"https://api.github.com/users/narimiran/events{/privacy}","received_events_url":"https://api.github.com/users/narimiran/received_events","type":"User","site_admin":false},"created_at":"2018-10-15T15:32:04Z","updated_at":"2018-10-15T15:32:04Z","author_association":"COLLABORATOR","body":"<a href=\"https://github.com/zah\"><img src=\"https://avatars2.githubusercontent.com/u/175462?v=4\" align=\"left\" width=\"48\" height=\"48\" hspace=\"10\"></img></a> **Comment by [zah](https://github.com/zah)**\n_Saturday Jul 07, 2018 at 14:04 GMT_\n\n----\n\nFWIW, I think there should be a single module called `xml` which imports and re-exports all the the specific modules (much like a nimble package would be structured). With dead-code elimination this would be a sensible default, but more pedantic users will still be able reach for the individual sub-modules:\r\n\r\n``` nim\r\nimport xml/dom\r\n```\n"}}
{"actor":{"display_login":"narimiran"}}