Version 7.0
Copyright © 2021 Lowell D. Thomas
APG
… an ABNF Parser Generator
|
void * vpDTDData
An opaque pointer available for user's use.
pfnXmlDeclCallback pfnXmlDeclCallback
Pointer to the user's function for the XML declaration information.
void * vpVec32
A 32-bit work vector of all most parsed data, names, attributes and content.
void * vpConv
A UTF conversion component. Reused in several places.
abool bExtSubset
True if an external subset is found, False otherwise.
aint uiAttributeOffset
Parser offset to beginning of the current attribute. For error reporting.
void * vpVecEntityFrames
Vector of General Entities stack frames for walking the tree of entity replacement values.
uint32_t uiLength
The number of 32-bit data characters.
uint32_t uiChar
A working value for a single character. Gets overwritten by each Char rule.
aint uiGEDeclsTotal
The total number of General Entity declarations. This includes declarations with multiply-defined nam...
aint uiPEDecls
The number of Parameter Entity declarations found.
struct xml_tag * spXml
A copy of the XML object context pointer. Needed for quick sort and quick look up.
A stack is used to track which element is currently being parsed. This frame struct contains all of t...
This is the encapsulated data for the xml component. The component context or handle is an opaque poi...
cdata_id sAttValue
The attribute normalized value, offset and length.
void * vpEndTagData
An opaque pointer available for user's use.
cdata_id sContent
Identifies the location of the element's character data.
pfnDTDCallback pfnDTDCallback
Pointer to the user's function for the DTD information.
abool bEntityDeclaredError
True if the General Entity declaration contains a logged error.
uint_fast8_t achar
achar is the type for the parser's alphabet characters.
aint uiSavedOffset
Offset to the beginning of the declaration being processed. Used for error reporting.
cdata_id sSName
Identifies the location of the start tag name.
aint uiAttListsDeclared
The number of Attribute List declarations including empty and not processed.
Provides the offset into the general 32-bit vector and length of a name and value pair.
cdata_id sEName
Identifies the location of the end tag name.
pfnPICallback pfnPICallback
Pointer to the user's function for Processing Instruction processing.
uint_fast32_t aint
The APG parser's unsigned integer type.
void * vpLines
A lines object context pointer. Used to report the line number location of errors.
cdata_id sValue
The offset (into vpVec32) and length of the value.
abool bExpanded
True if this entity value has been expanded.
uint32_t uiOffset
The offset into vpVec32 array for the start of the data.
aint uiElementDecls
The number of element declarations.
void vXmlgrammarRuleCallbacks(void *vpParser)
aint uiElementOffset
Parser offset to beginning of this element. For error reporting.
cdata_id sElementName
The element name, offset and length.
void * vpVecCData
Temp vector of u32_phrase info for presentation to the caller.
Provides offsets and lengths in the vpVec32 array for a name and value pair.
entity_decl sCurrentEntity
Holds the current entity declaration information.
pfnEmptyTagCallback pfnEmptyTagCallback
Pointer to the user's callback function for empty tag porcessing. May be the same as the start tag ca...
void * vpParser
APG parser context pointer. Kept here for memory clean up use.
abool bGEDefEx
True if the General Entity declaration contains an external ID.
cdata_id sName
The offset (into vpVec32) and length of the name.
A structure to describe the type and location of a caught exception.
void * vpVecAttList
A vector of attribute named values.
aint uiBaseAtt
Base index in vpVecAttList for this element. Pop to uiBaseAtt at end of element.
void * vpPIData
An opaque pointer available for user's use.
void * vpVecFrame
A vector for a stack of frames. A frame is pushed for each new element encountered and popped when th...
Information about the XML declaration.
void * vpVecString
A work vector for representing ASCII-only character data as a null-terminated string.
att_decl sCurrentAttList
Holds the current attribute list information.
void * vpCommentData
An opaque pointer available for user's use.
aint uiAttCount
The number of different attribute names associated with this element name.
void * vpVecAttWork
A vector of work space for normalization of attribute balues.
void * vpMem
Handle to the memory component which keeps track of all memory allocations by this xml component.
abool bStandalone
True if standalone = "yes", false if standalone = "no".
void * vpVec8
A work vector for byte-stream data.
achar * acpChars
Pointer to input characters converted to achar, which in general is not 8-bit characters.
xmldecl_info sXmlDecl
For collecting and reporting the XML declaration info.
const void * vpValidate
Set to the context handle as a "magic number" for validating component member function calls.
aint uiPERefs
The number of Parameter Entity references found.
uint32_t uiNameOffset
This is a unique identifier for the name. Used to check for entities that refer to themselves indirec...
pfnStartTagCallback pfnStartTagCallback
Pointer to the user's callback function for start tag processing. May be the same as the empty tag ca...
abool bIsCDATA
True if the attribute typ is CDATA.
void * vpXmlDeclData
An opaque pointer available for user's use.
aint uiEntityOffset
Parser offset to beginning of the current entity reference. For error reporting.
cdata_id sName
Points to offset and length of the datum's name.
abool bGEPERef
True if the General Entity declaration contains a Parameter Entity.
aint uiTrueType
Used to record the actual data type of the XML input (UTF-8, UTF-16BE or UTF-16LE)
abool bInvalidValue
True if the attribute value is invalid.
aint uiDTDOffset
Parser offset to the beginning of the DTD. Used for error reporting.
cdata_id sValue
Points to offset and length of the datum's value.
void * vpVecChars
Vector of the XML input characters.
aint uiAttListsNotProcessed
The number of Attribute List declarations not processed because of the PE conditionals.
void * vpEmptyTagData
An opaque pointer available for user's use.
uint8_t * ucpData
Points to the data read from an input file, if any. Otherwise, NULL. Needed for vXmlDtor().
cdata_id sAttName
The attribute name, offset and length.
cdata_id sAttType
attribute type, offset and length.
uint8_t abool
abool is the APG bool type.
cdata_id sDtdName
Offset & length of the DTD name.
void * vpMsgs
During DTD parsing, this collects errors, all to be reported at the close of the DTD....
aint uiAttCount
The number of attributes found in the start tag.
pfnCommentCallback pfnCommentCallback
Pointer to the user's function for the DTD information.
pfnEndTagCallback pfnEndTagCallback
Pointer to the user's callback function for end tag processing.
void * vpVecAttDecls
The list of attribute declarations.
aint uiBase32
Base index in vpVec32 for all data for this element. Pop to uiBase32 at end of element.
void * vpFmt
Context pointer to a format object used to display printing and non-printing code points.
aint uiExternalIds
The number of external IDs found.
Identifies the element name, attribute name and default attribute value of attribute list declaration...
aint uiGEDeclsNotProcessed
The number of General Entity declarations not processed because of conditionals. Condition: Unread Pa...
void * vpVecGEDefs
Vector of named_values for the General Entities declared.
Parsed character data definition.
void * vpVecNotationDecls
Vector of Notations declared.
abool bHasData
True if the attribute declaration defines default data.
struct xml_tag * spXml
A copy of the XML object context pointer. Needed for quick sort and quick look up.
aint uiInputOffset
Offset to the first input character of the "<!ENTITY" declaration.
element_frame * spCurrentFrame
Holds a pointer to the current frame for the element being parsed.
void * vpStartTagData
An opaque pointer available for user's use.
void * vpVecName
Hold the name from the Name rule. Gets overwritten for each new Name instance.
APG Version 7.0 is licensed under the
2-Clause BSD License,
an Open Source Initiative Approved License.