Skip to content

API XMLSec Core Parser

Aleksey Sanin edited this page Jun 22, 2026 · 5 revisions

XML Parser

API Group: xmlsec_core_parser

XML parsing helper functions.

XML parser functions and the XML parser transform implementation.

Macros

xmlSecTransformXmlParserId

Defined as: xmlSecTransformXmlParserGetKlass()

Source: include/xmlsec/parser.h

The XML Parser transform klass.


Functions

xmlSecParseFile

xmlDocPtr xmlSecParseFile(const char *filename);

Source: include/xmlsec/parser.h

Loads an XML document from a file.

Loads XML Doc from file filename. We need a special version because of c14n issue. The code is copied from xmlSAXParseFileWithData() function.

Parameters:

  • filename — the filename.

Returns: pointer to the loaded XML document or NULL if an error occurs.


xmlSecParseMemory

xmlDocPtr xmlSecParseMemory(const xmlSecByte *buffer, xmlSecSize size, int recovery);

Source: include/xmlsec/parser.h

Loads an XML document from memory.

Loads XML Doc from memory. We need a special version because of c14n issue. The code is copied from xmlSAXParseMemory() function.

Parameters:

  • buffer — the input buffer.
  • size — the input buffer size.
  • recovery — the flag.

Returns: pointer to the loaded XML document or NULL if an error occurs.


xmlSecParseMemoryExt

xmlDocPtr xmlSecParseMemoryExt(const xmlSecByte *prefix, xmlSecSize prefixSize, const xmlSecByte *buffer, xmlSecSize bufferSize, const xmlSecByte *postfix, xmlSecSize postfixSize);

Source: include/xmlsec/parser.h

Loads an XML document from 3 memory chunks.

Loads XML Doc from 3 chunks of memory: prefix, buffer and postfix.

Parameters:

  • prefix — the first part of the input.
  • prefixSize — the size of the first part of the input.
  • buffer — the second part of the input.
  • bufferSize — the size of the second part of the input.
  • postfix — the third part of the input.
  • postfixSize — the size of the third part of the input.

Returns: pointer to the loaded XML document or NULL if an error occurs.


xmlSecParsePrepareCtxt

void xmlSecParsePrepareCtxt(xmlParserCtxtPtr ctxt);

Source: include/xmlsec/parser.h

Prepares parser context for XML parsing.

Prepares parser context for parsing XML for XMLSec.

Parameters:

  • ctxt — the parser context

xmlSecParserGetDefaultOptions

int xmlSecParserGetDefaultOptions(void);

Source: include/xmlsec/parser.h

Gets default LibXML2 parser options.

Returns: the current default LibXML2 parser options.


xmlSecParserSetDefaultOptions

void xmlSecParserSetDefaultOptions(int options);

Source: include/xmlsec/parser.h

Sets default LibXML2 parser options.

Parameters:

  • options — the new parser options.

xmlSecTransformXmlParserGetKlass

xmlSecTransformId xmlSecTransformXmlParserGetKlass(void);

Source: include/xmlsec/parser.h

The XML parser transform.

Returns: XML parser transform klass.


Clone this wiki locally