#include "magick/studio.h"#include "magick/blob.h"#include "magick/exception.h"#include "magick/exception-private.h"#include "magick/log.h"#include "magick/memory_.h"#include "magick/semaphore.h"#include "magick/string_.h"#include "magick/xml-tree.h"#include "magick/utility.h"
Go to the source code of this file.
Data Structures | |
| struct | _XMLTreeInfo |
| struct | _XMLTreeRoot |
Defines | |
| #define | NumberPredefinedEntities 10 |
| #define | XMLWhitespace "\t\r\n " |
Typedefs | |
| typedef struct _XMLTreeRoot | XMLTreeRoot |
Functions | |
| MagickExport XMLTreeInfo * | AddChildToXMLTree (XMLTreeInfo *xml_info, const char *tag, const size_t offset) |
| MagickExport XMLTreeInfo * | AddPathToXMLTree (XMLTreeInfo *xml_info, const char *path, const size_t offset) |
| static unsigned char * | ConvertLatin1ToUTF8 (const unsigned char *content) |
| MagickExport char * | CanonicalXMLContent (const char *content, const MagickBooleanType pedantic) |
| static char ** | DestroyXMLTreeAttributes (char **attributes) |
| MagickExport XMLTreeInfo * | DestroyXMLTree (XMLTreeInfo *xml_info) |
| MagickExport XMLTreeInfo * | GetNextXMLTreeTag (XMLTreeInfo *xml_info) |
| MagickExport const char * | GetXMLTreeAttribute (XMLTreeInfo *xml_info, const char *tag) |
| MagickExport MagickBooleanType | GetXMLTreeAttributes (const XMLTreeInfo *xml_info, SplayTreeInfo *attributes) |
| MagickExport XMLTreeInfo * | GetXMLTreeChild (XMLTreeInfo *xml_info, const char *tag) |
| MagickExport const char * | GetXMLTreeContent (XMLTreeInfo *xml_info) |
| MagickExport XMLTreeInfo * | GetXMLTreeOrdered (XMLTreeInfo *xml_info) |
| MagickExport XMLTreeInfo * | GetXMLTreePath (XMLTreeInfo *xml_info, const char *path) |
| MagickExport const char ** | GetXMLTreeProcessingInstructions (XMLTreeInfo *xml_info, const char *target) |
| MagickExport XMLTreeInfo * | GetXMLTreeSibling (XMLTreeInfo *xml_info) |
| MagickExport const char * | GetXMLTreeTag (XMLTreeInfo *xml_info) |
| MagickExport XMLTreeInfo * | InsertTagIntoXMLTree (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 XMLTreeInfo * | ParseCloseTag (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 XMLTreeInfo * | NewXMLTree (const char *xml, ExceptionInfo *exception) |
| MagickExport XMLTreeInfo * | NewXMLTreeTag (const char *tag) |
| MagickExport XMLTreeInfo * | PruneTagFromXMLTree (XMLTreeInfo *xml_info) |
| MagickExport XMLTreeInfo * | SetXMLTreeAttribute (XMLTreeInfo *xml_info, const char *tag, const char *value) |
| MagickExport XMLTreeInfo * | SetXMLTreeContent (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 } |
| #define NumberPredefinedEntities 10 |
Definition at line 64 of file xml-tree.c.
Referenced by DestroyXMLTree(), and NewXMLTreeTag().
| #define XMLWhitespace "\t\r\n " |
Definition at line 65 of file xml-tree.c.
Referenced by NewXMLTree(), ParseInternalDoctype(), and ParseProcessingInstructions().
| typedef struct _XMLTreeRoot XMLTreeRoot |
Definition at line 97 of file xml-tree.c.
| MagickExport XMLTreeInfo* AddChildToXMLTree | ( | XMLTreeInfo * | xml_info, | |
| const char * | tag, | |||
| const size_t | offset | |||
| ) |
Definition at line 160 of file xml-tree.c.
References AcquireMagickMemory(), _XMLTreeInfo::attributes, _XMLTreeInfo::child, ConstantString(), _XMLTreeInfo::content, _XMLTreeInfo::debug, InsertTagIntoXMLTree(), IsEventLogging(), MagickSignature, ResetMagickMemory(), sentinel, _XMLTreeInfo::signature, and _XMLTreeInfo::tag.
Referenced by AddPathToXMLTree(), and ParseOpenTag().
| MagickExport XMLTreeInfo* AddPathToXMLTree | ( | XMLTreeInfo * | xml_info, | |
| const char * | path, | |||
| const size_t | offset | |||
| ) |
Definition at line 208 of file xml-tree.c.
References AddChildToXMLTree(), CanonicalPath, _XMLTreeInfo::child, DestroyString(), GetMagickModule, GetPathComponent(), GetPathComponents(), GetXMLTreeChild(), GetXMLTreeOrdered(), LogMagickEvent(), MagickSignature, MaxTextExtent, RelinquishMagickMemory(), _XMLTreeInfo::signature, SubimagePath, _XMLTreeInfo::tag, and TraceEvent.
| MagickExport char* CanonicalXMLContent | ( | const char * | content, | |
| const MagickBooleanType | pedantic | |||
| ) |
Definition at line 334 of file xml-tree.c.
References AcquireString(), Base64Encode(), ConcatenateString(), ConvertLatin1ToUTF8(), DestroyString(), FormatMagickString(), MagickFalse, MaxTextExtent, RelinquishMagickMemory(), and ResizeQuantumMemory().
Referenced by EncodePredefinedEntities().
| static unsigned char* ConvertLatin1ToUTF8 | ( | const unsigned char * | content | ) | [static] |
Definition at line 293 of file xml-tree.c.
References AcquireQuantumMemory().
Referenced by CanonicalXMLContent().
| static char* ConvertUTF16ToUTF8 | ( | const char * | content, | |
| size_t * | length | |||
| ) | [static] |
Definition at line 1126 of file xml-tree.c.
References AcquireQuantumMemory(), CopyMagickMemory(), MaxTextExtent, and ResizeQuantumMemory().
Referenced by NewXMLTree().
| MagickExport XMLTreeInfo* DestroyXMLTree | ( | XMLTreeInfo * | xml_info | ) |
Definition at line 497 of file xml-tree.c.
References _XMLTreeRoot::attributes, _XMLTreeInfo::attributes, DestroyString(), DestroyXMLTreeAttributes(), _XMLTreeRoot::entities, GetMagickModule, LogMagickEvent(), MagickSignature, NumberPredefinedEntities, _XMLTreeRoot::processing_instructions, RelinquishMagickMemory(), _XMLTreeInfo::signature, and TraceEvent.
Referenced by ColorDecisionListImage(), GetThresholdMapFile(), GetXMPProperty(), ListThresholdMapFile(), and LoadMimeList().
| static char** DestroyXMLTreeAttributes | ( | char ** | attributes | ) | [static] |
Definition at line 473 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] |
Definition at line 2378 of file xml-tree.c.
References AcquireString(), CanonicalXMLContent(), _XMLTreeInfo::content, DestroyString(), FormatMagickString(), MaxTextExtent, and ResizeQuantumMemory().
Referenced by XMLTreeTagToXML().
| MagickExport XMLTreeInfo* GetNextXMLTreeTag | ( | XMLTreeInfo * | xml_info | ) |
Definition at line 591 of file xml-tree.c.
References GetMagickModule, LogMagickEvent(), MagickSignature, _XMLTreeInfo::signature, and TraceEvent.
Referenced by GetThresholdMapFile(), GetXMPProperty(), ListThresholdMapFile(), and LoadMimeList().
| MagickExport const char* GetXMLTreeAttribute | ( | XMLTreeInfo * | xml_info, | |
| const char * | tag | |||
| ) |
Definition at line 625 of file xml-tree.c.
References _XMLTreeRoot::attributes, GetMagickModule, LogMagickEvent(), MagickSignature, _XMLTreeInfo::parent, _XMLTreeRoot::root, _XMLTreeInfo::signature, and TraceEvent.
Referenced by GetThresholdMapFile(), ListThresholdMapFile(), LoadMimeList(), and XMLTreeTagToXML().
| MagickExport MagickBooleanType GetXMLTreeAttributes | ( | const XMLTreeInfo * | xml_info, | |
| SplayTreeInfo * | attributes | |||
| ) |
Definition at line 693 of file xml-tree.c.
References AddValueToSplayTree(), _XMLTreeRoot::attributes, ConstantString(), GetMagickModule, LogMagickEvent(), MagickSignature, MagickTrue, _XMLTreeInfo::signature, and TraceEvent.
| MagickExport XMLTreeInfo* GetXMLTreeChild | ( | XMLTreeInfo * | xml_info, | |
| const char * | tag | |||
| ) |
Definition at line 740 of file xml-tree.c.
References _XMLTreeInfo::child, GetMagickModule, LogMagickEvent(), MagickSignature, _XMLTreeInfo::sibling, _XMLTreeInfo::signature, _XMLTreeInfo::tag, and TraceEvent.
Referenced by AddPathToXMLTree(), ColorDecisionListImage(), GetThresholdMapFile(), GetXMLTreePath(), GetXMPProperty(), ListThresholdMapFile(), and LoadMimeList().
| MagickExport const char* GetXMLTreeContent | ( | XMLTreeInfo * | xml_info | ) |
Definition at line 779 of file xml-tree.c.
References GetMagickModule, LogMagickEvent(), MagickSignature, _XMLTreeInfo::signature, and TraceEvent.
Referenced by ColorDecisionListImage(), GetThresholdMapFile(), GetXMPProperty(), and ListThresholdMapFile().
| MagickExport XMLTreeInfo* GetXMLTreeOrdered | ( | XMLTreeInfo * | xml_info | ) |
Definition at line 810 of file xml-tree.c.
References GetMagickModule, LogMagickEvent(), MagickSignature, _XMLTreeInfo::signature, and TraceEvent.
Referenced by AddPathToXMLTree(), and GetXMLTreePath().
| MagickExport XMLTreeInfo* GetXMLTreePath | ( | XMLTreeInfo * | xml_info, | |
| const char * | path | |||
| ) |
Definition at line 844 of file xml-tree.c.
References CanonicalPath, DestroyString(), GetMagickModule, GetPathComponent(), GetPathComponents(), GetXMLTreeChild(), GetXMLTreeOrdered(), LogMagickEvent(), MagickSignature, MaxTextExtent, RelinquishMagickMemory(), _XMLTreeInfo::signature, SubimagePath, _XMLTreeInfo::tag, and TraceEvent.
| MagickExport const char** GetXMLTreeProcessingInstructions | ( | XMLTreeInfo * | xml_info, | |
| const char * | target | |||
| ) |
Definition at line 918 of file xml-tree.c.
References GetMagickModule, LogMagickEvent(), MagickSignature, _XMLTreeInfo::parent, _XMLTreeRoot::processing_instructions, _XMLTreeRoot::root, sentinel, _XMLTreeInfo::signature, and TraceEvent.
| MagickExport XMLTreeInfo* GetXMLTreeSibling | ( | XMLTreeInfo * | xml_info | ) |
Definition at line 965 of file xml-tree.c.
References GetMagickModule, LogMagickEvent(), MagickSignature, _XMLTreeInfo::signature, and TraceEvent.
Referenced by GetXMPProperty().
| MagickExport const char* GetXMLTreeTag | ( | XMLTreeInfo * | xml_info | ) |
Definition at line 996 of file xml-tree.c.
References GetMagickModule, LogMagickEvent(), MagickSignature, _XMLTreeInfo::signature, and TraceEvent.
Referenced by GetXMPProperty().
| MagickExport XMLTreeInfo* InsertTagIntoXMLTree | ( | XMLTreeInfo * | xml_info, | |
| XMLTreeInfo * | child, | |||
| const size_t | offset | |||
| ) |
Definition at line 1033 of file xml-tree.c.
References _XMLTreeInfo::child, _XMLTreeInfo::next, _XMLTreeInfo::offset, _XMLTreeInfo::ordered, _XMLTreeInfo::parent, _XMLTreeInfo::sibling, and _XMLTreeInfo::tag.
Referenced by AddChildToXMLTree().
| MagickExport XMLTreeInfo* NewXMLTree | ( | const char * | xml, | |
| ExceptionInfo * | exception | |||
| ) |
Definition at line 1742 of file xml-tree.c.
References AcquireQuantumMemory(), _XMLTreeRoot::attributes, _XMLTreeInfo::attributes, ConstantString(), ConvertUTF16ToUTF8(), DestroyString(), DestroyXMLTreeAttributes(), _XMLTreeRoot::entities, GetMagickModule, MagickFalse, NewXMLTreeTag(), _XMLTreeRoot::node, OptionWarning, ParseCharacterContent(), ParseCloseTag(), ParseEntities(), ParseInternalDoctype(), ParseOpenTag(), ParseProcessingInstructions(), ResizeQuantumMemory(), ResourceLimitError, _XMLTreeRoot::root, sentinel, _XMLTreeInfo::tag, ThrowMagickException(), and XMLWhitespace.
Referenced by ColorDecisionListImage(), GetThresholdMapFile(), GetXMPProperty(), ListThresholdMapFile(), and LoadMimeList().
| MagickExport XMLTreeInfo* NewXMLTreeTag | ( | const char * | tag | ) |
Definition at line 2116 of file xml-tree.c.
References AcquireMagickMemory(), _XMLTreeRoot::attributes, _XMLTreeInfo::attributes, ConstantString(), _XMLTreeInfo::content, CopyMagickMemory(), _XMLTreeRoot::debug, _XMLTreeRoot::entities, IsEventLogging(), MagickSignature, _XMLTreeRoot::node, NumberPredefinedEntities, _XMLTreeRoot::processing_instructions, ResetMagickMemory(), _XMLTreeRoot::root, sentinel, _XMLTreeRoot::signature, and _XMLTreeInfo::tag.
Referenced by NewXMLTree().
| static void ParseCharacterContent | ( | XMLTreeRoot * | root, | |
| char * | xml, | |||
| const size_t | length, | |||
| const char | state | |||
| ) | [static] |
Definition at line 1367 of file xml-tree.c.
References ConcatenateString(), _XMLTreeInfo::content, DestroyString(), _XMLTreeRoot::entities, _XMLTreeRoot::node, ParseEntities(), and _XMLTreeInfo::tag.
Referenced by NewXMLTree().
| static XMLTreeInfo* ParseCloseTag | ( | XMLTreeRoot * | root, | |
| char * | tag, | |||
| char * | magick_unusedxml, | |||
| ExceptionInfo * | exception | |||
| ) | [static] |
Definition at line 1392 of file xml-tree.c.
References GetMagickModule, _XMLTreeRoot::node, OptionWarning, _XMLTreeInfo::parent, _XMLTreeRoot::root, _XMLTreeInfo::tag, and ThrowMagickException().
Referenced by NewXMLTree().
| static char* ParseEntities | ( | char * | xml, | |
| char ** | entities, | |||
| int | state | |||
| ) | [static] |
Definition at line 1203 of file xml-tree.c.
References AcquireQuantumMemory(), ConstantString(), CopyMagickMemory(), CopyMagickString(), _XMLTreeInfo::offset, ResizeQuantumMemory(), ResourceLimitFatalError, and ThrowFatalException.
Referenced by NewXMLTree(), ParseCharacterContent(), and ParseInternalDoctype().
| static MagickBooleanType ParseInternalDoctype | ( | XMLTreeRoot * | root, | |
| char * | xml, | |||
| size_t | length, | |||
| ExceptionInfo * | exception | |||
| ) | [static] |
Definition at line 1510 of file xml-tree.c.
References AcquireMagickMemory(), AcquireQuantumMemory(), _XMLTreeRoot::attributes, ConstantString(), CopyMagickMemory(), DestroyString(), _XMLTreeRoot::entities, GetMagickModule, MagickFalse, MagickTrue, OptionWarning, ParseEntities(), ParseProcessingInstructions(), RelinquishMagickMemory(), ResizeQuantumMemory(), ResourceLimitError, ResourceLimitFatalError, sentinel, _XMLTreeRoot::standalone, ThrowFatalException, ThrowMagickException(), ValidateEntities(), and XMLWhitespace.
Referenced by NewXMLTree().
| static void ParseOpenTag | ( | XMLTreeRoot * | root, | |
| char * | tag, | |||
| char ** | attributes | |||
| ) | [static] |
Definition at line 1728 of file xml-tree.c.
References AddChildToXMLTree(), _XMLTreeInfo::attributes, ConstantString(), _XMLTreeInfo::content, _XMLTreeRoot::node, and _XMLTreeInfo::tag.
Referenced by NewXMLTree().
| static void ParseProcessingInstructions | ( | XMLTreeRoot * | root, | |
| char * | xml, | |||
| size_t | length | |||
| ) | [static] |
Definition at line 1433 of file xml-tree.c.
References AcquireMagickMemory(), AcquireQuantumMemory(), ConstantString(), CopyMagickString(), MagickTrue, _XMLTreeRoot::processing_instructions, ResizeQuantumMemory(), ResourceLimitFatalError, _XMLTreeRoot::root, _XMLTreeRoot::standalone, _XMLTreeInfo::tag, ThrowFatalException, and XMLWhitespace.
Referenced by NewXMLTree(), and ParseInternalDoctype().
| MagickExport XMLTreeInfo* PruneTagFromXMLTree | ( | XMLTreeInfo * | xml_info | ) |
Definition at line 2173 of file xml-tree.c.
References GetMagickModule, LogMagickEvent(), MagickSignature, _XMLTreeInfo::next, _XMLTreeInfo::ordered, _XMLTreeInfo::sibling, _XMLTreeInfo::signature, _XMLTreeInfo::tag, and TraceEvent.
| MagickExport XMLTreeInfo* SetXMLTreeAttribute | ( | XMLTreeInfo * | xml_info, | |
| const char * | tag, | |||
| const char * | value | |||
| ) |
Definition at line 2246 of file xml-tree.c.
References AcquireQuantumMemory(), _XMLTreeRoot::attributes, ConstantString(), CopyMagickMemory(), DestroyString(), GetMagickModule, LogMagickEvent(), MagickSignature, ResizeQuantumMemory(), ResourceLimitFatalError, sentinel, _XMLTreeInfo::signature, ThrowFatalException, and TraceEvent.
| MagickExport XMLTreeInfo* SetXMLTreeContent | ( | XMLTreeInfo * | xml_info, | |
| const char * | content | |||
| ) |
Definition at line 2342 of file xml-tree.c.
References ConstantString(), DestroyString(), GetMagickModule, LogMagickEvent(), MagickSignature, _XMLTreeInfo::signature, and TraceEvent.
| static MagickBooleanType ValidateEntities | ( | char * | tag, | |
| char * | xml, | |||
| char ** | entities | |||
| ) | [static] |
Definition at line 1406 of file xml-tree.c.
References MagickFalse, and MagickTrue.
Referenced by ParseInternalDoctype().
| MagickExport char* XMLTreeInfoToXML | ( | XMLTreeInfo * | xml_info | ) |
Definition at line 2518 of file xml-tree.c.
References AcquireString(), _XMLTreeRoot::attributes, FormatMagickString(), GetMagickModule, LogMagickEvent(), MagickSignature, MaxTextExtent, _XMLTreeInfo::ordered, _XMLTreeInfo::parent, _XMLTreeRoot::processing_instructions, ResizeQuantumMemory(), _XMLTreeRoot::root, _XMLTreeInfo::signature, TraceEvent, and XMLTreeTagToXML().
| static char* XMLTreeTagToXML | ( | XMLTreeInfo * | xml_info, | |
| char ** | source, | |||
| size_t * | length, | |||
| size_t * | extent, | |||
| size_t | start, | |||
| char *** | attributes | |||
| ) | [static] |
Definition at line 2412 of file xml-tree.c.
References _XMLTreeInfo::attributes, _XMLTreeInfo::child, _XMLTreeInfo::content, EncodePredefinedEntities(), FormatMagickString(), GetXMLTreeAttribute(), MagickFalse, MagickTrue, MaxTextExtent, _XMLTreeInfo::offset, _XMLTreeInfo::ordered, _XMLTreeInfo::parent, ResizeQuantumMemory(), and _XMLTreeInfo::tag.
Referenced by XMLTreeInfoToXML().
char* sentinel[] = { (char *) NULL } [static] |
Definition at line 130 of file xml-tree.c.
Referenced by AddChildToXMLTree(), DestroyXMLTreeAttributes(), GetXMLTreeProcessingInstructions(), IdentifyImage(), NewXMLTree(), NewXMLTreeTag(), ParseInternalDoctype(), ParseMagickOption(), and SetXMLTreeAttribute().
1.6.1