XML PARSE

XML PARSE uses a standard Java XML parser to separate XML text into its various
elements in a pre-parsed manner for use by Cobol processing code.

XML PARSE attempts to use either the JDK 1.4 parser or the JDK 1.3 parser (xerces).
It requires that JAXP and a SAX2 pluggable parser be present in the classpath
for execution (present in JDK 1.4 or with separate parser in JDK 1.3).

Within the context of the processing procedure, similar to that provided for
SORT/MERGE operations, special registers XML-CODE, XML-EVENT and XML-TEXT are set.
XML-TEXT and XML-EVENT are variable length registers, dependent upon their contents
for their size.  Use LENGTH OF XML-TEXT to determine the actual length of the
XML-TEXT special register.

Syntax:

	Format 1: (Variable)
	XML PARSE display-text [LENGTH integer] [OPTIONS options-text] 
		PROCESSING PROCEDURE entry-name-1 [THROUGH|THRU entry-name-2]
	ON EXCEPTION
		imperative-statement-1
	NOT ON EXCEPTION
		imperative-statement-2
	END-XML
	
	Format 2: (Resource File)
	XML PARSE RESOURCE resource-name [OPTIONS options-text] PROCESSING PROCEDURE
		PROCESSING PROCEDURE entry-name-1 [THROUGH|THRU entry-name-2]
	ON EXCEPTION
		imperative-statement-1
	NOT ON EXCEPTION
		imperative-statement-2
	END-XML

General Rules:

1.	display-text must be a variable whose contents are XML.  It is formed as if
	for display using the DISPLAY verb, so any international encoding takes effect.
2.	display-text may be delimited in size artificially below its actual size by
	using the LENGTH clause.  It may not be expanded beyond its actual size in
	the same manner.
3.	options-text is a text string of options to be given to the XML parser.  These
	are generally not required.
4.	resource-name is text containing the name of the resource file.  The resource
	file is placed in the 'resources' folder in the IDE, in the current working
	directory at runtime, or within a deployment .jar file.  If placed in 'resources',
	then it will automatically be placed within the .jar file at runtime.  The resource
	file must be an XML file.
5.	All parsing is done as if by a SAX parser, that is, in order of the XML as given
	in the file; processing is not done out of order.
6.	As XML is an evolving technology, the XML parsers may advance in the future,
	so program defensively; assume XML-EVENT may include additional events in the future.
7.	The -CHARACTER events may follow one another to build a larger character stream.
	The XML-TEXT associated with these may become very large, use the LENGTH OF XML-TEXT
	to determine the actual size of the given data.
	It may also contain whitespace including newlines.
8.	XML-CODE may be expanded in the future to include more detailed information
	and additional codes.  XML-CODE of 0 will always be success.
9.	XML PARSE is particularly suited to message handling, especially messages
	retrieved through online messaging.  The ORGANIZATION XML style of XML
	handling is particularly suited towards migrating ORGANIZATION SEQUENTIAL
	files forward into XML.

XML-EVENT contents:
	START-OF-DOCUMENT					Occurs once at start of document, XML-TEXT
										is entire document if passed from a variable,
										but not if passed from a resource file.
	END-OF-DOCUMENT						Occurs once at end of document.

	START-OF-ELEMENT					XML-TEXT is the name of the element, later
										paired with END-OF-ELEMENT.
	END-OF-ELEMENT						XML-TEXT is the name of the element, a pair
										to START-OF-ELEMENT.

	ATTRIBUTE-NAME						XML-TEXT is the name of the attribute.  The
										attribute name is given before its content,
										all of which is given after the START-OF-ELEMENT.
	ATTRIBUTE-CHARACTERS				XML-TEXT is the character content of the attribute.
	ATTRIBUTE-CHARACTER					XML-TEXT is the single character content of the 
										attribute if one of the following: &'"<>
	
	CONTENT-CHARACTERS					XML-TEXT is the character content of the element,
										the text in between elements.  Note that multiple
										instances of CONTENT-CHARACTER(S) may occur and
										they must be accumulated together by the program.
	CONTENT-CHARACTER					XML-TEXT is the character content of the element
										if one of the following: &'"<>

	PROCESSING-INSTRUCTION-TARGET		XML-TEXT is the processing instruction target
										in <?target data>.  This generally will not
										be issued for the special instruction <?xml>.
	PROCESSING-INSTRUCTION-DATA			XML-TEXT is the processing instruction data
										in <?target data>.  This generally will not
										be issued for the special instruction <?xml>.
	SKIPPED-ENTITY						Any entity skipped by the processor will
										have its name available in XML-TEXT.
	EXCEPTION							An error occurred, XML-TEXT is exception text.

