MagickCore  7.0.0
xml-tree.c File Reference
Include dependency graph for xml-tree.c:

Go to the source code of this file.

Data Structures

struct  _XMLTreeInfo
 
struct  _XMLTreeRoot
 

Macros

#define NumberPredefinedEntities   10
 
#define XMLWhitespace   "\t\r\n "
 

Typedefs

typedef struct _XMLTreeRoot XMLTreeRoot
 

Functions

MagickExport XMLTreeInfoAddChildToXMLTree (XMLTreeInfo *xml_info, const char *tag, const size_t offset)
 
MagickPrivate XMLTreeInfoAddPathToXMLTree (XMLTreeInfo *xml_info, const char *path, const size_t offset)
 
MagickPrivate char * CanonicalXMLContent (const char *content, const MagickBooleanType pedantic)
 
static char ** DestroyXMLTreeAttributes (char **attributes)
 
MagickExport XMLTreeInfoDestroyXMLTree (XMLTreeInfo *xml_info)
 
MagickExport XMLTreeInfoGetNextXMLTreeTag (XMLTreeInfo *xml_info)
 
MagickExport const char * GetXMLTreeAttribute (XMLTreeInfo *xml_info, const char *tag)
 
MagickPrivate MagickBooleanType GetXMLTreeAttributes (const XMLTreeInfo *xml_info, SplayTreeInfo *attributes)
 
MagickExport XMLTreeInfoGetXMLTreeChild (XMLTreeInfo *xml_info, const char *tag)
 
MagickExport const char * GetXMLTreeContent (XMLTreeInfo *xml_info)
 
MagickPrivate XMLTreeInfoGetXMLTreeOrdered (XMLTreeInfo *xml_info)
 
MagickPrivate XMLTreeInfoGetXMLTreePath (XMLTreeInfo *xml_info, const char *path)
 
MagickPrivate const char ** GetXMLTreeProcessingInstructions (XMLTreeInfo *xml_info, const char *target)
 
MagickExport XMLTreeInfoGetXMLTreeSibling (XMLTreeInfo *xml_info)
 
MagickExport const char * GetXMLTreeTag (XMLTreeInfo *xml_info)
 
MagickPrivate XMLTreeInfoInsertTagIntoXMLTree (XMLTreeInfo *xml_info, XMLTreeInfo *child, const size_t offset)
 
static char * ConvertUTF16ToUTF8 (const char *content, size_t *length)
 
static char * ParseEntities (char *xml, char **entities, int state)
 
static void ParseCharacterContent (XMLTreeRoot *root, char *xml, const size_t length, const char state)
 
static XMLTreeInfoParseCloseTag (XMLTreeRoot *root, char *tag, char *magick_unused(xml), ExceptionInfo *exception)
 
static MagickBooleanType ValidateEntities (char *tag, char *xml, char **entities)
 
static void ParseProcessingInstructions (XMLTreeRoot *root, char *xml, size_t length)
 
static MagickBooleanType ParseInternalDoctype (XMLTreeRoot *root, char *xml, size_t length, ExceptionInfo *exception)
 
static void ParseOpenTag (XMLTreeRoot *root, char *tag, char **attributes)
 
MagickExport XMLTreeInfoNewXMLTree (const char *xml, ExceptionInfo *exception)
 
MagickExport XMLTreeInfoNewXMLTreeTag (const char *tag)
 
MagickPrivate XMLTreeInfoPruneTagFromXMLTree (XMLTreeInfo *xml_info)
 
MagickPrivate XMLTreeInfoSetXMLTreeAttribute (XMLTreeInfo *xml_info, const char *tag, const char *value)
 
MagickExport XMLTreeInfoSetXMLTreeContent (XMLTreeInfo *xml_info, const char *content)
 
static char * EncodePredefinedEntities (const char *source, ssize_t offset, char **destination, size_t *length, size_t *extent, MagickBooleanType pedantic)
 
static char * XMLTreeTagToXML (XMLTreeInfo *xml_info, char **source, size_t *length, size_t *extent, size_t start, char ***attributes)
 
MagickExport char * XMLTreeInfoToXML (XMLTreeInfo *xml_info)
 

Variables

static char * sentinel [] = { (char *) NULL }
 

Macro Definition Documentation

#define NumberPredefinedEntities   10

Definition at line 68 of file xml-tree.c.

Referenced by DestroyXMLTree(), and NewXMLTreeTag().

#define XMLWhitespace   "\t\r\n "

Definition at line 69 of file xml-tree.c.

Referenced by NewXMLTree(), ParseInternalDoctype(), and ParseProcessingInstructions().

Typedef Documentation

typedef struct _XMLTreeRoot XMLTreeRoot

Definition at line 101 of file xml-tree.c.

Function Documentation

static char* ConvertUTF16ToUTF8 ( const char *  content,
size_t *  length 
)
static

Definition at line 1088 of file xml-tree.c.

References AcquireQuantumMemory(), CopyMagickMemory(), MaxTextExtent, and ResizeQuantumMemory().

Referenced by NewXMLTree().

static char** DestroyXMLTreeAttributes ( char **  attributes)
static

Definition at line 435 of file xml-tree.c.

References DestroyString(), RelinquishMagickMemory(), and sentinel.

Referenced by DestroyXMLTree(), and NewXMLTree().

static char* EncodePredefinedEntities ( const char *  source,
ssize_t  offset,
char **  destination,
size_t *  length,
size_t *  extent,
MagickBooleanType  pedantic 
)
static
MagickPrivate const char** GetXMLTreeProcessingInstructions ( XMLTreeInfo xml_info,
const char *  target 
)
MagickExport XMLTreeInfo* GetXMLTreeSibling ( XMLTreeInfo xml_info)
MagickExport const char* GetXMLTreeTag ( XMLTreeInfo xml_info)
MagickPrivate XMLTreeInfo* InsertTagIntoXMLTree ( XMLTreeInfo xml_info,
XMLTreeInfo child,
const size_t  offset 
)
static void ParseCharacterContent ( XMLTreeRoot root,
char *  xml,
const size_t  length,
const char  state 
)
static
static XMLTreeInfo* ParseCloseTag ( XMLTreeRoot root,
char *  tag,
char *  magick_unusedxml,
ExceptionInfo exception 
)
static
static char* ParseEntities ( char *  xml,
char **  entities,
int  state 
)
static
static void ParseOpenTag ( XMLTreeRoot root,
char *  tag,
char **  attributes 
)
static
MagickExport XMLTreeInfo* SetXMLTreeContent ( XMLTreeInfo xml_info,
const char *  content 
)
static MagickBooleanType ValidateEntities ( char *  tag,
char *  xml,
char **  entities 
)
static

Definition at line 1368 of file xml-tree.c.

References MagickFalse, and MagickTrue.

Referenced by ParseInternalDoctype().

static char* XMLTreeTagToXML ( XMLTreeInfo xml_info,
char **  source,
size_t *  length,
size_t *  extent,
size_t  start,
char ***  attributes 
)
static

Variable Documentation