pacemaker 3.0.1-16e74fc4da
Scalable High-Availability cluster resource manager
Loading...
Searching...
No Matches
xml.c File Reference
#include <crm_internal.h>
#include <stdarg.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <glib.h>
#include <libxml/tree.h>
#include <libxml/xmlstring.h>
#include <crm/crm.h>
#include <crm/common/xml.h>
#include <crm/common/xml_internal.h>
#include "crmcommon_private.h"
#include <libxml/parser.h>
#include <crm/common/xml_compat.h>
Include dependency graph for xml.c:

Go to the source code of this file.

Macros

#define XML_VERSION   ((const xmlChar *) "1.0")
 libxml2 supports only XML version 1.0, at least as of libxml2-2.12.5
 

Functions

const char * pcmk__xml_element_type_text (xmlElementType type)
 
bool pcmk__xml_tree_foreach (xmlNode *xml, bool(*fn)(xmlNode *, void *), void *user_data)
 
void pcmk__xml_set_parent_flags (xmlNode *xml, uint64_t flags)
 
void pcmk__xml_doc_set_flags (xmlDoc *doc, uint32_t flags)
 
bool pcmk__xml_doc_all_flags_set (const xmlDoc *doc, uint32_t flags)
 
void pcmk__mark_xml_node_dirty (xmlNode *xml)
 
bool pcmk__xml_reset_node_flags (xmlNode *xml, void *user_data)
 
void pcmk__xml_new_private_data (xmlNode *xml)
 
void pcmk__xml_free_private_data (xmlNode *xml)
 
int pcmk__xml_position (const xmlNode *xml, enum pcmk__xml_flags ignore_if_set)
 
void pcmk__xml_commit_changes (xmlDoc *doc)
 
xmlDoc * pcmk__xml_new_doc (void)
 
void pcmk__xml_free_doc (xmlDoc *doc)
 
bool pcmk__xml_is_name_start_char (const char *utf8, int *len)
 
bool pcmk__xml_is_name_char (const char *utf8, int *len)
 
void pcmk__xml_sanitize_id (char *id)
 
void pcmk__xml_free_node (xmlNode *xml)
 
void pcmk__xml_free (xmlNode *xml)
 
xmlNode * pcmk__xml_copy (xmlNode *parent, xmlNode *src)
 
void pcmk__strip_xml_text (xmlNode *xml)
 
bool pcmk__xml_needs_escape (const char *text, enum pcmk__xml_escape_type type)
 
gchar * pcmk__xml_escape (const char *text, enum pcmk__xml_escape_type type)
 
void pcmk__xml_mark_changes (xmlNode *old_xml, xmlNode *new_xml)
 
char * pcmk__xml_artefact_root (enum pcmk__xml_artefact_ns ns)
 
char * pcmk__xml_artefact_path (enum pcmk__xml_artefact_ns ns, const char *filespec)
 
xmlNode * copy_xml (xmlNode *src)
 
void crm_xml_init (void)
 
void crm_xml_cleanup (void)
 
void pcmk_free_xml_subtree (xmlNode *xml)
 
void free_xml (xmlNode *child)
 
void crm_xml_sanitize_id (char *id)
 
bool xml_tracking_changes (xmlNode *xml)
 
bool xml_document_dirty (xmlNode *xml)
 
void xml_accept_changes (xmlNode *xml)
 
void xml_track_changes (xmlNode *xml, const char *user, xmlNode *acl_source, bool enforce_acls)
 
void xml_calculate_changes (xmlNode *old_xml, xmlNode *new_xml)
 
void xml_calculate_significant_changes (xmlNode *old_xml, xmlNode *new_xml)
 

Macro Definition Documentation

◆ XML_VERSION

#define XML_VERSION   ((const xmlChar *) "1.0")

libxml2 supports only XML version 1.0, at least as of libxml2-2.12.5

Definition at line 30 of file xml.c.

Function Documentation

◆ copy_xml()

xmlNode * copy_xml ( xmlNode * src_node)
Deprecated
Do not use Pacemaker for general-purpose XML manipulation

Definition at line 1719 of file xml.c.

◆ crm_xml_cleanup()

void crm_xml_cleanup ( void )
Deprecated
Exit with crm_exit() instead

Definition at line 1739 of file xml.c.

◆ crm_xml_init()

void crm_xml_init ( void )
Deprecated
Call crm_log_init() or crm_log_cli_init() instead

Definition at line 1733 of file xml.c.

◆ crm_xml_sanitize_id()

void crm_xml_sanitize_id ( char * id)
Deprecated
Do not use Pacemaker for general-purpose XML manipulation

Definition at line 1758 of file xml.c.

◆ free_xml()

void free_xml ( xmlNode * child)
Deprecated
Do not use Pacemaker for general-purpose XML manipulation

Definition at line 1752 of file xml.c.

◆ pcmk__mark_xml_node_dirty()

void pcmk__mark_xml_node_dirty ( xmlNode * xml)

Definition at line 159 of file xml.c.

◆ pcmk__strip_xml_text()

void pcmk__strip_xml_text ( xmlNode * xml)

Definition at line 870 of file xml.c.

◆ pcmk__xml_artefact_path()

