libfilezilla
Classes | Namespaces | Enumerations
xml.hpp File Reference

Streaming XML parser, including a parser with namespace support. More...

#include <functional>
#include <string>
#include <tuple>
#include <vector>
#include "buffer.hpp"
#include "logger.hpp"
Include dependency graph for xml.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  parser
 A streaming XML parser. More...
 
class  namespace_parser
 A stremable XML parser that resolves namespace declarations and namespace prefixes. More...
 
class  pretty_printer
 A slow pretty printer for XML as it is being parsed. More...
 
class  pretty_logger
 Pretty-prints XML as it is being parsed to a logger. More...
 

Namespaces

 fz
 The namespace used by libfilezilla.
 

Enumerations

enum class  callback_event {
  open , close , attribute , value ,
  parsing_instruction , doctype
}
 Types of callbacks when parsing XML. More...
 

Detailed Description

Streaming XML parser, including a parser with namespace support.

Also includes a pretty printer and associated logger for the processed XML.

Enumeration Type Documentation

◆ callback_event

enum callback_event
strong

Types of callbacks when parsing XML.

Enumerator
open 

An element is opened, passed name.

close 

An element is closed, passed name.

attribute 

Attribute in name and value.

value 

An element's value. name empty, full element in path. Element can have multiple values if they have child elements.

parsing_instruction 

Parsing instruction, includes the <?xml?> declaration. Until first space in name, rest in value.