|
MagickCore
6.7.5
|
#include "MagickCore/studio.h"#include "MagickCore/blob.h"#include "MagickCore/exception.h"#include "MagickCore/exception-private.h"#include "MagickCore/log.h"#include "MagickCore/memory_.h"#include "MagickCore/semaphore.h"#include "MagickCore/string_.h"#include "MagickCore/string-private.h"#include "MagickCore/token-private.h"#include "MagickCore/xml-tree.h"#include "MagickCore/xml-tree-private.h"#include "MagickCore/utility.h"#include "MagickCore/utility-private.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) |
| MagickPrivate XMLTreeInfo * | AddPathToXMLTree (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 XMLTreeInfo * | DestroyXMLTree (XMLTreeInfo *xml_info) |
| MagickPrivate XMLTreeInfo * | GetNextXMLTreeTag (XMLTreeInfo *xml_info) |
| MagickPrivate const char * | GetXMLTreeAttribute (XMLTreeInfo *xml_info, const char *tag) |
| MagickPrivate MagickBooleanType | GetXMLTreeAttributes (const XMLTreeInfo *xml_info, SplayTreeInfo *attributes) |
| MagickExport XMLTreeInfo * | GetXMLTreeChild (XMLTreeInfo *xml_info, const char *tag) |
| MagickExport const char * | GetXMLTreeContent (XMLTreeInfo *xml_info) |
| MagickPrivate XMLTreeInfo * | GetXMLTreeOrdered (XMLTreeInfo *xml_info) |
| MagickPrivate XMLTreeInfo * | GetXMLTreePath (XMLTreeInfo *xml_info, const char *path) |
| 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 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) |
| MagickPrivate XMLTreeInfo * | PruneTagFromXMLTree (XMLTreeInfo *xml_info) |
| MagickPrivate 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 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 ParseProcessingInstructions(), ParseInternalDoctype(), and NewXMLTree().
| typedef struct _XMLTreeRoot XMLTreeRoot |
Definition at line 101 of file xml-tree.c.
| MagickExport XMLTreeInfo* AddChildToXMLTree | ( | XMLTreeInfo * | xml_info, |
| const char * | tag, | ||
| const size_t | offset | ||
| ) |
Definition at line 164 of file xml-tree.c.
References _XMLTreeInfo::child, AcquireMagickMemory(), ResetMagickMemory(), _XMLTreeInfo::tag, ConstantString(), _XMLTreeInfo::attributes, sentinel, _XMLTreeInfo::content, _XMLTreeInfo::debug, IsEventLogging(), _XMLTreeInfo::signature, MagickSignature, and InsertTagIntoXMLTree().
Referenced by AddPathToXMLTree(), and ParseOpenTag().
| MagickPrivate XMLTreeInfo* AddPathToXMLTree | ( | XMLTreeInfo * | xml_info, |
| const char * | path, | ||
| const size_t | offset | ||
| ) |
Definition at line 212 of file xml-tree.c.
References MaxTextExtent, _XMLTreeInfo::tag, _XMLTreeInfo::child, _XMLTreeInfo::signature, MagickSignature, LogMagickEvent(), TraceEvent, GetMagickModule, GetPathComponents(), GetPathComponent(), SubimagePath, CanonicalPath, GetXMLTreeChild(), AddChildToXMLTree(), StringToLong(), GetXMLTreeOrdered(), DestroyString(), and RelinquishMagickMemory().
| MagickPrivate char* CanonicalXMLContent | ( | const char * | content, |
| const MagickBooleanType | pedantic | ||
| ) |
Definition at line 296 of file xml-tree.c.
References ConvertLatin1ToUTF8(), Base64Encode(), RelinquishMagickMemory(), AcquireString(), ConcatenateString(), DestroyString(), MaxTextExtent, ResizeQuantumMemory(), FormatLocaleString(), and MagickFalse.
Referenced by EncodePredefinedEntities().
| 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().
| MagickExport XMLTreeInfo* DestroyXMLTree | ( | XMLTreeInfo * | xml_info | ) |
Definition at line 459 of file xml-tree.c.
References _XMLTreeInfo::attributes, _XMLTreeInfo::signature, MagickSignature, LogMagickEvent(), TraceEvent, GetMagickModule, NumberPredefinedEntities, _XMLTreeRoot::entities, DestroyString(), RelinquishMagickMemory(), _XMLTreeRoot::attributes, _XMLTreeRoot::processing_instructions, and DestroyXMLTreeAttributes().
Referenced by ColorDecisionListImage(), LoadMimeList(), GetXMPProperty(), GetThresholdMapFile(), and ListThresholdMapFile().
| static char** DestroyXMLTreeAttributes | ( | char ** | attributes | ) | [static] |
Definition at line 435 of file xml-tree.c.
References sentinel, DestroyString(), and RelinquishMagickMemory().
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 2339 of file xml-tree.c.
References CanonicalXMLContent(), _XMLTreeInfo::content, AcquireString(), _XMLTreeInfo::offset, DestroyString(), MaxTextExtent, ResizeQuantumMemory(), and FormatLocaleString().
Referenced by XMLTreeTagToXML().
| MagickPrivate XMLTreeInfo* GetNextXMLTreeTag | ( | XMLTreeInfo * | xml_info | ) |
Definition at line 553 of file xml-tree.c.
References _XMLTreeInfo::signature, MagickSignature, LogMagickEvent(), TraceEvent, and GetMagickModule.
| MagickPrivate const char* GetXMLTreeAttribute | ( | XMLTreeInfo * | xml_info, |
| const char * | tag | ||
| ) |
Definition at line 587 of file xml-tree.c.
References _XMLTreeInfo::signature, MagickSignature, LogMagickEvent(), TraceEvent, GetMagickModule, _XMLTreeRoot::attributes, _XMLTreeRoot::root, and _XMLTreeInfo::parent.
| MagickPrivate MagickBooleanType GetXMLTreeAttributes | ( | const XMLTreeInfo * | xml_info, |
| SplayTreeInfo * | attributes | ||
| ) |
Definition at line 655 of file xml-tree.c.
References _XMLTreeInfo::signature, MagickSignature, LogMagickEvent(), TraceEvent, GetMagickModule, _XMLTreeRoot::attributes, MagickTrue, AddValueToSplayTree(), and ConstantString().
| MagickExport XMLTreeInfo* GetXMLTreeChild | ( | XMLTreeInfo * | xml_info, |
| const char * | tag | ||
| ) |
Definition at line 702 of file xml-tree.c.
References _XMLTreeInfo::child, _XMLTreeInfo::signature, MagickSignature, LogMagickEvent(), TraceEvent, GetMagickModule, _XMLTreeInfo::tag, and _XMLTreeInfo::sibling.
Referenced by ColorDecisionListImage(), LoadMimeList(), GetXMPProperty(), GetThresholdMapFile(), ListThresholdMapFile(), AddPathToXMLTree(), and GetXMLTreePath().
| MagickExport const char* GetXMLTreeContent | ( | XMLTreeInfo * | xml_info | ) |
Definition at line 741 of file xml-tree.c.
References _XMLTreeInfo::signature, MagickSignature, LogMagickEvent(), TraceEvent, and GetMagickModule.
Referenced by ColorDecisionListImage(), GetXMPProperty(), GetThresholdMapFile(), and ListThresholdMapFile().
| MagickPrivate XMLTreeInfo* GetXMLTreeOrdered | ( | XMLTreeInfo * | xml_info | ) |
Definition at line 772 of file xml-tree.c.
References _XMLTreeInfo::signature, MagickSignature, LogMagickEvent(), TraceEvent, and GetMagickModule.
| MagickPrivate XMLTreeInfo* GetXMLTreePath | ( | XMLTreeInfo * | xml_info, |
| const char * | path | ||
| ) |
Definition at line 806 of file xml-tree.c.
References MaxTextExtent, _XMLTreeInfo::tag, _XMLTreeInfo::signature, MagickSignature, LogMagickEvent(), TraceEvent, GetMagickModule, GetPathComponents(), GetPathComponent(), SubimagePath, CanonicalPath, GetXMLTreeChild(), StringToLong(), GetXMLTreeOrdered(), DestroyString(), and RelinquishMagickMemory().
| MagickPrivate const char** GetXMLTreeProcessingInstructions | ( | XMLTreeInfo * | xml_info, |
| const char * | target | ||
| ) |
Definition at line 880 of file xml-tree.c.
References _XMLTreeInfo::signature, MagickSignature, LogMagickEvent(), TraceEvent, GetMagickModule, _XMLTreeRoot::root, _XMLTreeInfo::parent, _XMLTreeRoot::processing_instructions, and sentinel.
| MagickExport XMLTreeInfo* GetXMLTreeSibling | ( | XMLTreeInfo * | xml_info | ) |
Definition at line 927 of file xml-tree.c.
References _XMLTreeInfo::signature, MagickSignature, LogMagickEvent(), TraceEvent, and GetMagickModule.
Referenced by GetXMPProperty().
| MagickExport const char* GetXMLTreeTag | ( | XMLTreeInfo * | xml_info | ) |
Definition at line 958 of file xml-tree.c.
References _XMLTreeInfo::signature, MagickSignature, LogMagickEvent(), TraceEvent, and GetMagickModule.
Referenced by GetXMPProperty().
| MagickPrivate XMLTreeInfo* InsertTagIntoXMLTree | ( | XMLTreeInfo * | xml_info, |
| XMLTreeInfo * | child, | ||
| const size_t | offset | ||
| ) |
Definition at line 995 of file xml-tree.c.
References _XMLTreeInfo::ordered, _XMLTreeInfo::sibling, _XMLTreeInfo::next, _XMLTreeInfo::offset, _XMLTreeInfo::parent, _XMLTreeInfo::child, and _XMLTreeInfo::tag.
| MagickExport XMLTreeInfo* NewXMLTree | ( | const char * | xml, |
| ExceptionInfo * | exception | ||
| ) |
Definition at line 1705 of file xml-tree.c.
References _XMLTreeInfo::attributes, _XMLTreeInfo::tag, ThrowMagickException(), GetMagickModule, OptionWarning, NewXMLTreeTag(), ConvertUTF16ToUTF8(), DestroyString(), sentinel, _XMLTreeRoot::node, _XMLTreeRoot::root, XMLWhitespace, _XMLTreeRoot::attributes, AcquireQuantumMemory(), ResizeQuantumMemory(), ResourceLimitError, ConstantString(), DestroyXMLTreeAttributes(), ParseEntities(), _XMLTreeRoot::entities, ParseOpenTag(), ParseCloseTag(), ParseCharacterContent(), ParseInternalDoctype(), MagickFalse, and ParseProcessingInstructions().
Referenced by ColorDecisionListImage(), LoadMimeList(), GetXMPProperty(), GetThresholdMapFile(), and ListThresholdMapFile().
| MagickExport XMLTreeInfo* NewXMLTreeTag | ( | const char * | tag | ) |
Definition at line 2080 of file xml-tree.c.
References NumberPredefinedEntities, AcquireMagickMemory(), ResetMagickMemory(), _XMLTreeRoot::root, _XMLTreeInfo::tag, ConstantString(), _XMLTreeRoot::node, _XMLTreeInfo::content, _XMLTreeRoot::entities, CopyMagickMemory(), _XMLTreeInfo::attributes, sentinel, _XMLTreeRoot::attributes, _XMLTreeRoot::processing_instructions, _XMLTreeRoot::debug, IsEventLogging(), _XMLTreeRoot::signature, and MagickSignature.
Referenced by NewXMLTree().
| static void ParseCharacterContent | ( | XMLTreeRoot * | root, |
| char * | xml, | ||
| const size_t | length, | ||
| const char | state | ||
| ) | [static] |
Definition at line 1329 of file xml-tree.c.
References _XMLTreeRoot::node, _XMLTreeInfo::tag, ParseEntities(), _XMLTreeRoot::entities, _XMLTreeInfo::content, ConcatenateString(), and DestroyString().
Referenced by NewXMLTree().
| static XMLTreeInfo* ParseCloseTag | ( | XMLTreeRoot * | root, |
| char * | tag, | ||
| char * | magick_unusedxml, | ||
| ExceptionInfo * | exception | ||
| ) | [static] |
Definition at line 1354 of file xml-tree.c.
References _XMLTreeRoot::node, _XMLTreeInfo::tag, ThrowMagickException(), GetMagickModule, OptionWarning, _XMLTreeRoot::root, and _XMLTreeInfo::parent.
Referenced by NewXMLTree().
| static char* ParseEntities | ( | char * | xml, |
| char ** | entities, | ||
| int | state | ||
| ) | [static] |
Definition at line 1165 of file xml-tree.c.
References _XMLTreeInfo::offset, CopyMagickMemory(), ResizeQuantumMemory(), AcquireQuantumMemory(), CopyMagickString(), ThrowFatalException, ResourceLimitFatalError, and ConstantString().
Referenced by ParseCharacterContent(), ParseInternalDoctype(), and NewXMLTree().
| static MagickBooleanType ParseInternalDoctype | ( | XMLTreeRoot * | root, |
| char * | xml, | ||
| size_t | length, | ||
| ExceptionInfo * | exception | ||
| ) | [static] |
Definition at line 1472 of file xml-tree.c.
References AcquireMagickMemory(), sentinel, ThrowFatalException, ResourceLimitError, CopyMagickMemory(), XMLWhitespace, _XMLTreeRoot::entities, ResizeQuantumMemory(), ResourceLimitFatalError, ParseEntities(), ValidateEntities(), MagickFalse, DestroyString(), ThrowMagickException(), GetMagickModule, OptionWarning, RelinquishMagickMemory(), _XMLTreeRoot::attributes, AcquireQuantumMemory(), ConstantString(), ParseProcessingInstructions(), _XMLTreeRoot::standalone, and MagickTrue.
Referenced by NewXMLTree().
| static void ParseOpenTag | ( | XMLTreeRoot * | root, |
| char * | tag, | ||
| char ** | attributes | ||
| ) | [static] |
Definition at line 1691 of file xml-tree.c.
References _XMLTreeRoot::node, _XMLTreeInfo::tag, ConstantString(), AddChildToXMLTree(), _XMLTreeInfo::content, and _XMLTreeInfo::attributes.
Referenced by NewXMLTree().
| static void ParseProcessingInstructions | ( | XMLTreeRoot * | root, |
| char * | xml, | ||
| size_t | length | ||
| ) | [static] |
Definition at line 1395 of file xml-tree.c.
References XMLWhitespace, _XMLTreeRoot::standalone, MagickTrue, _XMLTreeRoot::processing_instructions, AcquireMagickMemory(), ThrowFatalException, ResourceLimitFatalError, ResizeQuantumMemory(), AcquireQuantumMemory(), ConstantString(), CopyMagickString(), _XMLTreeRoot::root, and _XMLTreeInfo::tag.
Referenced by ParseInternalDoctype(), and NewXMLTree().
| MagickPrivate XMLTreeInfo* PruneTagFromXMLTree | ( | XMLTreeInfo * | xml_info | ) |
Definition at line 2137 of file xml-tree.c.
References _XMLTreeInfo::signature, MagickSignature, LogMagickEvent(), TraceEvent, GetMagickModule, _XMLTreeInfo::ordered, _XMLTreeInfo::tag, _XMLTreeInfo::sibling, and _XMLTreeInfo::next.
| MagickPrivate XMLTreeInfo* SetXMLTreeAttribute | ( | XMLTreeInfo * | xml_info, |
| const char * | tag, | ||
| const char * | value | ||
| ) |
Definition at line 2210 of file xml-tree.c.
References _XMLTreeInfo::signature, MagickSignature, LogMagickEvent(), TraceEvent, GetMagickModule, _XMLTreeRoot::attributes, sentinel, ResizeQuantumMemory(), AcquireQuantumMemory(), ConstantString(), ThrowFatalException, ResourceLimitFatalError, DestroyString(), and CopyMagickMemory().
| MagickExport XMLTreeInfo* SetXMLTreeContent | ( | XMLTreeInfo * | xml_info, |
| const char * | content | ||
| ) |
Definition at line 2303 of file xml-tree.c.
References _XMLTreeInfo::signature, MagickSignature, LogMagickEvent(), TraceEvent, GetMagickModule, DestroyString(), and ConstantString().
| static MagickBooleanType ValidateEntities | ( | char * | tag, |
| char * | xml, | ||
| char ** | entities | ||
| ) | [static] |
Definition at line 1368 of file xml-tree.c.
References MagickTrue, and MagickFalse.
Referenced by ParseInternalDoctype().
| MagickExport char* XMLTreeInfoToXML | ( | XMLTreeInfo * | xml_info | ) |
Definition at line 2479 of file xml-tree.c.
References _XMLTreeInfo::ordered, _XMLTreeInfo::parent, _XMLTreeInfo::signature, MagickSignature, LogMagickEvent(), TraceEvent, GetMagickModule, AcquireString(), MaxTextExtent, _XMLTreeRoot::root, _XMLTreeRoot::processing_instructions, ResizeQuantumMemory(), FormatLocaleString(), XMLTreeTagToXML(), and _XMLTreeRoot::attributes.
| static char* XMLTreeTagToXML | ( | XMLTreeInfo * | xml_info, |
| char ** | source, | ||
| size_t * | length, | ||
| size_t * | extent, | ||
| size_t | start, | ||
| char *** | attributes | ||
| ) | [static] |
Definition at line 2373 of file xml-tree.c.
References _XMLTreeInfo::content, _XMLTreeInfo::offset, _XMLTreeInfo::parent, EncodePredefinedEntities(), MagickFalse, _XMLTreeInfo::tag, MaxTextExtent, ResizeQuantumMemory(), FormatLocaleString(), _XMLTreeInfo::attributes, GetXMLTreeAttribute(), MagickTrue, _XMLTreeInfo::child, and _XMLTreeInfo::ordered.
Referenced by XMLTreeInfoToXML().
char* sentinel[] = { (char *) NULL } [static] |
Definition at line 134 of file xml-tree.c.
Referenced by IdentifyImage(), GetCommandOptionFlags(), ParseCommandOption(), AddChildToXMLTree(), DestroyXMLTreeAttributes(), GetXMLTreeProcessingInstructions(), ParseInternalDoctype(), NewXMLTree(), NewXMLTreeTag(), and SetXMLTreeAttribute().