## parser

parser — XML parser functions and the XML parser transform implementation.

## Stability Level

Stable, unless otherwise indicated

## Functions

xmlDocPtr | xmlSecParseFile ()
xmlDocPtr | xmlSecParseMemory ()
xmlDocPtr | xmlSecParseMemoryExt ()
void | xmlSecParsePrepareCtxt ()
int | xmlSecParserGetDefaultOptions ()
void | xmlSecParserSetDefaultOptions ()
xmlSecTransformId | xmlSecTransformXmlParserGetKlass ()

## Types and Values

#define | xmlSecTransformXmlParserId

## Description

## Functions

### xmlSecParseFile ()

    xmlDocPtr
    xmlSecParseFile (const char *filename);

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);

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);

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);

Prepares parser context for parsing XML for XMLSec.

#### Parameters

ctxt | the parser context |

### xmlSecParserGetDefaultOptions ()

    int
    xmlSecParserGetDefaultOptions (void);

Gets default LibXML2 parser options.

#### Returns

the current default LibXML2 parser options.

### xmlSecParserSetDefaultOptions ()

    void
    xmlSecParserSetDefaultOptions (int options);

Sets default LibXML2 parser options.

#### Parameters

options | the new parser options. |

### xmlSecTransformXmlParserGetKlass ()

    xmlSecTransformId
    xmlSecTransformXmlParserGetKlass (void);

The XML parser transform.

#### Returns

XML parser transform klass.

## Types and Values

### xmlSecTransformXmlParserId

    #define             xmlSecTransformXmlParserId

The XML Parser transform klass.