category feedXMLPopular data formatseditdelete

This category is a work in progress






XML is a popular markup language used in a wide variety of ways. It looks like this:

<note>
  <to>Haskell Community</to>
  <from>Beginners</from>
  <heading>Docs</heading>
  <body>:(</body>
</note>

Recommendations

If performance is even relatively important use xmlhtml because it uses Text instead of String. If you want a simple, light weight library and performance doesn't matter then you will be fine using xml. If you need position information or XML features not offered by xmlhtml, xml-conduit.

edit description
or press Ctrl+Enter to savemarkdown supported
#
xmlhtml (Hackage)
other
move item up move item down edit item info delete item
Summary edit summary

XML and HTML 5 parsing and rendering.

Summary quit editing summary
Prosedit prosquit editing pros
  • Memory efficient
    move trait up move trait down edit trait delete trait

press Ctrl+Enter or Enter to addmarkdown supportededit off
Consedit consquit editing cons
  • Both parsers are written to parse document fragments, not complete documents
    move trait up move trait down edit trait delete trait
  • The XML parser is incapable of handling processing instructions, or defined entities
    move trait up move trait down edit trait delete trait
  • The HTML parser is really an XML parser with HTML 5 quirks mode
    move trait up move trait down edit trait delete trait
  • No position information
    move trait up move trait down edit trait delete trait

press Ctrl+Enter or Enter to addmarkdown supportededit off
Ecosystemedit ecosystem
Ecosystemquit editing ecosystemor press Ctrl+Enter to savemarkdown supported
Notes
collapse notesedit notes

<notes are empty>

add something!

#
xml (Hackage)
other
move item up move item down edit item info delete item
Summary edit summary

Light-weight library for simple parsing and creation of XML documents.

Summary quit editing summary
Prosedit prosquit editing pros

press Ctrl+Enter or Enter to addmarkdown supportededit off
Consedit consquit editing cons
  • Minimal docs and no example/tutorial
    move trait up move trait down edit trait delete trait
  • Memory inefficient (uses String)
    move trait up move trait down edit trait delete trait
  • No position information
    move trait up move trait down edit trait delete trait

press Ctrl+Enter or Enter to addmarkdown supportededit off
Ecosystemedit ecosystem
Ecosystemquit editing ecosystemor press Ctrl+Enter to savemarkdown supported
Notes
collapse notesedit notes

<notes are empty>

add something!

#
xml-conduit (Hackage)
other
move item up move item down edit item info delete item
Summary edit summary

Streaming parsing, but has a useful non-streaming interface as well. Uses Text and ByteString.

Summary quit editing summary
Prosedit prosquit editing pros
  • Can parse entity references, including entities defined in the internal subset, as well as leaving entity references unresolved in the document for your code to handle itself.
    move trait up move trait down edit trait delete trait
  • Uses Text.
    move trait up move trait down edit trait delete trait
  • The streaming interface provides position information.
    move trait up move trait down edit trait delete trait

press Ctrl+Enter or Enter to addmarkdown supportededit off
Consedit consquit editing cons
  • Heavyweight in terms of dependencies
    move trait up move trait down edit trait delete trait

press Ctrl+Enter or Enter to addmarkdown supportededit off
Ecosystemedit ecosystem

Uses xml-types for its unresolved-entity types. In theory this allows inter-operation, but nothing else seems to buy into xml-types, and the easier-out-of-the-box resolved-entity interface is defined by xml-conduit.

Ecosystemquit editing ecosystemor press Ctrl+Enter to savemarkdown supported
Notes
collapse notesedit notes

<notes are empty>

add something!