char * pcmk__xml_artefact_path ( enum pcmk__xml_artefact_ns ns,
const char * filespec )

Definition at line 1692 of file xml.c.

◆ pcmk__xml_artefact_root()

char * pcmk__xml_artefact_root ( enum pcmk__xml_artefact_ns ns)

Definition at line 1635 of file xml.c.

◆ pcmk__xml_commit_changes()

void pcmk__xml_commit_changes ( xmlDoc * doc)

Definition at line 468 of file xml.c.

◆ pcmk__xml_copy()

xmlNode * pcmk__xml_copy ( xmlNode * parent,
xmlNode * src )

Definition at line 832 of file xml.c.

◆ pcmk__xml_doc_all_flags_set()

bool pcmk__xml_doc_all_flags_set ( const xmlDoc * doc,
uint32_t flags )

Definition at line 147 of file xml.c.

◆ pcmk__xml_doc_set_flags()

void pcmk__xml_doc_set_flags ( xmlDoc * doc,
uint32_t flags )

Definition at line 128 of file xml.c.

◆ pcmk__xml_element_type_text()

const char * pcmk__xml_element_type_text ( xmlElementType type)

Definition at line 41 of file xml.c.

◆ pcmk__xml_escape()

gchar * pcmk__xml_escape ( const char * text,
enum pcmk__xml_escape_type type )

Definition at line 991 of file xml.c.

◆ pcmk__xml_free()

void pcmk__xml_free ( xmlNode * xml)

Definition at line 816 of file xml.c.

◆ pcmk__xml_free_doc()

void pcmk__xml_free_doc ( xmlDoc * doc)

Definition at line 515 of file xml.c.

◆ pcmk__xml_free_node()

void pcmk__xml_free_node ( xmlNode * xml)

Definition at line 716 of file xml.c.

◆ pcmk__xml_free_private_data()

void pcmk__xml_free_private_data ( xmlNode * xml)

Definition at line 399 of file xml.c.

◆ pcmk__xml_is_name_char()

bool pcmk__xml_is_name_char ( const char * utf8,
int * len )

Definition at line 611 of file xml.c.

◆ pcmk__xml_is_name_start_char()

bool pcmk__xml_is_name_start_char ( const char * utf8,
int * len )

Definition at line 540 of file xml.c.

◆ pcmk__xml_mark_changes()

void pcmk__xml_mark_changes ( xmlNode * old_xml,
xmlNode * new_xml )

Definition at line 1537 of file xml.c.

◆ pcmk__xml_needs_escape()

bool pcmk__xml_needs_escape ( const char * text,
enum pcmk__xml_escape_type type )

Definition at line 909 of file xml.c.

◆ pcmk__xml_new_doc()

xmlDoc * pcmk__xml_new_doc ( void )

Definition at line 499 of file xml.c.

◆ pcmk__xml_new_private_data()

void pcmk__xml_new_private_data ( xmlNode * xml)

Definition at line 387 of file xml.c.

◆ pcmk__xml_position()

int pcmk__xml_position ( const xmlNode * xml,
enum pcmk__xml_flags ignore_if_set )

Definition at line 414 of file xml.c.

◆ pcmk__xml_reset_node_flags()

bool pcmk__xml_reset_node_flags ( xmlNode * xml,
void * user_data )

Definition at line 180 of file xml.c.

◆ pcmk__xml_sanitize_id()

void pcmk__xml_sanitize_id ( char * id)

Definition at line 674 of file xml.c.

◆ pcmk__xml_set_parent_flags()

void pcmk__xml_set_parent_flags ( xmlNode * xml,
uint64_t flags )

Definition at line 109 of file xml.c.

◆ pcmk__xml_tree_foreach()

bool pcmk__xml_tree_foreach ( xmlNode * xml,
bool(* fn )(xmlNode *, void *),
void * user_data )

Definition at line 87 of file xml.c.

◆ pcmk_free_xml_subtree()

void pcmk_free_xml_subtree ( xmlNode * xml)
Deprecated
Do not use Pacemaker for general-purpose XML manipulation

Definition at line 1746 of file xml.c.

◆ xml_accept_changes()

void xml_accept_changes ( xmlNode * xml)
Deprecated
Do not use

Definition at line 1786 of file xml.c.

◆ xml_calculate_changes()

void xml_calculate_changes ( xmlNode * old_xml,
xmlNode * new_xml )
Deprecated
Do not use

Definition at line 1816 of file xml.c.

◆ xml_calculate_significant_changes()

void xml_calculate_significant_changes ( xmlNode * old_xml,
xmlNode * new_xml )
Deprecated
Do not use

Definition at line 1833 of file xml.c.

◆ xml_document_dirty()

bool xml_document_dirty ( xmlNode * xml)
Deprecated
Do not use

Definition at line 1779 of file xml.c.

◆ xml_track_changes()

void xml_track_changes ( xmlNode * xml,
const char * user,
xmlNode * acl_source,
bool enforce_acls )
Deprecated
Do not use

Definition at line 1794 of file xml.c.

◆ xml_tracking_changes()

bool xml_tracking_changes ( xmlNode * xml)
Deprecated
Do not use

Definition at line 1772 of file xml.c.