XML-CODE contents:
	0		success
	1..99	warning
	100..	error
	
	If the processing procedure sets XML_CODE to a negative value, it will
	abort processing.

Options
	nons:		not namespace aware
	ns:			namespace aware
	nonsp:		no namespace prefixes
	nsp:		namespace prefixes
	noint:		no internalization of strings
	int:		internalization of strings
	noval:		no validatation
	val:		validation
	nogen:		no external general entities
	gen:		external general entities
	nopar:		no external parameter
	par:		external parameter
	nows:		no whitespace
	ws:			whitespace
	noskip:		no skipped entities
	skip:		skipped entities
	nopc:		no processing code
	pc:			processing code
	noprefix:	no prefixes
	prefix:		prefixes
	noelem:		no elements
	elem:		elements
	
	
An example of its output follows:

** begin parsing XML **
XML-EVENT: 'START-OF-DOCUMENT'
XML-TEXT : ''
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'customer-database'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '  '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'customer'
---------
XML-EVENT: 'ATTRIBUTE-NAME'
XML-TEXT : 'existing'
---------
XML-EVENT: 'ATTRIBUTE-CHARACTERS'
XML-TEXT : 'yes'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '    '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'name'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '     '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'first'
---------
XML-EVENT: 'ATTRIBUTE-NAME'
XML-TEXT : 'nickname'
---------
XML-EVENT: 'ATTRIBUTE-CHARACTERS'
XML-TEXT : 'f'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : 'Brian'
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'first'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '     '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'last'
---------
XML-EVENT: 'ATTRIBUTE-NAME'
XML-TEXT : 'origin'
---------
XML-EVENT: 'ATTRIBUTE-CHARACTERS'
XML-TEXT : 'Irish'
---------
XML-EVENT: 'ATTRIBUTE-NAME'
XML-TEXT : 'length'
---------
XML-EVENT: 'ATTRIBUTE-CHARACTERS'
XML-TEXT : '8'
---------
XML-EVENT: 'ATTRIBUTE-NAME'
XML-TEXT : 'citynamed'
---------
XML-EVENT: 'ATTRIBUTE-CHARACTERS'
XML-TEXT : 'mo'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : 'Sullivan'
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'last'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '     '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'suffix'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : 'Jr.'
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'suffix'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '    '
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'name'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '    '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'address'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '123 Elm St.'
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'address'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '    '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'city'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : 'San Jose'
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'city'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '    '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'state'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : 'CA'
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'state'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '    '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'zip'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '95136'
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'zip'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '  '
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'customer'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '  '
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '  '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'automobile'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '    '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'make'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : 'Plymouth'
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'make'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '    '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'model'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : 'Prowler'
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'model'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '    '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'year'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '1999'
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'year'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '    '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'color'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : 'Yellow'
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'color'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '  '
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'automobile'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '  '
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '  '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'customer'
---------
XML-EVENT: 'ATTRIBUTE-NAME'
XML-TEXT : 'existing'
---------
XML-EVENT: 'ATTRIBUTE-CHARACTERS'
XML-TEXT : 'no'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '    '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'name'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '     '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'last'
---------
XML-EVENT: 'ATTRIBUTE-NAME'
XML-TEXT : 'origin'
---------
XML-EVENT: 'ATTRIBUTE-CHARACTERS'
XML-TEXT : 'English'
---------
XML-EVENT: 'ATTRIBUTE-NAME'
XML-TEXT : 'length'
---------
XML-EVENT: 'ATTRIBUTE-CHARACTERS'
XML-TEXT : '10'
---------
XML-EVENT: 'ATTRIBUTE-NAME'
XML-TEXT : 'citynamed'
---------
XML-EVENT: 'ATTRIBUTE-CHARACTERS'
XML-TEXT : 'dc'
---------
XML-EVENT: 'ATTRIBUTE-NAME'
XML-TEXT : 'particle'
---------
XML-EVENT: 'ATTRIBUTE-CHARACTERS'
XML-TEXT : 'verb'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : 'Washington'
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'last'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '     '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'middle'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : 'Herman'
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'middle'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '     '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'first'
---------
XML-EVENT: 'ATTRIBUTE-NAME'
XML-TEXT : 'nickname'
---------
XML-EVENT: 'ATTRIBUTE-CHARACTERS'
XML-TEXT : 't'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : 'George'
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'first'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '    '
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'name'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '    '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'zip'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '23244'
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'zip'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '    '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'state'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : 'VA'
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'state'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '    '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'address'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '234 Federalist St.'
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'address'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '    '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'city'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : 'Georgetown'
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'city'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '  '
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'customer'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '  '
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '  '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'customer'
---------
XML-EVENT: 'ATTRIBUTE-NAME'
XML-TEXT : 'existing'
---------
XML-EVENT: 'ATTRIBUTE-CHARACTERS'
XML-TEXT : 'yes'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '    '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'name'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '     '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'first'
---------
XML-EVENT: 'ATTRIBUTE-NAME'
XML-TEXT : 'nickname'
---------
XML-EVENT: 'ATTRIBUTE-CHARACTERS'
XML-TEXT : 'Tommy'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : 'Thomas'
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'first'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '     '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'title'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : 'President'
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'title'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '     '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'last'
---------
XML-EVENT: 'ATTRIBUTE-NAME'
XML-TEXT : 'origin'
---------
XML-EVENT: 'ATTRIBUTE-CHARACTERS'
XML-TEXT : 'French'
---------
XML-EVENT: 'ATTRIBUTE-NAME'
XML-TEXT : 'length'
---------
XML-EVENT: 'ATTRIBUTE-CHARACTERS'
XML-TEXT : '9'
---------
XML-EVENT: 'ATTRIBUTE-NAME'
XML-TEXT : 'citynamed'
---------
XML-EVENT: 'ATTRIBUTE-CHARACTERS'
XML-TEXT : 'mo'
---------
XML-EVENT: 'ATTRIBUTE-NAME'
XML-TEXT : 'particle'
---------
XML-EVENT: 'ATTRIBUTE-CHARACTERS'
XML-TEXT : 'noun'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : 'Jefferson'
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'last'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '    '
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'name'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '    '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'address'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '9382 Democrat St.'
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'address'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '    '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'state'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : 'VA'
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'state'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '    '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'zip'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '45353'
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'zip'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '  '
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'customer'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '  '
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '  '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'customer'
---------
XML-EVENT: 'ATTRIBUTE-NAME'
XML-TEXT : 'existing'
---------
XML-EVENT: 'ATTRIBUTE-CHARACTERS'
XML-TEXT : 'no'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '    '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'name'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '     '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'first'
---------
XML-EVENT: 'ATTRIBUTE-NAME'
XML-TEXT : 'nickname'
---------
XML-EVENT: 'ATTRIBUTE-CHARACTERS'
XML-TEXT : 't'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : 'Alex'
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'first'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '     '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'last'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : 'White'
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'last'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '    '
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'name'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '    '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'address'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '348 Maple Ct.'
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'address'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '    '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'city'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : 'Dallas'
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'city'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '    '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'state'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : 'TX'
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'state'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '    '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'zip'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '34838'
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'zip'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '    '
---------
XML-EVENT: 'START-OF-ELEMENT'
XML-TEXT : 'country'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : 'USA'
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'country'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '  '
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'customer'
---------
XML-EVENT: 'CONTENT-CHARACTERS'
XML-TEXT : '
'
---------
XML-EVENT: 'END-OF-ELEMENT'
XML-TEXT : 'customer-database'
---------
XML-EVENT: 'END-OF-DOCUMENT'
XML-TEXT : ''
---------
XML document parsed successfully
** end parsing XML **
