- Home
- Download
- News
- Documentation

- FAQ
- Tutorial
- API reference
- Examples

- XML Digital Signature

- Online Verifier

- XML Encryption
- XML Canonicalization
- Reporting Bugs
- Mailing list
- Related
- Authors

# parser

## Name

parser -- Parser transform implementation.

## Synopsis

    xmlDocPtrxmlSecParseFile                     (const char *filename);
    xmlDocPtrxmlSecParseMemory                   (const xmlSecByte *buffer,
                                                             xmlSecSize size,
                                                             int recovery);
    xmlDocPtrxmlSecParseMemoryExt                (const xmlSecByte *prefix,
                                                             xmlSecSize prefixSize,
                                                             const xmlSecByte *buffer,
                                                             xmlSecSize bufferSize,
                                                             const xmlSecByte *postfix,
                                                             xmlSecSize postfixSize);
    #define             xmlSecTransformXmlParserId
    xmlSecTransformIdxmlSecTransformXmlParserGetKlass    (void);

## Description

Parser transform implementation.

## Details

### 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.

`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.

`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`.

`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.

### xmlSecTransformXmlParserId

    #define             xmlSecTransformXmlParserId

The XML Parser transform klass.

### xmlSecTransformXmlParserGetKlass ()

    xmlSecTransformId   xmlSecTransformXmlParserGetKlass    (void);

The XML parser transform.

Returns : | XML parser transform klass.