# HG changeset patch
# User hgs
# Date 1277305035 -19800
# Node ID 74f0b3eb154c748bac2b30fc55a134cc6be13b81
# Parent ed3155dbd1637e05a04f181bb6eed4fd5f91ef01
201024
diff -r ed3155dbd163 -r 74f0b3eb154c extension_makefiles/test/xml_sitestfiledist.mk
--- a/extension_makefiles/test/xml_sitestfiledist.mk Mon May 03 14:14:40 2010 +0300
+++ b/extension_makefiles/test/xml_sitestfiledist.mk Wed Jun 23 20:27:15 2010 +0530
@@ -31,7 +31,7 @@
DEST_DIR = $(EPOCROOT)epoc32/data/z/system/xmltest/serviceindication
endif
-SOURCE_DIR = $(EXTENSION_ROOT)/../test/rtest/data/serviceindication
+SOURCE_DIR = $(EXTENSION_ROOT)/../data/serviceindication
# Ensure we have a clean canvas - this also avoids us having to specify
# switches to commands that are not recognised across platforms.
diff -r ed3155dbd163 -r 74f0b3eb154c extension_makefiles/test/xml_stringdictionary00tagtable.mk
--- a/extension_makefiles/test/xml_stringdictionary00tagtable.mk Mon May 03 14:14:40 2010 +0300
+++ b/extension_makefiles/test/xml_stringdictionary00tagtable.mk Wed Jun 23 20:27:15 2010 +0530
@@ -22,9 +22,9 @@
GENERATED_FILES = $(BUILD_DIR)/t_stringdictionary00tagtable.cpp
-$(BUILD_DIR)/t_stringdictionary00tagtable.cpp : $(EXTENSION_ROOT)/../test/rtest/tsrc/t_stringdictionary00tagtable.st
+$(BUILD_DIR)/t_stringdictionary00tagtable.cpp : $(EXTENSION_ROOT)/../tsrc/t_stringdictionary00tagtable.st
$(call createdir,$(BUILD_DIR))
- @perl $(EPOCROOT)epoc32/tools/ecopyfile.pl $(EXTENSION_ROOT)/../test/rtest/tsrc/t_stringdictionary00tagtable.st $(BUILD_DIR)$/t_stringdictionary00tagtable.st
+ @perl $(EPOCROOT)epoc32/tools/ecopyfile.pl $(EXTENSION_ROOT)/../tsrc/t_stringdictionary00tagtable.st $(BUILD_DIR)$/t_stringdictionary00tagtable.st
@perl $(EPOCROOT)epoc32/tools/stringtable.pl $(BUILD_DIR)/t_stringdictionary00tagtable.st
DO_NOTHING:
diff -r ed3155dbd163 -r 74f0b3eb154c extension_makefiles/test/xml_syncmltestfiledist.mk
--- a/extension_makefiles/test/xml_syncmltestfiledist.mk Mon May 03 14:14:40 2010 +0300
+++ b/extension_makefiles/test/xml_syncmltestfiledist.mk Wed Jun 23 20:27:15 2010 +0530
@@ -31,7 +31,7 @@
DEST_DIR = $(EPOCROOT)epoc32/data/z/system/xmltest/syncml
endif
-SOURCE_DIR = $(EXTENSION_ROOT)/../test/rtest/data/syncml
+SOURCE_DIR = $(EXTENSION_ROOT)/../data/syncml
# Ensure we have a clean canvas - this also avoids us having to specify
# switches to commands that are not recognised across platforms.
diff -r ed3155dbd163 -r 74f0b3eb154c extension_makefiles/test/xml_wmltestfiledist.mk
--- a/extension_makefiles/test/xml_wmltestfiledist.mk Mon May 03 14:14:40 2010 +0300
+++ b/extension_makefiles/test/xml_wmltestfiledist.mk Wed Jun 23 20:27:15 2010 +0530
@@ -31,7 +31,7 @@
DEST_DIR = $(EPOCROOT)epoc32/data/z/system/xmltest/wml
endif
-SOURCE_DIR = $(EXTENSION_ROOT)/../test/rtest/data/Wml
+SOURCE_DIR = $(EXTENSION_ROOT)/../data/Wml
# Ensure we have a clean canvas - this also avoids us having to specify
# switches to commands that are not recognised across platforms.
diff -r ed3155dbd163 -r 74f0b3eb154c group/bld.inf
--- a/group/bld.inf Mon May 03 14:14:40 2010 +0300
+++ b/group/bld.inf Wed Jun 23 20:27:15 2010 +0530
@@ -14,11 +14,23 @@
* Description: Build information file for xmlsrv package
*
*/
-
+PRJ_PLATFORMS
+DEFAULT
#include "../inc/xmlsrv.hrh"
#include "../xmlsrv_plat/group/bld.inf"
+
+#include "../extension_makefiles/group/bld.inf"
+#include "../xml/cxmllibrary/group/bld.inf"
+#include "../xml/xmlparser/group/bld.inf"
+#include "../xml/legacyminidomparser/GROUP/bld.inf"
+#include "../xml/xmlfw/GROUP/bld.inf"
+#include "../xml/libxml2libs/group/bld.inf"
+#include "../xml/xmldomandxpath/GROUP/bld.inf"
+#include "../xml/wbxmlparser/group/bld.inf"
+#include "../xml/xmllibxml2parser/group/bld.inf"
+#include "../xml/xmlexpatparser/group/bld.inf"
+
#include "../xmlsecurityengine/group/bld.inf"
-#include "../extension_makefiles/group/bld.inf"
diff -r ed3155dbd163 -r 74f0b3eb154c group/xml.pkg
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/group/xml.pkg Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,118 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description:
+;
+;
+; Installation file for STIF
+;
+
+; Languages
+&EN
+
+; Provide value for uid
+#{"XmlTest"},(0x00000000),1,0,0,TYPE=SA
+
+; Series60 product id for S60 3.0
+[0x101F7961], 0, 0, 0, {"Series60ProductID"}
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+; Logo
+; None
+
+; Package signature - Optional
+; None
+
+; Start of Package body
+
+; Condition blocks
+; None
+
+; Options list
+; None
+
+; Install files
+;Test exes
+"\epoc32\release\armv5\urel\t_gmxmlparser.exe" - "c:\Sys\Bin\t_gmxmlparser.exe"
+"\epoc32\release\armv5\urel\t_gmxmlfailure.exe" - "c:\Sys\Bin\t_gmxmlfailure.exe"
+"\epoc32\release\armv5\urel\t_smiltranslatortest.exe" - "c:\Sys\Bin\t_smiltranslatortest.exe"
+"\epoc32\release\armv5\urel\te_XML_FTmgrSuite.exe" - "c:\Sys\Bin\te_XML_FTmgrSuite.exe"
+"\epoc32\release\armv5\urel\def130695_Suite.exe" - "c:\Sys\Bin\def130695_Suite.exe"
+"\epoc32\release\armv5\urel\texml2.exe" - "c:\Sys\Bin\texml2.exe"
+"\epoc32\release\armv5\urel\t_wbxmlsyncmlparserstabilitytests.exe" - "c:\Sys\Bin\t_wbxmlsyncmlparserstabilitytests.exe"
+"\epoc32\release\armv5\urel\t_wbxmlwmlparserstabilitytests.exe" - "c:\Sys\Bin\t_wbxmlwmlparserstabilitytests.exe"
+"\epoc32\release\armv5\urel\t_wbxmlsiparserstabilitytests.exe" - "c:\Sys\Bin\t_wbxmlsiparserstabilitytests.exe"
+"\epoc32\release\armv5\urel\t_wbxmloomsyncmlparserstabilitytests.exe" - "c:\Sys\Bin\t_wbxmloomsyncmlparserstabilitytests.exe"
+"\epoc32\release\armv5\urel\t_wbxmloomwmlparserstabilitytests.exe" - "c:\Sys\Bin\t_wbxmloomwmlparserstabilitytests.exe"
+"\epoc32\release\armv5\urel\t_wbxmloomsiparserstabilitytests.exe" - "c:\Sys\Bin\t_wbxmloomsiparserstabilitytests.exe"
+"\epoc32\release\armv5\urel\t_wbxmlparsertests.exe" - "c:\Sys\Bin\t_wbxmlparsertests.exe"
+"\epoc32\release\armv5\urel\t_wbxmloomparsertests.exe" - "c:\Sys\Bin\t_wbxmloomparsertests.exe"
+"\epoc32\release\armv5\urel\t_wbxmlcorruptparsertests.exe" - "c:\Sys\Bin\t_wbxmlcorruptparsertests.exe"
+"\epoc32\release\armv5\urel\t_wbxmlunknownparsertests.exe" - "c:\Sys\Bin\t_wbxmlunknownparsertests.exe"
+"\epoc32\release\armv5\urel\t_wbxmlbehaviourparsertests.exe" - "c:\Sys\Bin\t_wbxmlbehaviourparsertests.exe"
+"\epoc32\release\armv5\urel\t_wbxmlparserucs4testspartone.exe" - "c:\Sys\Bin\t_wbxmlparserucs4testspartone.exe"
+"\epoc32\release\armv5\urel\t_wbxmldefects.exe" - "c:\Sys\Bin\t_wbxmldefects.exe"
+"\epoc32\release\armv5\urel\xmlengdom_tef.exe" - "c:\Sys\Bin\xmlengdom_tef.exe"
+"\epoc32\release\armv5\urel\xmlengdomnodeset_tef.exe" - "c:\Sys\Bin\xmlengdomnodeset_tef.exe"
+"\epoc32\release\armv5\urel\xmlengdomutils_tef.exe" - "c:\Sys\Bin\xmlengdomutils_tef.exe"
+"\epoc32\release\armv5\urel\xmlengxpathutils_tef.exe" - "c:\Sys\Bin\xmlengxpathutils_tef.exe"
+"\epoc32\release\armv5\urel\t_xmlparser.exe" - "c:\Sys\Bin\t_xmlparser.exe"
+"\epoc32\release\armv5\urel\t_xmlparserheap.exe" - "c:\Sys\Bin\t_xmlparserheap.exe"
+"\epoc32\release\armv5\urel\t_xmldefect.exe" - "c:\Sys\Bin\t_xmldefect.exe"
+"\epoc32\release\armv5\urel\tc_xmlcustomresolvercomptests.exe" - "c:\Sys\Bin\tc_xmlcustomresolvercomptests.exe"
+"\epoc32\release\armv5\urel\t_xmlcore.exe" - "c:\Sys\Bin\t_xmlcore.exe"
+"\epoc32\release\armv5\urel\t_xmlmisc.exe" - "c:\Sys\Bin\t_xmlmisc.exe"
+"\epoc32\release\armv5\urel\tp_xmlframeworkperftests.exe" - "c:\Sys\Bin\tp_xmlframeworkperftests.exe"
+"\epoc32\release\armv5\urel\tu_xmlcmatchdataunittests.exe" - "c:\Sys\Bin\tu_xmlcmatchdataunittests.exe"
+"\epoc32\release\armv5\urel\t_xmlprocessfilemancopyfile.exe" - "c:\Sys\Bin\t_xmlprocessfilemancopyfile.exe"
+"\epoc32\release\armv5\urel\t_parserucs4test.exe" - "c:\Sys\Bin\t_parserucs4test.exe"
+"\epoc32\release\armv5\urel\texmlparser2.exe" - "c:\Sys\Bin\texmlparser2.exe"
+
+; Test DLL's
+"\epoc32\release\armv5\urel\xmlengtester.dll" - "c:\Sys\Bin\xmlengtester.dll"
+
+;ECOM PLUGINS
+"\epoc32\release\armv5\urel\t_testxmlparserplugin1.dll" - "c:\Sys\Bin\t_testxmlparserplugin1.dll"
+"\epoc32\data\Z\Resource\Plugins\t_testxmlparserplugin1.RSC" - "c:\Resource\Plugins\t_testxmlparserplugin1.RSC"
+"\epoc32\release\armv5\urel\t_testxmlparserplugin2.dll" - "c:\Sys\Bin\t_testxmlparserplugin2.dll"
+"\epoc32\data\Z\Resource\Plugins\t_testxmlparserplugin2.RSC" - "c:\Resource\Plugins\t_testxmlparserplugin2.RSC"
+"\epoc32\release\armv5\urel\tu_xmlramparserplugins.dll" - "c:\Sys\Bin\tu_xmlramparserplugins.dll"
+"\epoc32\data\Z\Resource\Plugins\tu_xmlramparserplugins.RSC" - "c:\Resource\Plugins\tu_xmlramparserplugins.RSC"
+"\epoc32\release\armv5\urel\t_validator.dll" - "c:\Sys\Bin\t_validator.dll"
+"\epoc32\data\Z\Resource\Plugins\t_validator.RSC" - "c:\Resource\Plugins\t_validator.RSC"
+"\epoc32\release\armv5\urel\t_parser.dll" - "c:\Sys\Bin\t_parser.dll"
+"\epoc32\data\Z\Resource\Plugins\t_parser.RSC" - "c:\Resource\Plugins\t_parser.RSC"
+"\epoc32\release\armv5\urel\t_stringdictionary00.dll" - "c:\Sys\Bin\t_stringdictionary00.dll"
+"\epoc32\data\Z\Resource\Plugins\t_stringdictionary00.RSC" - "c:\Resource\Plugins\t_stringdictionary00.RSC"
+"\epoc32\release\armv5\urel\tu_xmlromparserplugins.dll" - "c:\Sys\Bin\tu_xmlromparserplugins.dll"
+"\epoc32\data\Z\Resource\Plugins\tu_xmlromparserplugins.RSC" - "c:\Resource\Plugins\tu_xmlromparserplugins.RSC"
+"\epoc32\release\armv5\urel\tetestcontentprocessor.dll" - "c:\Sys\Bin\tetestcontentprocessor.dll"
+"\epoc32\data\Z\Resource\Plugins\tetestcontentprocessor.RSC" - "c:\Resource\Plugins\tetestcontentprocessor.RSC"
+"\epoc32\release\armv5\urel\wml1_1stringdictionary255.dll" - "c:\Sys\Bin\wml1_1stringdictionary255.dll"
+"\epoc32\data\Z\Resource\Plugins\wml1_1stringdictionary255.RSC" - "c:\Resource\Plugins\wml1_1stringdictionary255.RSC"
+
+;Scripts
+"\epoc32\data\z\tef_xml2\xmlparser2tefsuite.script" - "c:\tef_xml2\xmlparser2tefsuite.script"
+"\epoc32\data\z\xmlengdom_tef\xmlengxpathutilstestsuite.script" - "c:\xmlengdom_tef\xmlengxpathutilstestsuite.script"
+"\epoc32\data\z\xmlengdom_tef\xmlengdomutiltefsuite.script" - "c:\xmlengdom_tef\xmlengdomutiltefsuite.script"
+"\epoc32\data\z\xmlengdom_tef\xmlengdomnodetesttefsuite.script" - "c:\xmlengdom_tef\xmlengdomnodetesttefsuite.script"
+"\epoc32\data\z\xmlengdom_tef\xmlengdomtefsuite.script" - "c:\xmlengdom_tef\xmlengdomtefsuite.script"
+"\epoc32\data\z\tef_xml2\xml2tefsuite.script" - "c:\tef_xml2\xml2tefsuite.script"
+"\epoc32\data\z\xml\scripts\xmlengutilssmoketest.script" - "c:\xml\scripts\xmlengutilssmoketest.script"
+"\epoc32\data\z\testdata\scripts\def130695_Suite.script" - "c:\testdata\scripts\def130695_Suite.script"
+"\epoc32\data\z\testdata\scripts\te_xml_ftmgrsuite.script" - "c:\testdata\scripts\te_xml_ftmgrsuite.script"
\ No newline at end of file
diff -r ed3155dbd163 -r 74f0b3eb154c layers.sysdef.xml
--- a/layers.sysdef.xml Mon May 03 14:14:40 2010 +0300
+++ b/layers.sysdef.xml Wed Jun 23 20:27:15 2010 +0530
@@ -10,5 +10,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
\ No newline at end of file
+
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/dictionary/channel_1.1.dict
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/dictionary/channel_1.1.dict Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,45 @@
+#
+# Dictionary for the WTA "Channel" content type;
+#
+# Specification version = 1.2
+#
+######################################################
+#
+# dictionary name
+#
+channel
+#
+# Public id for WML 1.2
+#
+8
+#
+# Doc type for WML 1.2
+#
+-//WAPFORUM//DTD CHANNEL 1.1//EN
+#
+# Tag table - all are in code page 0
+#
+TAGS_FOR_CODE_PAGE 0
+0x05 channel
+0x06 title
+0x07 abstract
+0x08 resource
+#
+# Attribute table - all are in code page 0
+#
+ATTRIBUTES_FOR_CODE_PAGE 0
+0x05 maxspace
+0x06 base
+0x07 href
+0x08 href=http://
+0x09 href=https://
+0x0A lastmod
+0x0B etag
+0x0C md5
+0x0D success
+0x0E success=http://
+0x0F success=https://
+0x10 failure
+0x11 failure=http://
+0x12 failure=https://
+0x13 EventId
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/dictionary/dict_creator.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/dictionary/dict_creator.c Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,1051 @@
+/*
+* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* Author: Frank Richichi
+* Created: Thu Apr 25 10:34:06 2002
+* Modified: Thu Apr 25 11:12:35 2002 (Frank Richichi) richichi@D5250215
+* Language: C
+* Subsystem: N/A
+* RCS: $Id$
+*
+*/
+
+
+/* ****************************************************************
+** Copyright 2000 - Nokia Corporation All rights reserved.
+** Nokia Americas
+** 6000 Connection Drive
+** Irving, Texas 75039
+**
+** Restricted Rights: Use, duplication, or disclosure by the
+** U.S. Government is subject to restrictions as set forth in
+** subparagraph (c)(1)(ii) of DFARS 252.227-7013, or in FAR
+** 52.227-19, or in FAR 52.227-14 Alt. III, as applicable.
+**
+** This software is proprietary to and embodies the confidential
+** technology of Nokia Possession, use, or copying of this software
+** and media is authorized only pursuant to a valid written license
+** from Nokia or an authorized sublicensor.
+**
+** Nokia - Wireless Software Solutions
+*****************************************************************/
+
+#include
+#include
+#include
+#include
+#include
+#include
+
+
+/* ----------------------------------------------------------------------- **
+ The following strings are used to identify the beginning of a tag or
+ attribute list in the input file.
+** ----------------------------------------------------------------------- **/
+
+#define TAG_TABLE_HEADING "TAGS_FOR_CODE_PAGE"
+#define ATTR_TABLE_HEADING "ATTRIBUTES_FOR_CODE_PAGE"
+#define NO_STRINGS "NO_STRINGS"
+
+/* ----------------------------------------------------------------------- **
+ Types for various tables.
+** ----------------------------------------------------------------------- **/
+#define NAME_TABLE_T "NW_Byte"
+#define TOKEN_TABLE_T "NW_WBXML_DictEntry_t"
+#define CODEPAGE_TABLE_T "NW_WBXML_Codepage_t"
+#define DICTIONARY_TABLE_T "NW_WBXML_Dictionary_t"
+#define NAMES_T "NW_String_UCS2Buff_t"
+#define ELEMENT_T "NW_%s_Element"
+#define ATTRIBUTE_T "NW_%s_Attribute"
+#define ELEMENT_TOKEN_T "NW_%s_ElementToken"
+#define ATTRIBUTE_TOKEN_T "NW_%s_AttributeToken"
+
+/* ----------------------------------------------------------------------- **
+ Misc array limits
+** ----------------------------------------------------------------------- **/
+#define TABLE_SIZE 255
+#define MAX_LINE 255
+#define MAX_NAME 255
+#define MAX_TOKEN 4
+#define MAX_DICT_NAME 255
+#define MAX_PUBLIC_ID 255
+#define MAX_DOC_TYPE 255
+#define MAX_START_NAME 255
+#define MAX_TYPE_NAME 255
+
+/* ----------------------------------------------------------------------- **
+ Names used in the generated tables
+** ----------------------------------------------------------------------- **/
+#define TAG_NAME "tag"
+#define ATTR_NAME "attribute"
+
+
+/* ----------------------------------------------------------------------- **
+ Define a type for codepage storage
+** ----------------------------------------------------------------------- **/
+typedef struct codepage_s {
+ int num; /* the code page number */
+ int size; /* the number of entries in table */
+} codepage_t;
+
+
+/* ----------------------------------------------------------------------- **
+ Header information
+** ----------------------------------------------------------------------- **/
+char dict_name[MAX_DICT_NAME];
+char doc_type[MAX_DOC_TYPE];
+char public_id[10];
+
+/* ----------------------------------------------------------------------- **
+ Scratch tables
+** ----------------------------------------------------------------------- **/
+char * tokens[TABLE_SIZE];
+char * names[TABLE_SIZE];
+int sorted_indexes[TABLE_SIZE];
+codepage_t tag_codepages[TABLE_SIZE];
+codepage_t attr_codepages[TABLE_SIZE];
+
+
+/* ----------------------------------------------------------------------- **
+ Records time of program execution and command line arguments
+** ----------------------------------------------------------------------- **/
+static time_t timestamp;
+static int main_argc = 1;
+static char** main_argv;
+
+/* ----------------------------------------------------------------------- **
+ Globals so error clean up is easy
+** ----------------------------------------------------------------------- **/
+static FILE* input_dict;
+static FILE* output_c;
+static FILE* output_h;
+
+static void exit_error(int exit_code) {
+ static char errmsg[]
+ = "#error \"Bad input dictionary data cannot complete code generation\"\n";
+ if (input_dict) fclose(input_dict);
+ if (output_c) {
+ fprintf(output_c, errmsg);
+ fclose(output_c);
+ }
+ if (output_h) {
+ fprintf(output_h, errmsg);
+ fclose(output_h);
+ }
+ exit(exit_code);
+}
+
+void print_usage(char* progname)
+{
+ fprintf(stderr,
+ "Dictionary creator - creates a .c and .h source file for a\n"
+ "NW_Wbxml_Dictionary_t structure from a dictionary data file.\n"
+ "\n"
+ "Usage: %s data_input_file dot_c_output_file dot_h_output_file\n"
+ "\n"
+ " - all args are required\n"
+ "\n"
+ "Comments are defined to be:\n"
+ "\n"
+ " - A line whose first non-whitespace char is '#'\n"
+ " - A blank line or line with only whitespace\n"
+ " Note: Comments are NOT permitted at the end of other lines.\n"
+ "\n"
+ "Input format:\n"
+ "\n"
+ " - Dictionary name = the first non-comment line. The dictionary\n"
+ " that will be created will use this string in the dictionary \n"
+ " name. For example, if the dictionary name is \"wml\", the\n"
+ " following dictionary will be created:\n"
+ "\n"
+ " NW_Wbxml_Dictionary_t NW_wml_dictionary = { ... }\n"
+ "\n"
+ " - Public id = the second non-comment line. This is the Public \n"
+ " Identifier as specified in section 7.2 of the WBML spec. If\n"
+ " a public id has not been defined, use \"1\".\n"
+ "\n"
+ " - Doc Type = the third non-comment line. This is the source\n"
+ " document's Document Type Declaration.\n"
+ "\n"
+ " - The beginning of a Tag table has the following syntax:\n"
+ "\n"
+ " TAGS_FOR_CODE_PAGE [NO_STRINGS]\n"
+ "\n"
+ " is required and is a base 10 number\n"
+ "\n"
+ " [NO_STRINGS] is an optional keyword which means output only\n"
+ " the token structures, treat all token names as empty strings\n"
+ "\n"
+ " - The beginning of an Attribute table has the following syntax:\n"
+ "\n"
+ " ATTRIBUTES_FOR_CODE_PAGE [NO_STRINGS]\n"
+ " \n"
+ " is required and is a base 10 number\n"
+ "\n"
+ " [NO_STRINGS] is an optional keyword which means output only\n"
+ " the token structures, treat all token names as empty strings\n"
+ "\n"
+ " - The syntax for an entry is the same for both Tag and Attribute \n"
+ " tables\n"
+ "\n"
+ " \n"
+ "\n"
+ " must be a hexadecimal number written as 0x?? (e.g., 0x07)\n"
+ " NOTE: Tokens are sorted as strings so 0x7 MUST be entered as 0x07\n"
+ " or the sorting won't work! It is ok to mix case as all hex\n"
+ " digits are converted to lower case before the sort.\n"
+ "\n"
+ " is any sequence of printable characters without whitespace\n"
+ "\n"
+ " - The input tables do NOT have to be sorted \n"
+ "\n"
+ " - If a language has \"Attribute Value Tokens\", they should be included\n"
+ " in the Attribute table\n"
+ "\n"
+ "Example input file (example.dict):\n"
+ "\n"
+ " #\n"
+ " # Sample dictionary for the WML language\n"
+ " #\n"
+ " wml\n"
+ " #\n"
+ " # WML version 1.2 has a public id of 9\n"
+ " #\n"
+ " 9\n"
+ " #\n"
+ " # WML 1.2 doc type\n"
+ " #\n"
+ " -//WAPFORUM//DTD WML 1.1//EN\n"
+ " #\n"
+ " # Tags\n"
+ " #\n"
+ " TAGS_FOR_CODE_PAGE 0\n"
+ " 0x2b go\n"
+ " 0x1d td\n"
+ " #\n"
+ " # Attributes\n"
+ " #\n"
+ " ATTRIBUTES_FOR_CODE_PAGE 0\n"
+ " 0x12 format\n"
+ " 0xA0 wrap\n"
+ " 0x23 newcontext=true\n"
+ " 0x8F http://www.\n"
+ "\n"
+ "Example run command:\n"
+ "\n"
+ " %s example.dict example.c example.h\n",
+ progname, progname);
+}
+
+static void print_automaticallyGeneratedCodeWarning(FILE *f)
+{
+ int i;
+ static char automaticallyGeneratedCodeWarning[] =
+ "/*\n"
+ "** WARNING\n"
+ "**\n"
+ "** DO NOT EDIT - THIS CODE IS AUTOMATICALLY GENERATED\n"
+ "** FROM A DATA FILE BY THE DICTIONARY CREATION PROGRAM";
+
+ fprintf(f, "%s\n", automaticallyGeneratedCodeWarning);
+ fprintf(f,
+ "**\n"
+ "** This file generated on %s"
+ "** (coordinated universal time)\n"
+ "**\n"
+ "** Command line: ",
+ asctime(gmtime(×tamp))); /* asctime() generates a newline at the end */
+ fprintf(f, "%s", main_argv[0]);
+ for (i = 1; i < main_argc; i++) {
+ fprintf(f, " %s", main_argv[i]);
+ }
+ fprintf(f, "\n*/");
+}
+
+static void print_copyright(FILE *f)
+{
+ struct tm* tm_time;
+ static const char copyright[] =
+ "/* ****************************************************************\n"
+ "** Copyright %d - Nokia Corporation All rights reserved.\n"
+ "** Nokia Americas\n"
+ "** 6000 Connection Drive\n"
+ "** Irving, Texas 75039\n"
+ "**\n"
+ "** Restricted Rights: Use, duplication, or disclosure by the\n"
+ "** U.S. Government is subject to restrictions as set forth in\n"
+ "** subparagraph (c)(1)(ii) of DFARS 252.227-7013, or in FAR\n"
+ "** 52.227-19, or in FAR 52.227-14 Alt. III, as applicable.\n"
+ "**\n"
+ "** This software is proprietary to and embodies the confidential\n"
+ "** technology of Nokia Possession, use, or copying of this software\n"
+ "** and media is authorized only pursuant to a valid written license\n"
+ "** from Nokia or an authorized sublicensor.\n"
+ "**\n"
+ "** Nokia - Wireless Software Solutions\n"
+ "*****************************************************************/";
+
+ tm_time = gmtime(×tamp);
+ fprintf(f, copyright,
+ tm_time->tm_year + 1900);
+}
+
+static FILE * open_file(char* fn, char *perms){
+ FILE* f;
+
+ if ((fn == 0)||((f = fopen(fn, perms)) == 0)){
+ return 0;
+ }else{
+ return f;
+ }
+
+}
+
+static init() {
+ int i;
+
+ for (i=0; i < TABLE_SIZE; i++) {
+ tag_codepages[i].num = -1;
+ attr_codepages[i].num = -1;
+ }
+}
+
+
+/* ----------------------------------------------------------------------- **
+ Read the next line of input and store it in s.
+
+ NOTE: s will have the new-line character stripped
+
+ RETURN: 1 for success and 0 for EOF or failure
+** ----------------------------------------------------------------------- **/
+static int get_line(FILE *f, char s[], int n){
+ int i = 0, j, indx, len;
+ char line[MAX_LINE];
+
+ for(;;) {
+ if ((fgets(line, n, f)) == 0) {
+ /* Either EOF or an error occurred */
+ return 0;
+ }
+ len = (int) strlen(line);
+ /* Skip any preceeding whitespace */
+ for (i=0; i < len; i++) {
+ if (isspace(line[i]))
+ continue;
+ break;
+ }
+ if (i >= len || line[i] == '#')
+ continue;
+ break;
+ }
+
+ /* Fill in s */
+ for (j=i, indx = 0; j < (int) strlen(line); i++, j++, indx++) {
+ if (line[j] == '\n') {
+ break;
+ }
+ if (line[j] == '\t') {
+ /* convert tab to space for isprint() test */
+ line[j] = ' ';
+ }
+ if (!isprint(line[j])) {
+ /* stops on bogus char */
+ fprintf(stderr,
+ "ERROR: Illegal character (may be control char) in input text "
+ "near file byte offset %ld\n",
+ ftell(f));
+ exit_error(1);
+ }
+ s[indx] = line[j];
+ if (indx + 1 == MAX_LINE) break;
+ }
+
+ if (indx > 0)
+ s[indx] = '\000';
+
+ return 1;
+}
+
+
+/* ----------------------------------------------------------------------- **
+ Read the a line of input and break it into three items:
+ For table header
+ 1. Table type name
+ 2. Code page number
+ 3. Optional "NO_STRINGS"
+ For table entry
+ 1. 0x?? token value
+ 2. token string (optional, extends from first nonspace to eol)
+ 3. null
+
+ RETURN: 1 for success and 0 for EOF or failure
+ ** ----------------------------------------------------------------------- **/
+static int get_tuple(FILE *f, char item1[], char item2[], char item3[])
+{
+ char line[MAX_LINE];
+ int i;
+ int j;
+ int len;
+
+ if ((get_line(f, line, MAX_LINE)) != 1) {
+ return 0;
+ }
+
+ len = (int)strlen(line);
+
+ /* tablename or token hex value */
+ j = 0;
+ for (i = 0; i < len; i++) {
+ if (isspace(line[i])) break;
+ if (item1[0] == '0' && j == MAX_TOKEN) {
+ /* have to check for leading '0' because this func is called to process
+ TAG_TABLE_HEADING lines too where length could be longer than MAX_TOKEN */
+ fprintf(stderr, "ERROR: token value too long near input file byte offset %ld\n",
+ ftell(f));
+ exit_error(1);
+ break;
+ }
+ item1[j++] = line[i];
+ }
+ item1[j] = '\0';
+
+ /* whitespace */
+ for (; i < len; i++) {
+ if (!isspace(line[i])) break;
+ }
+
+ /* codepage or token string */
+ j = 0;
+ for (/* continue with i */; i < len; i++) {
+ if (item1[0] != '0' && isspace(line[i])) break;
+ if (j == MAX_NAME) {
+ fprintf(stderr, "ERROR: token string too long near input file byte offset %ld\n",
+ ftell(f));
+ exit_error(1);
+ break;
+ }
+ item2[j++] = line[i];
+ }
+ item2[j] = '\0';
+
+ /* whitespace */
+ for (; i < len; i++) {
+ if (!isspace(line[i])) break;
+ }
+
+ /* nostrings or nothing */
+ j = 0;
+ for (/* continue with i */; i < len; i++) {
+ item3[j++] = line[i];
+ }
+ item3[j] = '\0';
+
+ return 1;
+}
+
+static void process_header(FILE *f)
+{
+ if ((get_line(f, dict_name, MAX_DICT_NAME)) != 1) {
+ fprintf(stderr, "ERROR: reading dictionary name\n");
+ exit_error(1);
+ }
+
+ if ((get_line(f, public_id, MAX_PUBLIC_ID)) != 1) {
+ fprintf(stderr, "ERROR: reading public id\n");
+ exit_error(1);
+ }
+
+ if ((get_line(f, doc_type, MAX_DOC_TYPE)) != 1) {
+ fprintf(stderr, "ERROR: reading doc type\n");
+ exit_error(1);
+ }
+}
+
+static void print_file_header(FILE *output, FILE *outputHeader)
+{
+ fprintf(output, "/*\n");
+ fprintf(output, " * Dictionary = %s\n", dict_name);
+ fprintf(output, " * Public id = %s\n", public_id);
+ fprintf(output, " * Doc Type = %s\n", doc_type);
+ fprintf(output, " */\n");
+ fprintf(output, "\n");
+
+ fprintf(output, "#include \"%s\"\n", main_argv[3]);
+ fprintf(output, "#include \"xml\/cxml\/nw_wbxml_dictionary.h\"\n");
+
+ fprintf(output, "\n");
+
+ /* Including the typedef for public id */
+ fprintf(outputHeader, "#define NW_%s_PublicId %s\n", dict_name, public_id);
+}
+
+static void print_table_header(FILE *output, char * table_type, char *type, char *key, char *code_page, int n)
+{
+ print_automaticallyGeneratedCodeWarning(output);
+ fprintf(output, "\n\n");
+ fprintf(output, "/*\n");
+ fprintf(output, " * %s entries - sorted by %s\n", type, key);
+ fprintf(output, " */\n");
+ fprintf(output, "static const\n");
+ fprintf(output, "%s NW_%s_%s_%s_%s[%d] = {\n", table_type, dict_name, type, key, code_page, n);
+}
+
+static void process_entry(int i, char *token, char *name)
+{
+ tokens[i] = strdup(token);
+ names[i] = strdup(name);
+ sorted_indexes[i] = i;
+}
+
+
+/* ----------------------------------------------------------------------- **
+ Print the table of tokens and names - sorted by token
+ Also create a list of the items, sorted by name
+ ** ----------------------------------------------------------------------- **/
+static void print_token_table(FILE *output, FILE* outputHeader,
+ char *type, char *key, char *code_page, int n,
+ int use_strings)
+{
+ static char tagTypeString[MAX_TYPE_NAME];
+ static char tokenTypeString[MAX_TYPE_NAME];
+
+ /* Must first sort by token */
+ int i, j;
+ char *tmp_token;
+ char *tmp_name;
+ char *tagType = &tagTypeString[0];
+
+ if (strcmp("tag", type) == 0)
+ {
+ (void)sprintf(tagTypeString, ELEMENT_T, dict_name);
+ (void)sprintf(tokenTypeString, ELEMENT_TOKEN_T, dict_name);
+ }
+ else if (strcmp("attribute", type) == 0)
+ {
+ (void)sprintf(tagTypeString, ATTRIBUTE_T, dict_name);
+ (void)sprintf(tokenTypeString, ATTRIBUTE_TOKEN_T, dict_name);
+ }
+ else {
+ fprintf(stderr, "ERROR: internal error\n");
+ exit_error(1);
+ }
+
+ /* make all the tokens lower case */
+ for (i=0; i < n; i++) {
+ int l = (int)strlen(tokens[i]);
+ if (l != 4) {
+ fprintf(stderr,
+ "ERROR: Badly formatted token %s\n"
+ "All token values must be in the form 0x?? (e.g., 0x07) "
+ "or the sorting algorithm won't work.\n"
+ , tokens[i]);
+ exit_error(1);
+ }
+ for (j=0; j < l; j++) {
+ if (isupper(tokens[i][j])) {
+ tokens[i][j] = (char)tolower(tokens[i][j]);
+ }
+ if ((tokens[i][j] != 'x') && isalpha(tokens[i][j])) {
+ if ((tokens[i][j] < 'a') || (tokens[i][j] > 'f')) {
+ fprintf(stderr,
+ "ERROR: Illegal hex digit in token %s\n"
+ , tokens[i]);
+ exit_error(1);
+ }
+ }
+ }
+ }
+
+ for (i=0; i < n-1; i++) {
+ for (j=0; j < n-1; j++) {
+ /*
+ * Sort by token
+ */
+ if ((strcmp(tokens[j], tokens[j+1])) > 0) {
+ /* Swap the two elements */
+ tmp_token = tokens[j];
+ tmp_name = names[j];
+ tokens[j] = tokens[j+1];
+ names[j] = names[j+1];
+ tokens[j+1] = tmp_token;
+ names[j+1] = tmp_name;
+ }
+ }
+ }
+
+ /*
+ * print variables
+ */
+ fprintf(output, "\n");
+ for (i=0; i < n; i++) {
+ char tempName[MAX_NAME+1];
+ int l;
+ if (isdigit(names[i][0])) {
+ tempName[0] = '_';
+ strcpy(tempName+1, names[i]);
+ } else {
+ strcpy(tempName, names[i]);
+ }
+ l = (int)strlen(tempName);
+ for (j = 0; j < l; j++) {
+ if (isdigit(tempName[j])
+ || isalpha(tempName[j])
+ || (tempName[j] == '_')) {
+ continue;
+ }
+ tempName[j] = '_';
+ }
+ if (use_strings) {
+ fprintf(output,
+ "static const NW_Ucs2 %sTag_%s[] = {"
+ , tagType, tempName);
+ for (j=0; j < (int) strlen(names[i]); j++) {
+ if (names[i][j] == '\\') {
+ fprintf(output, "\'\\\\\',");
+ } else {
+ fprintf(output, "\'%c\',", names[i][j]);
+ }
+ }
+ fprintf(output, "\'\\0\'};\n");
+ }
+ }
+ if (!use_strings) {
+ fprintf(output,
+ "static const NW_Ucs2 %sTag_emptyString_%s[] = { \'\\0\' };\n"
+ , tagType, code_page);
+ }
+ fprintf(output, "\n");
+
+ print_table_header(output, TOKEN_TABLE_T, type, key, code_page, n);
+ if (use_strings) {
+ fprintf(outputHeader,
+ "\ntypedef enum %sToken_%s_e{\n",
+ tagType, code_page);
+ }
+ /*
+ * Print the table
+ */
+ for (i=0; i < n; i++) {
+ char tempName[MAX_NAME+1] ;
+ char tempToken[6] ;
+ char *token;
+ int l;
+ if (isdigit(names[i][0])) {
+ tempName[0] = '_';
+ strcpy(tempName+1, names[i]);
+ } else {
+ strcpy(tempName, names[i]);
+ }
+ l = (int)strlen(tempName);
+ for (j = 0; j < l; j++) {
+ if (isdigit(tempName[j])
+ || isalpha(tempName[j])
+ || (tempName[j] == '_')) {
+ continue;
+ }
+ tempName[j] = '_';
+ }
+ strcpy(tempToken, tokens[i]);
+ token = strchr(tempToken, 'x');
+ token++;
+ if (use_strings) {
+ fprintf(output, "\t{%s, (%s *) %sTag_%s", tokens[i], NAMES_T, tagType, tempName);
+ fprintf(outputHeader, "\t%s_%s = 0x0%s%s", tokenTypeString, tempName, code_page, token);
+ } else {
+ fprintf(output, "\t{%s, &%sTag_emptyString_%s", tokens[i], tagType, code_page);
+ }
+
+ if (i == (n-1))
+ {
+ fprintf(output, "}\n");
+ if (use_strings) {
+ fprintf(outputHeader, "\n");
+ }
+ }
+ else
+ {
+ fprintf(output, "},\n");
+ if (use_strings) {
+ fprintf(outputHeader, ",\n");
+ }
+ }
+ }
+ fprintf(output, "};\n\n");
+ if (use_strings) {
+ fprintf(outputHeader, "}%sToken_%s_t;\n\n", tagType, code_page);
+ }
+
+ if (use_strings) {
+ /*
+ * Create an array of the names sorted by index
+ */
+ for (i=0; i < n-1; i++) {
+ for (j=0; j < n-1; j++) {
+ /*
+ * Since we will need an array of the names sorted by index,
+ * generate that arrary now.
+ */
+ if ((strcmp(names[j], names[j+1])) > 0) {
+ /* Swap the two names */
+ int tmp_token;
+ tmp_name = names[j];
+ tmp_token = sorted_indexes[j];
+ names[j] = names[j+1];
+ names[j+1] = tmp_name;
+ sorted_indexes[j] = sorted_indexes[j+1];
+ sorted_indexes[j+1] = tmp_token;
+ }
+ }
+ }
+ }
+}
+
+static void cache_codepage(codepage_t table[], char *cp_num, int n)
+{
+ int num = atoi(cp_num);
+
+ if (num >= TABLE_SIZE) {
+ fprintf(stderr, "ERROR: Codepage '%d' is too large!\n", num);
+ exit(1);
+ }
+
+ table[num].num = num;
+ table[num].size = n;
+}
+
+/*
+ * Print a table of the names
+ */
+static void print_name_table(FILE *output, char *type, char *key, char *code_page, int n,
+ int use_strings)
+{
+ int i;
+
+ print_table_header(output, NAME_TABLE_T, type, key, code_page, n);
+
+ for (i=0; i < n; i++) {
+ if (use_strings) {
+ fprintf(output, "\t%d,\n", sorted_indexes[i]);
+ } else {
+ fprintf(output, "\t0,\n");
+ }
+ }
+
+ fprintf(output, "};\n");
+}
+
+static process_content(FILE *f, FILE *output, FILE* outputHeader)
+{
+ char token[MAX_START_NAME+1]; /* Must be big enough to hold a
+ tag/attr start string */
+ char name[MAX_NAME+1];
+ char optional[MAX_LINE+1];
+ char *tag_code_page = "";
+ char *attr_code_page = "";
+ char processing_tag = 2; /* processing state: 1 = tag, 0 = attribute, 2 = init */
+ int n = 0;
+ int use_strings = 1;
+
+ for(;;) {
+
+ if ((get_tuple(f, token, name, optional)) != 1) {
+ break;
+ }
+
+ if (!strcmp(token, TAG_TABLE_HEADING)) {
+ use_strings = strcmp(optional, NO_STRINGS);
+ if (processing_tag == 1) {
+ /* Process the current tag table */
+ print_token_table(output, outputHeader, TAG_NAME, "token", tag_code_page, n, use_strings);
+ print_name_table(output, TAG_NAME, "name", tag_code_page, n, use_strings);
+ cache_codepage(tag_codepages, tag_code_page, n);
+ n = 0;
+ } else if (processing_tag == 0) {
+ /* Process the current attribute table */
+ print_token_table(output, outputHeader, ATTR_NAME, "token", attr_code_page, n, use_strings);
+ print_name_table(output, ATTR_NAME, "name", attr_code_page, n, use_strings);
+ cache_codepage(attr_codepages, attr_code_page, n);
+ n = 0;
+ }
+ tag_code_page = strdup(name);
+ processing_tag = 1;
+ }
+ else if (!strcmp(token, ATTR_TABLE_HEADING)) {
+ use_strings = strcmp(optional, NO_STRINGS);
+ if (processing_tag == 1) {
+ /* Process the current tag table */
+ print_token_table(output, outputHeader, TAG_NAME, "token", tag_code_page, n, use_strings);
+ print_name_table(output, TAG_NAME, "name", tag_code_page, n, use_strings);
+ cache_codepage(tag_codepages, tag_code_page, n);
+ n = 0;
+ } else if (processing_tag == 0) {
+ /* Process the current attribute table */
+ print_token_table(output, outputHeader, ATTR_NAME, "token", attr_code_page, n, use_strings);
+ print_name_table(output, ATTR_NAME, "name", attr_code_page, n, use_strings);
+ cache_codepage(attr_codepages, attr_code_page, n);
+ n = 0;
+ }
+ attr_code_page = strdup(name);
+ processing_tag = 0;
+ } else {
+ process_entry(n, token, name);
+ n++;
+ }
+ }
+
+ if (processing_tag == 2) {
+ fprintf(stderr,
+ "ERROR: Could not find tag or attribute table starts in file.\n"
+ " Input file syntax has changed.\n"
+ " See usage by executing this program with no arguments.\n");
+ exit_error(1);
+ }
+
+ /*
+ * If anything is left, process it
+ */
+ if (n > 0) {
+ if (processing_tag == 1) {
+ print_token_table(output, outputHeader, TAG_NAME, "token", tag_code_page, n, use_strings);
+ print_name_table(output, TAG_NAME, "name", tag_code_page, n, use_strings);
+ cache_codepage(tag_codepages, tag_code_page, n);
+ } else if (processing_tag == 0) {
+ print_token_table(output, outputHeader, ATTR_NAME, "token", attr_code_page, n, use_strings);
+ print_name_table(output, ATTR_NAME, "name", attr_code_page, n, use_strings);
+ cache_codepage(attr_codepages, attr_code_page, n);
+ }
+ }
+}
+
+static void get_num_codepages(codepage_t cp[], int *n, int *max)
+{
+ int i;
+ /* Determine the number of codepages */
+ for (i=0; i < TABLE_SIZE; i++) {
+ if (cp[i].num != -1) {
+ *max = i;
+ (*n)++;
+ }
+ }
+}
+
+static void print_codepage_table(FILE *output, codepage_t cp[], int n, int max, char *type)
+{
+ int i;
+
+ if (n == 0)
+ return;
+
+ fprintf(output, "static const\n");
+ fprintf(output, "%s NW_%s_%s_codepages[%d] = {\n", CODEPAGE_TABLE_T,
+ dict_name, type, max + 1);
+
+ for (i=0; i <= max && i < TABLE_SIZE; i++) {
+ if (cp[i].num == -1) {
+ fprintf(output, "\t{0, 0, 0},\n");
+ } else {
+ fprintf(output, "\t{%d, (%s*)&NW_%s_%s_token_%d[0], ",
+ cp[i].size, TOKEN_TABLE_T, dict_name, type, cp[i].num);
+ fprintf(output, "(NW_Byte *)&NW_%s_%s_name_%d[0]},\n",
+ dict_name, type, cp[i].num);
+ }
+ }
+ fprintf(output, "};\n");
+}
+
+static void print_codepage_tables(FILE *output)
+{
+ int n=0, max=0;
+
+ /* Tag tables */
+ fprintf(output,
+ "\n"
+ "/*\n"
+ " * Tag codepage table\n"
+ " */\n"
+ );
+
+ get_num_codepages(tag_codepages, &n, &max);
+ print_codepage_table(output, tag_codepages, n, max, TAG_NAME);
+
+ /* Attr tables */
+ fprintf(output,
+ "\n"
+ "/*\n"
+ " * Attribute codepage table\n"
+ " */\n"
+ );
+
+ n = max = 0;
+ get_num_codepages(attr_codepages, &n, &max);
+ print_codepage_table(output, attr_codepages, n, max, ATTR_NAME);
+}
+
+static void add_codepage(FILE *output, codepage_t cp[], char *type)
+{
+ int n=0, max=0;
+
+ get_num_codepages(cp, &n, &max);
+
+ if (n == 0)
+ fprintf(output, "\t0, 0,\n");
+ else
+ fprintf(output, "\t%d, (%s*)&NW_%s_%s_codepages[0],\n", max + 1, CODEPAGE_TABLE_T, dict_name, type);
+}
+
+static void print_dictionary_table(FILE *output, FILE *outputHeader)
+{
+ int i;
+ if (strlen(doc_type) > 0)
+ {
+ fprintf(output, "\nstatic const NW_Ucs2 NW_%s_docType[] = {", dict_name);
+ for (i=0; i < (int) strlen(doc_type); i++)
+ fprintf(output, "\'%c\',", doc_type[i]);
+ fprintf(output, "\'\\0\'};\n");
+ }
+
+ fprintf(output,
+ "\n"
+ "/*\n"
+ " * Dictionary\n"
+ " */\n"
+ );
+
+ fprintf(outputHeader, "extern const %s NW_%s_WBXMLDictionary\n",
+ DICTIONARY_TABLE_T, dict_name);
+ fprintf(output, "%s NW_%s_WBXMLDictionary = {\n", DICTIONARY_TABLE_T, dict_name);
+ fprintf(output, "\tNW_%s_PublicId,\n", dict_name);
+
+ /* Print the doc type as a UCS2 string */
+ fprintf(output, "\t(%s *)NW_%s_docType,\n", "NW_Ucs2", dict_name);
+
+ /* Add the tag and attribute code page */
+ add_codepage(output, tag_codepages, TAG_NAME);
+ add_codepage(output, attr_codepages, ATTR_NAME);
+
+ fprintf(output, "};\n");
+}
+
+static void process_file(FILE *f, FILE *output, FILE* outputHeader)
+{
+ process_header(f);
+
+ print_file_header(output, outputHeader);
+
+ process_content(f, output, outputHeader);
+
+ print_codepage_tables(output);
+
+ print_dictionary_table(output, outputHeader);
+}
+
+int main(int argc, char ** argv){
+ if (argc < 4) {
+ print_usage(argv[0]);
+ exit_error(1);
+ }
+
+ init();
+
+ input_dict = NULL;
+ output_c = NULL;
+ output_h = NULL;
+
+ /* ----------------------------------------------------------------------- **
+ Save info used in print_automaticallyGeneratedCodeWarning()
+ ** ----------------------------------------------------------------------- **/
+ (void)time(×tamp);
+ main_argc = argc;
+ main_argv = argv;
+
+
+ /* ----------------------------------------------------------------------- **
+ Work on files in text mode to ease end-of-line processing in DOS.
+ ** ----------------------------------------------------------------------- **/
+ if ((input_dict = open_file(argv[1], "rt")) == NULL) {
+ fprintf(stderr, "ERROR: Input File '%s' could NOT be opened!\n", argv[1]);
+ exit_error(1);
+ }
+
+ if ((output_c = open_file(argv[2], "wt")) == NULL) {
+ fprintf(stderr, "ERROR: Output .c File '%s' could NOT be opened!\n", argv[2]);
+ exit_error(1);
+ }
+
+ if ((output_h = open_file(argv[3], "wt")) == NULL) {
+ fprintf(stderr, "ERROR: Output .h File '%s' could NOT be opened!\n", argv[3]);
+ exit_error(1);
+ }
+
+ print_copyright(output_c);
+ fprintf(output_c, "\n\n");
+ print_automaticallyGeneratedCodeWarning(output_c);
+ fprintf(output_c, "\n\n");
+
+ print_copyright(output_h);
+ fprintf(output_h, "\n\n");
+ print_automaticallyGeneratedCodeWarning(output_h);
+ fprintf(output_h, "\n\n");
+
+ {
+ int l;
+ char* p = strrchr(argv[3], '.');
+ l = (p == NULL) ? (int)strlen(argv[3]) : p - argv[3];
+
+ fprintf(output_h, "#ifndef HEADER_GUARD_%.*s", l, argv[3]);
+ if (p != NULL) fprintf(output_h, "_%s", p+1);
+ fprintf(output_h,
+ "\n"
+ "#define HEADER_GUARD_%.*s"
+ , l, argv[3]);
+ if (p != NULL) fprintf(output_h, "_%s", p+1);
+ fprintf(output_h,
+ "\n"
+ "\n"
+ "#ifdef __cplusplus\n"
+ "extern \"C\"\n"
+ "{\n"
+ "#endif\n"
+ "\n"
+ "\n"
+ );
+ }
+
+ /* process input */
+ process_file(input_dict, output_c, output_h);
+
+ fprintf(output_c, "\n");
+ print_automaticallyGeneratedCodeWarning(output_c);
+
+ fprintf(output_c, "\n");
+ fprintf(output_h, "\n");
+ print_automaticallyGeneratedCodeWarning(output_h);
+
+ fprintf(output_h,
+ "\n"
+ "\n"
+ "#ifdef __cplusplus\n"
+ "} /* extern \"C\" */\n"
+ "#endif\n"
+ "\n"
+ "#endif\n"
+ );
+
+ /* close files */
+ fclose(input_dict);
+ fclose(output_c);
+ fclose(output_h);
+
+ return 0;
+}
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/dictionary/push_nokprov.dict
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/dictionary/push_nokprov.dict Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,81 @@
+#
+# Dictionary for push_nokprov
+#
+######################################################
+#
+# dictionary name
+#
+push_nokprov
+#
+# Public id
+#
+1
+#
+# Doc type
+#
+-//WAPFORUM//DTD PROV 1.//EN
+#
+# Tag table - all are in code page
+#
+TAGS_FOR_CODE_PAGE 0
+0x05 characteristic-list
+0x06 characteristic
+0x07 parm
+
+#
+# Attribute table - all are in code page
+#
+ATTRIBUTES_FOR_CODE_PAGE 0
+0x06 type=ADDRESS
+0x07 type=URL
+0x08 type=NAME
+0x10 name
+0x11 value
+0x12 name=BEARER
+0x13 name=PROXY
+0x14 name=PORT
+0x15 name=NAME
+0x16 name=PROXY_TYPE
+0x17 name=URL
+0x18 name=PROXY_AUTHNAME
+0x19 name=PROXY_AUTHSECRET
+0x1A name=SMS_SMSC_ADDRESS
+0x1B name=USSD_SERVICE_CODE
+0x1C name=GPRS_ACCESSPOINTNAME
+0x1D name=PPP_LOGINTYPE
+0x1E name=PROXY_LOGINTYPE
+0x21 name=CSD_DIALSTRING
+0x22 name=PPP_AUTHTYPE
+0x23 name=PPP_AUTHNAME
+0x24 name=PPP_AUTHSECRET
+0x28 name=CSD_CALLTYPE
+0x29 name=CSD_CALLSPEED
+0x45 GSM/CSD
+0x46 GSM/SMS
+0x47 GSM/USSD
+0x48 IS-136/CSD
+0x49 GPRS
+0x60 9200
+0x61 9201
+0x62 9202
+0x63 9203
+0x64 AUTOMATIC
+0x65 MANUAL
+0x6A AUTO
+0x6B 9600
+0x6C 14400
+0x6D 19200
+0x6E 28800
+0x6F 38400
+0x70 PAP
+0x71 CHAP
+0x72 ANALOGUE
+0x73 ISDN
+0x74 43200
+0x75 57600
+0x76 MSISDN_NO
+0x77 IPV4
+0x78 MS_CHAP
+0x7D type=ID
+0x7E name=ISP_NAME
+0x7F type=BOOKMARK
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/dictionary/readme.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/dictionary/readme.txt Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,41 @@
+About the WBXML Token Dictionaries
+
+WBXML can use tokens to represent tag names, attribute names, attribute
+names combined with part or all of the attribute value, and part or all
+of an attribute value.
+
+The cXML code needs internal tables that map tokens to strings and strings
+to tokens. To simplify the generation of these tables (dictionaries) a
+simple data file giving token-string pairs is processed by a dictionary
+creator utility program which outputs the required .h and .c files.
+
+The dictionary creator program source code is in dict_creator.c and it
+is a stand-alone program. To compile it with the MS C compiler use the
+command: cl /Zi /W4 /WX dict_creator.c
+
+If you encounter following errors about lib.c can't be found or stdio.h is
+not found in path, you need to set up system var:
+
+INCLUDE: C:\progra~1\micros~3\VC98\Include
+LIB: C:\progra~1\micros~3\VC98\lib
+
+To get dict_creator usage info run dict_creator with no arguments.
+
+Files with extension ".dict" are data input files.
+
+Example runs:
+
+dict_creator xhtml_1_0.dict xhtml_1_0_dict.c nw_xhtml_xhtml_1_0_tokens.h
+dict_creator wml_1_3.dict wml_1_3_dict.c nw_wml1x_wml_1_3_tokens.h
+
+dict_creator si.dict si_dict.c si_dict.h
+
+
+You have to get through dict_creator without errors and then you have to
+get through the C compiler on the output. If the output doesn't compile,
+it may be because dict_creator did something wrong. Dict_creator has to
+make a few transformations on the input to create C variable names and it
+is possible (though we hope never encountered in use) that this produces
+output that won't compile.
+
+END
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/dictionary/si.dict
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/dictionary/si.dict Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,48 @@
+#
+# Dictionary for SI
+#
+######################################################
+#
+# dictionary name
+#
+SI
+#
+# Public id
+#
+5
+#
+# Doc type
+#
+-//WAPFORUM//DTD SI 1.0//EN
+#
+# Tag table - all are in code page 0
+#
+TAGS_FOR_CODE_PAGE 0
+0x05 si
+0x06 indication
+0x07 info
+0x08 item
+
+#
+# Attribute table - all are in code page 0
+#
+ATTRIBUTES_FOR_CODE_PAGE 0
+0x05 action=signal-none
+0x06 action=signal-low
+0x07 action=signal-medium
+0x08 action=signal-high
+0x09 action=delete
+0x0a created
+0x0b href
+0x0c href=http://
+0x0d href=http://www.
+0x0e href=https://
+0x0f href=https://www.
+0x10 si-expires
+0x11 si-id
+0x12 class
+0x13 action
+0x85 .com/
+0x86 .edu/
+0x87 .net/
+0x88 .org/
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/dictionary/sl.dict
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/dictionary/sl.dict Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,38 @@
+#
+# Dictionary for SL
+#
+######################################################
+#
+# dictionary name
+#
+SL
+#
+# Public id
+#
+6
+#
+# Doc type
+#
+-//WAPFORUM//DTD SL 1.0//EN
+#
+# Tag table - all are in code page 0
+#
+TAGS_FOR_CODE_PAGE 0
+0x05 sl
+
+#
+# Attribute table - all are in code page 0
+#
+ATTRIBUTES_FOR_CODE_PAGE 0
+0x05 action=execute-low
+0x06 action=execute-high
+0x07 action=cache
+0x08 href
+0x09 href=http://
+0x0a href=http://www.
+0x0b href=https://
+0x0c href=https://www.
+0x85 .com/
+0x86 .edu/
+0x87 .net/
+0x88 .org/
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/dictionary/syncml_1.1.dict
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/dictionary/syncml_1.1.dict Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,118 @@
+#
+# Dictionary for SyncML#
+######################################################
+#
+# dictionary name
+#
+SyncML_1_0
+#
+# Public id for SyncML 1.0
+#
+0
+#
+# Doc type for WML 1.1
+#
+-//SYNCML/DTD SyncML v1.0/EN
+#
+# Tag table - all are in code page 0
+#
+TAGS_FOR_CODE_PAGE 0
+0x06 Add
+0x07 Alert
+0x08 Archive
+0x09 Atomic
+0x0a Cmd
+0x0b CmdID
+0x0c CmdRef
+0x0d Col
+0x0e Copy
+0x0f Create
+0x10 Cred
+0x11 Data
+0x12 Delete
+0x13 Exec
+0x14 Final
+0x15 Get
+0x16 Item
+0x17 Lang
+0x18 LocID
+0x19 LocName
+0x1a LocURI
+0x1b Map
+0x1c MapItem
+0x1d Meta
+0x1e MsgID
+0x1f MsgRef
+0x20 NoResp
+0x21 NoResults
+0x22 Proto
+0x23 Put
+0x24 Remove
+0x25 Replace
+0x26 Reply
+0x27 RespURI
+0x28 Results
+0x29 Search
+0x2a Sequence
+0x2b SessionID
+0x2c SftDel
+0x2d Source
+0x2e SourceRef
+0x2f Status
+0x30 StatusItem
+0x31 Sync
+0x32 SyncBody
+0x33 SyncHdr
+0x34 SyncML
+0x35 Target
+0x36 TargetRef
+0x37 Update
+0x38 Version
+#
+# Tag table - all are in code page 1
+#
+TAGS_FOR_CODE_PAGE 1
+0x10 Data
+0x11 Format
+0x12 Mark
+0x13 Size
+0x14 Type
+0x15 Version
+#
+# Tag table - all are in code page 2
+#
+TAGS_FOR_CODE_PAGE 2
+0x10 DevInf
+0x11 Man
+0x12 Mod
+0x13 OEM
+0x14 FwV
+0x15 FwD
+0x16 SwV
+0x17 SwD
+0x18 IrV
+0x19 HwD
+0x1a HwV
+0x1b DevID
+0x1c DevTyp
+0x1d KB
+0x1e Mouse
+0x1f Pen
+0x20 Spkr
+0x2a Mic
+0x2b ScnCol
+0x2c ScnSiz
+0x2d AB
+0x2e Cal
+0x2f Msg
+0x30 IMsg
+0x31 Jour
+0x32 Tx
+0x33 Rx
+0x34 Mul
+0x35 SbX
+0x36 Ext
+0x37 XNam
+0x38 XVal
+0x39 FreeID
+0x3a FreeMem
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/dictionary/wml_1.1.dict
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/dictionary/wml_1.1.dict Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,168 @@
+#
+# Dictionary for WML 1.1
+#
+######################################################
+#
+# dictionary name
+#
+Wml_1_1
+#
+# Public id for WML 1.1
+#
+4
+#
+# Doc type for WML 1.1
+#
+-//WAPFORUM//DTD WML 1.1//EN
+#
+# Tag table - all are in code page 0
+#
+TAGS_FOR_CODE_PAGE 0
+0x1c a
+0x23 access
+0x22 anchor
+0x24 b
+0x25 big
+0x26 br
+0x27 card
+0x28 do
+0x29 em
+0x2a fieldset
+0x2b go
+0x2c head
+0x2d i
+0x2e img
+0x2f input
+0x30 meta
+0x31 noop
+0x33 onevent
+0x34 optgroup
+0x35 option
+0x20 p
+0x32 prev
+0x21 postfield
+0x36 refresh
+0x37 select
+0x3e setvar
+0x38 small
+0x39 strong
+0x1f table
+0x1d td
+0x3b template
+0x3c timer
+0x1e tr
+0x3d u
+0x3f wml
+#
+# Attribute table - all are in code page 0
+#
+ATTRIBUTES_FOR_CODE_PAGE 0
+0x05 accept-charset
+0x52 align
+0x06 align=bottom
+0x07 align=center
+0x08 align=left
+0x09 align=middle
+0x0A align=right
+0x0B align=top
+0x0C alt
+0x54 class
+0x53 columns
+0x0D content
+0x5C content=application/vnd.wap.wmlc;charset=
+0x0F domain
+0x10 emptyok=false
+0x11 emptyok=true
+0x12 format
+0x56 forua=false
+0x57 forua=true
+0x13 height
+0x4A href
+0x4B href=http://
+0x4C href=https://
+0x14 hspace
+0x5A http-equiv
+0x5B http-equiv=Content-Type
+0x5D http-equiv=Expires
+0x55 id
+0x15 ivalue
+0x16 iname
+0x18 label
+0x19 localsrc
+0x1A maxlength
+0x1B method=get
+0x1C method=post
+0x1D mode=nowrap
+0x1E mode=wrap
+0x1F multiple=false
+0x20 multiple=true
+0x21 name
+0x22 newcontext=false
+0x23 newcontext=true
+0x25 onenterbackward
+0x26 onenterforward
+0x24 onpick
+0x27 ontimer
+0x28 optional=false
+0x29 optional=true
+0x33 ordered=false
+0x34 ordered=true
+0x2A path
+0x2E scheme
+0x2F sendreferer=false
+0x30 sendreferer=true
+0x31 size
+0x32 src
+0x58 src=http://
+0x59 src=https://
+0x35 tabindex
+0x36 title
+0x37 type
+0x38 type=accept
+0x39 type=delete
+0x3A type=help
+0x3B type=password
+0x3D type=onenterbackward
+0x3E type=onenterforward
+0x3C type=onpick
+0x3F type=ontimer
+0x45 type=options
+0x46 type=prev
+0x47 type=reset
+0x48 type=text
+0x49 type=vnd.
+0x4D value
+0x4E vspace
+0x4F width
+0x50 xml:lang
+#
+# The attribute value tokens are treated just like the
+# attribute start tokens
+#
+0x85 .com/
+0x86 .edu/
+0x87 .net/
+0x88 .org/
+0x89 accept
+0x8A bottom
+0x8B clear
+0x8C delete
+0x8D help
+0x8E http://
+0x8F http://www.
+0x90 https://
+0x91 https://www.
+0x93 middle
+0x94 nowrap
+0x95 onpick
+0x96 onenterbackward
+0x97 onenterforward
+0x98 ontimer
+0x99 options
+0x9A password
+0x9B reset
+0x9D text
+0x9E top
+0x9F unknown
+0xA0 wrap
+0xA1 www.
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/dictionary/wml_1.2.dict
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/dictionary/wml_1.2.dict Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,177 @@
+#
+# Dictionary for WML 1.2
+#
+######################################################
+#
+# dictionary name
+#
+Wml_1_2
+#
+# Public id for WML 1.2
+#
+9
+#
+# Doc type for WML 1.2
+#
+-//WAPFORUM//DTD WML 1.2//EN
+#
+# Tag table - all are in code page 0
+#
+TAGS_FOR_CODE_PAGE 0
+0x1c a
+0x23 access
+0x22 anchor
+0x24 b
+0x25 big
+0x26 br
+0x27 card
+0x28 do
+0x29 em
+0x2a fieldset
+0x2b go
+0x2c head
+0x2d i
+0x2e img
+0x2f input
+0x30 meta
+0x31 noop
+0x33 onevent
+0x34 optgroup
+0x35 option
+0x20 p
+0x21 postfield
+0x1b pre
+0x32 prev
+0x36 refresh
+0x37 select
+0x3e setvar
+0x38 small
+0x39 strong
+0x1f table
+0x1d td
+0x3b template
+0x3c timer
+0x1e tr
+0x3d u
+0x3f wml
+#
+# Attribute table - all are in code page 0
+#
+ATTRIBUTES_FOR_CODE_PAGE 0
+0x05 accept-charset
+0x5E accesskey
+0x52 align
+0x06 align=bottom
+0x07 align=center
+0x08 align=left
+0x09 align=middle
+0x0A align=right
+0x0B align=top
+0x0C alt
+0x64 cache-control=no-cache
+0x54 class
+0x53 columns
+0x0D content
+0x5C content=application/vnd.wap.wmlc;charset=
+0x0F domain
+0x10 emptyok=false
+0x11 emptyok=true
+0x5F enctype
+0x60 enctype=application/x-www-form-urlencoded
+0x61 enctype=multipart/form-data
+0x12 format
+0x56 forua=false
+0x57 forua=true
+0x13 height
+0x4A href
+0x4B href=http://
+0x4C href=https://
+0x14 hspace
+0x5A http-equiv
+0x5B http-equiv=Content-Type
+0x5D http-equiv=Expires
+0x55 id
+0x15 ivalue
+0x16 iname
+0x18 label
+0x19 localsrc
+0x1A maxlength
+0x1B method=get
+0x1C method=post
+0x1D mode=nowrap
+0x1E mode=wrap
+0x1F multiple=false
+0x20 multiple=true
+0x21 name
+0x22 newcontext=false
+0x23 newcontext=true
+0x25 onenterbackward
+0x26 onenterforward
+0x24 onpick
+0x27 ontimer
+0x28 optional=false
+0x29 optional=true
+0x34 ordered=false
+0x33 ordered=true
+0x2A path
+0x2E scheme
+0x2F sendreferer=false
+0x30 sendreferer=true
+0x31 size
+0x32 src
+0x58 src=http://
+0x59 src=https://
+0x35 tabindex
+0x36 title
+0x37 type
+0x38 type=accept
+0x39 type=delete
+0x3A type=help
+0x3B type=password
+0x3D type=onenterbackward
+0x3E type=onenterforward
+0x3C type=onpick
+0x3F type=ontimer
+0x45 type=options
+0x46 type=prev
+0x47 type=reset
+0x48 type=text
+0x49 type=vnd.
+0x4D value
+0x4E vspace
+0x4F width
+0x50 xml:lang
+0x63 xml:space=default
+0x62 xml:space=preserve
+#
+# The attribute value tokens are treated just like the
+# attribute start tokens
+#
+# The following attributes are not being used.
+0x85 .com/
+0x86 .edu/
+0x87 .net/
+0x88 .org/
+0x89 accept
+0x8A bottom
+0x8B clear
+0x8C delete
+0x8D help
+0x8E http://
+0x8F http://www.
+0x90 https://
+0x91 https://www.
+0x93 middle
+0x94 nowrap
+# 0x95 onpick
+# 0x96 onenterbackward
+# 0x97 onenterforward
+# 0x98 ontimer
+0x99 options
+0x9A password
+0x9B reset
+0x9D text
+0x9E top
+0x9F zzzunknown
+0xA0 wrap
+0xA1 www.
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/dictionary/wml_1_3.dict
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/dictionary/wml_1_3.dict Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,196 @@
+#
+# Dictionary for WML 1.3
+#
+######################################################
+#
+# dictionary name
+#
+Wml_1_3
+#
+# Public id for WML 1.3
+#
+0x0A
+#
+# Doc type for WML 1.3
+#
+-//WAPFORUM//DTD WML 1.3//EN
+#
+# Tag table - all are in code page 0
+#
+TAGS_FOR_CODE_PAGE 0
+0x1c a
+0x23 access
+0x22 anchor
+0x24 b
+0x25 big
+0x26 br
+0x27 card
+0x28 do
+0x29 em
+0x2a fieldset
+0x2b go
+0x2c head
+0x2d i
+0x2e img
+0x2f input
+0x30 meta
+0x31 noop
+0x33 onevent
+0x34 optgroup
+0x35 option
+0x20 p
+0x21 postfield
+0x1b pre
+0x32 prev
+0x36 refresh
+0x37 select
+0x3e setvar
+0x38 small
+0x39 strong
+0x1f table
+0x1d td
+0x3b template
+0x3c timer
+0x1e tr
+0x3d u
+0x3f wml
+#
+# Tag table, code page 1
+#
+TAGS_FOR_CODE_PAGE 1
+0x18 zzzunknown
+
+#
+# Attribute table - all are in code page 0
+#
+ATTRIBUTES_FOR_CODE_PAGE 0
+0x05 accept-charset
+0x5e accesskey
+0x52 align
+0x06 align=bottom
+0x07 align=center
+0x08 align=left
+0x09 align=middle
+0x0a align=right
+0x0b align=top
+0x0c alt
+0x64 cache-control=no-cache
+0x54 class
+0x53 columns
+0x0d content
+0x5c content=application/vnd.wap.wmlc;charset=
+0x0f domain
+0x10 emptyok=false
+0x11 emptyok=true
+0x5f enctype
+0x60 enctype=application/x-www-form-urlencoded
+0x61 enctype=multipart/form-data
+0x12 format
+0x56 forua=false
+0x57 forua=true
+0x13 height
+0x4a href
+0x4b href=http://
+0x4c href=https://
+0x14 hspace
+0x5a http-equiv
+0x5b http-equiv=Content-Type
+0x5d http-equiv=Expires
+0x55 id
+0x15 ivalue
+0x16 iname
+0x18 label
+0x19 localsrc
+0x1a maxlength
+0x1b method=get
+0x1c method=post
+0x1d mode=nowrap
+0x1e mode=wrap
+0x1f multiple=false
+0x20 multiple=true
+0x21 name
+0x22 newcontext=false
+0x23 newcontext=true
+0x25 onenterbackward
+0x26 onenterforward
+0x24 onpick
+0x27 ontimer
+0x28 optional=false
+0x29 optional=true
+0x34 ordered=false
+0x33 ordered=true
+0x2a path
+0x2e scheme
+0x2f sendreferer=false
+0x30 sendreferer=true
+0x31 size
+0x32 src
+0x58 src=http://
+0x59 src=https://
+0x35 tabindex
+0x36 title
+0x37 type
+0x38 type=accept
+0x39 type=delete
+0x3a type=help
+0x3b type=password
+0x3d type=onenterbackward
+0x3e type=onenterforward
+0x3c type=onpick
+0x3f type=ontimer
+0x45 type=options
+0x46 type=prev
+0x47 type=reset
+0x48 type=text
+0x49 type=vnd.
+0x4d value
+0x4e vspace
+0x4f width
+0x50 xml:lang
+0x63 xml:space=default
+0x62 xml:space=preserve
+0x65 cache-control
+0x66 emptyok
+0x67 forua
+0x68 method
+0x69 mode
+0x6a multiple
+0x6b optional
+0x6c newcontext
+0x6d ordered
+0x6e sendreferer
+0x6f xml:space
+0x40 zzzunknown
+
+#
+# The attribute value tokens are treated just like the
+# attribute start tokens
+#
+# The following attributes are not being used.
+0x85 .com/
+0x86 .edu/
+0x87 .net/
+0x88 .org/
+0x89 accept
+0x8a bottom
+0x8b clear
+0x8c delete
+0x8d help
+0x8e http://
+0x8f http://www.
+0x90 https://
+0x91 https://www.
+0x93 middle
+0x94 nowrap
+0x95 onpick
+0x96 onenterbackward
+0x97 onenterforward
+0x98 ontimer
+0x99 options
+0x9a password
+0x9b reset
+0x9d text
+0x9e top
+0x9f unknown
+0xa0 wrap
+0xa1 www.
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/dictionary/xhtml_1_0.dict
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/dictionary/xhtml_1_0.dict Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,409 @@
+#
+# Dictionary for XHTML/WML2.0
+#
+######################################################
+#
+# dictionary name
+#
+XHTML_1_0
+#
+# Public id for XHTML/WML 2.0 - ref: WAP-192-WBXML-20010725-a Section 7.2
+# use 1 for "Unknown or missing public identifier"
+# Note: this should probably be 0 for "String table index follows; public
+# identifier is encoded as a literal in the string table" but dict_creator.c
+# probably doesn't have this functionality
+#
+4
+#
+# Doc type for WML 2.0
+#
+-//WAPFORUM//DTD WML 2.0//EN
+#
+# Element Tags , code page 0
+#
+TAGS_FOR_CODE_PAGE 0
+
+# Structural: HTML Elements Tags
+
+0x05 body
+0x06 head
+0x07 html
+0x08 title
+0x09 frameset
+0x0a noframes
+0x0b noembed
+0x0c script
+0x0d noscript
+
+
+#Table: HTML Element Tags
+
+0x0e caption
+0x0f table
+0x10 td
+0x11 th
+0x12 tr
+0x13 tbody
+0x14 thead
+0x15 tfoot
+
+#Form: HTML Element Tags
+
+0x16 form
+0x17 input
+0x18 label
+0x19 select
+0x1a option
+0x1b optgroup
+0x1c button
+0x1d textarea
+
+#Frame: HTML Element Tags
+
+0x1e frame
+
+#Style: HTML Element Tags
+
+0x1f style
+
+#Object: HTML Element Tags
+
+0x20 object
+0x21 embed
+0x22 bgsound
+
+#Meta: HTML Element Tags
+
+0x23 meta
+
+#Link: HTML Element Tags
+
+0x24 link
+
+#Image: HTML Element Tags
+
+0x25 img
+0x26 map
+0x27 area
+
+#HyperText: HTML Element Tags
+
+0x28 a
+
+#
+
+#Text: HTML Element Tags Part-1
+#As per WBXML spec. the max token number cab be
+# 0x3F so additional token goes to code page -2
+
+0x29 div
+0x2a font
+0x2b h1
+0x2c h2
+0x2d h3
+0x2e h4
+0x2f h5
+0x30 hr
+0x31 b
+0x32 big
+0x33 i
+0x34 menu
+0x35 span
+0x36 p
+0x37 center
+0x38 dl
+0x39 dt
+0x3a dd
+0x3b ul
+0x3c ol
+0x3d li
+0x3e br
+0x3f nobr
+
+#
+# Element Tags, code page 1
+#
+TAGS_FOR_CODE_PAGE 1
+#Text: HTML Element Tags Part-2
+
+
+0x05 h6
+0x06 em
+0x07 fieldset
+0x08 marquee
+0x09 dir
+0x0a small
+0x0b plaintext
+0x0c pre
+0x0d abbr
+0x0e acronym
+0x0f address
+0x10 blockquote
+0x11 blink
+0x12 cite
+0x13 code
+0x14 dfn
+0x15 u
+0x16 kbd
+0x17 q
+0x18 samp
+0x19 strong
+0x1a var
+0x1b tt
+0x1c sub
+0x1d sup
+0x1e ins
+0x1f del
+0x20 strike
+0x21 s
+
+#Misc Tokens
+
+0x22 param
+
+#Base: HTML Element Tags
+
+0x23 base
+
+#Unknown Tag: Make this Last always
+0x24 zzzunknown
+
+
+#
+# Attribute table, code page 0
+#
+ATTRIBUTES_FOR_CODE_PAGE 0
+0x05 abbr
+0x06 accept-charset
+0x07 accept
+0x08 accesskey
+0x09 action
+0x0a align
+0x0b alink
+0x0c alt
+0x0d archive
+0x0e axis
+0x0f background
+0x10 bgcolor
+0x11 border
+0x12 cellpadding
+0x13 char
+0x14 charoff
+0x15 charset
+0x16 checked
+0x17 cite
+0x18 class
+0x19 classid
+0x1a clear
+0x1b code
+0x1c codebase
+0x1d codetype
+0x1e color
+0x1f cols
+0x20 colspan
+#0x21 compact
+0x22 content
+0x23 coords
+0x24 data
+#0x25 datetime
+0x26 declare
+#0x27 defer
+0x28 dir
+0x29 disabled
+0x2a enctype
+0x2b encoding
+#0x2c for
+#0x2d frame
+0x2e frameborder
+#0x2f headers
+0x30 height
+0x31 href
+#0x32 hreflang
+0x33 hspace
+0x34 http-equiv
+0x35 id
+0x36 ismap
+0x37 label
+#0x38 lang
+0x39 language
+0x3a link
+#0x3b longdesc
+0x3c marginheight
+0x3d marginwidth
+0x3e maxlength
+0x3f media
+# must skip 0x40 - 0x44 - used for global tokens
+0x45 method
+0x46 multiple
+0x47 name
+0x48 nohref
+0x49 noresize
+0x4a noshade
+0x4b nowrap
+#0x4c object
+0x4d onblur
+0x4e onchange
+0x4f onclick
+#0x50 ondblclick
+0x51 onfocus
+#0x52 onkeydown
+#0x53 onkeypress
+#0x54 onkeyup
+0x55 onload
+#0x56 onmousedown
+#0x57 onmousemove
+#0x58 onmouseout
+#0x59 onmouseover
+#0x5a onmouseup
+0x5b onreset
+#0x5c onselect
+0x5d onsubmit
+0x5e onunload
+#0x5f profile
+#0x60 prompt
+0x61 readonly
+0x62 rel
+0x63 rev
+0x64 rows
+0x65 rowspan
+#0x66 rules
+0x67 scheme
+#0x68 scope
+0x69 scrolling
+0x6a selected
+0x6b shape
+0x6c size
+#0x?? span
+# Vodafone proprietary attribute: soundstart
+0x6d soundstart
+0x6e src
+0x6f standby
+0x70 start
+0x71 style
+#0x72 summary
+0x73 tabindex
+0x74 target
+#0x75 text
+0x76 title
+0x77 type
+0x78 usemap
+0x79 valign
+0x7a value
+#0x7b valuetype
+0x7c version
+#0x?? vlink
+# Vodafone proprietary attribute: volume
+0x7d volume
+0x7e vspace
+0x7f width
+#
+# The attribute value tokens are treated just like the
+# attribute start tokens
+#
+0x85 none
+0x86 left
+0x87 right
+0x88 normal
+0x89 italic
+0x8a bold
+0x8b circle
+0x8c disc
+0x8d square
+0x8e always
+0x8f avoid
+0x90 center
+0x91 justify
+0x92 underline
+0x93 blink
+0x94 marquee
+0x95 top
+0x96 middle
+0x97 bottom
+0x98 baseline
+0x9a get
+0x9b post
+#0x9c multiple
+0x9d ltr
+0x9e rtl
+#0x9f char
+0xa0 yes
+0xa1 no
+0xa2 auto
+0xa3 button
+0xa4 submit
+0xa5 reset
+#0xa6 selected
+#0xa7 readonly
+#0xa8 nohref
+#0xa9 noresize
+#0xaa noshade
+#0xab nowrap
+#0xac ismap
+#0xad 0
+0xae 1
+#0xaf declare
+#0xb0 defer
+#0xb1 disabled
+#0xb2 compact
+0xb3 all
+#0xb4 checked
+#0xb5 data
+#0xb6 ref
+#0xb7 object
+#0xb8 text
+0xb9 password
+0xba checkbox
+0xbb radio
+0xbc hidden
+# Vodafone proprietary attribute values: focus, select
+0xbd focus
+0xbe select
+
+#
+# Attribute table, code page 1
+#
+ATTRIBUTES_FOR_CODE_PAGE 1
+0x05 zzzunknown
+# xml-stylesheet is a processing instruction "target" name but is
+# treated as an attribute name
+0x06 xml-stylesheet
+0x07 alternate_name
+0x08 cellspacing
+0x09 text
+0x0a bgproperties
+#0x?? ordered
+#0x?? sendreferer
+
+
+
+#
+# IMODE attribute table - code page 2
+#
+ATTRIBUTES_FOR_CODE_PAGE 2
+0x05 behavior
+0x06 direction
+0x07 loop
+0x08 scrollamount
+0x09 scrolldelay
+#0x0a urn
+0x0b cti
+#0x0c utn
+0x0d telbook
+#0x0e kana
+0x0f email
+#
+# The IMODE attribute value tokens are treated just like the
+# attribute start tokens
+#
+0x86 A
+0x87 a
+0x88 I
+0x89 i
+0x8a scroll
+0x8b slide
+0x8c alternate
+0x21 directkey
+0x22 memoryname
+0x23 istyle
+0x24 mode
+0x25 bordercolor
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/group/BLD.INF
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/group/BLD.INF Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,35 @@
+/*
+* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: cXml Parser build info
+*
+*/
+
+#include
+
+PRJ_PLATFORMS
+DEFAULT
+//WINS THUMB ARMI ARM4 WINSCW
+
+PRJ_EXPORTS
+
+../rom/cXmlParser.iby CORE_OS_LAYER_IBY_EXPORT_PATH(cXmlParser.iby)
+
+
+PRJ_MMPFILES
+cXmlParser.mmp
+
+PRJ_TESTMMPFILES
+//../test/xmlparser_test.mmp
+
+
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/group/BWINSCW/CXMLPARSERU.DEF
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/group/BWINSCW/CXMLPARSERU.DEF Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,172 @@
+EXPORTS
+ CXML_Additional_Feature_Supprted @ 1 NONAME
+ CXML_Read_From_File @ 2 NONAME
+ CXML_XML_Get_Entity @ 3 NONAME
+ NW_DOM_AttrVal_getExtension @ 4 NONAME
+ NW_DOM_AttrVal_getOpaque @ 5 NONAME
+ NW_DOM_AttrVal_getType @ 6 NONAME
+ NW_DOM_AttrVal_initFromString @ 7 NONAME
+ NW_DOM_AttrVal_initFromToken @ 8 NONAME
+ NW_DOM_AttrVal_toString @ 9 NONAME
+ NW_DOM_AttributeHandle_addVal @ 10 NONAME
+ NW_DOM_AttributeHandle_getEncoding @ 11 NONAME
+ NW_DOM_AttributeHandle_getName @ 12 NONAME
+ NW_DOM_AttributeHandle_getNextVal @ 13 NONAME
+ NW_DOM_AttributeHandle_getToken @ 14 NONAME
+ NW_DOM_AttributeHandle_getValue @ 15 NONAME
+ NW_DOM_AttributeHandle_getValuePrefix @ 16 NONAME
+ NW_DOM_AttributeHandle_initWithStartToken @ 17 NONAME
+ NW_DOM_AttributeListIterator_getNextAttribute @ 18 NONAME
+ NW_DOM_DocumentNode_BuildTree @ 19 NONAME
+ NW_DOM_DocumentNode_BuildWBXMLTree @ 20 NONAME
+ NW_DOM_DocumentNode_Delete @ 21 NONAME
+ NW_DOM_DocumentNode_createDocumentWithNumberPublicId @ 22 NONAME
+ NW_DOM_DocumentNode_createElementNode @ 23 NONAME
+ NW_DOM_DocumentNode_createElementNodeByToken @ 24 NONAME
+ NW_DOM_DocumentNode_createTextNode @ 25 NONAME
+ NW_DOM_DocumentNode_createTextNodeWithTextItem @ 26 NONAME
+ NW_DOM_DocumentNode_getCharacterEncoding @ 27 NONAME
+ NW_DOM_DocumentNode_getDictionary @ 28 NONAME
+ NW_DOM_DocumentNode_getDocumentElement @ 29 NONAME
+ NW_DOM_DocumentNode_getPublicId @ 30 NONAME
+ NW_DOM_DocumentNode_getPublicIdAsNumber @ 31 NONAME
+ NW_DOM_DocumentNode_getVersion @ 32 NONAME
+ NW_DOM_ElementNode_getAttribute @ 33 NONAME
+ NW_DOM_ElementNode_getAttributeHandleByName @ 34 NONAME
+ NW_DOM_ElementNode_getAttributeHandleByToken @ 35 NONAME
+ NW_DOM_ElementNode_getAttributeListIterator @ 36 NONAME
+ NW_DOM_ElementNode_getTagName @ 37 NONAME
+ NW_DOM_ElementNode_getTagToken @ 38 NONAME
+ NW_DOM_ElementNode_hasAttributes @ 39 NONAME
+ NW_DOM_ElementNode_removeAttribute @ 40 NONAME
+ NW_DOM_ElementNode_setAttribute @ 41 NONAME
+ NW_DOM_ElementNode_setAttributeByAttrVal @ 42 NONAME
+ NW_DOM_ElementNode_setAttributeByAttributeHandle @ 43 NONAME
+ NW_DOM_ElementNode_setAttributeByToken @ 44 NONAME
+ NW_DOM_Node_appendChild @ 45 NONAME
+ NW_DOM_Node_getFirstChild @ 46 NONAME
+ NW_DOM_Node_getLastChild @ 47 NONAME
+ NW_DOM_Node_getNextSibling @ 48 NONAME
+ NW_DOM_Node_getNodeName @ 49 NONAME
+ NW_DOM_Node_getNodeToken @ 50 NONAME
+ NW_DOM_Node_getNodeType @ 51 NONAME
+ NW_DOM_Node_getOwnerDocument @ 52 NONAME
+ NW_DOM_Node_getParentNode @ 53 NONAME
+ NW_DOM_Node_getPreviousSibling @ 54 NONAME
+ NW_DOM_Node_hasChildNodes @ 55 NONAME
+ NW_DOM_Node_insertBefore @ 56 NONAME
+ NW_DOM_Node_removeChild @ 57 NONAME
+ NW_DOM_Node_replaceChild @ 58 NONAME
+ NW_DOM_ProcessingInstructionNode_getTargetToken @ 59 NONAME
+ NW_DOM_TextItemIterator_getNextTextItem @ 60 NONAME
+ NW_DOM_TextItem_getEntity @ 61 NONAME
+ NW_DOM_TextItem_getExtension @ 62 NONAME
+ NW_DOM_TextItem_getExtensionInt @ 63 NONAME
+ NW_DOM_TextItem_getExtensionToken @ 64 NONAME
+ NW_DOM_TextItem_getOpaque @ 65 NONAME
+ NW_DOM_TextItem_getString @ 66 NONAME
+ NW_DOM_TextItem_getType @ 67 NONAME
+ NW_DOM_TextItem_initFromEntity @ 68 NONAME
+ NW_DOM_TextItem_initFromExtension @ 69 NONAME
+ NW_DOM_TextItem_initFromExtensionInt @ 70 NONAME
+ NW_DOM_TextItem_initFromOpaque @ 71 NONAME
+ NW_DOM_TextItem_initFromString @ 72 NONAME
+ NW_DOM_TextItem_toString @ 73 NONAME
+ NW_DOM_TextNode_addDataFromTextItem @ 74 NONAME
+ NW_DOM_TextNode_getData @ 75 NONAME
+ NW_DOM_TextNode_getTextItemIterator @ 76 NONAME
+ NW_DOM_TextNode_setData @ 77 NONAME
+ NW_DOM_TextNode_setDataFromTextItem @ 78 NONAME
+ NW_Encoder_StringTable_GetSize @ 79 NONAME
+ NW_Encoder_StringTable_StringTableIterateInit @ 80 NONAME
+ NW_Encoder_StringTable_StringTableIterateNext @ 81 NONAME
+ NW_Encoder_StringTable_addToStringTable @ 82 NONAME
+ NW_Encoder_StringTable_createFromDOM @ 83 NONAME
+ NW_Encoder_StringTable_delete @ 84 NONAME
+ NW_Encoder_StringTable_get @ 85 NONAME
+ NW_Encoder_StringTable_getStringTableOffset @ 86 NONAME
+ NW_Encoder_StringTable_getTotalBytes @ 87 NONAME
+ NW_Encoder_StringTable_new @ 88 NONAME
+ NW_Encoder_encodeWBXML @ 89 NONAME
+ NW_String_UCS2BuffToString @ 90 NONAME
+ NW_String_byteToUCS2Char @ 91 NONAME
+ NW_String_charBuffGetLength @ 92 NONAME
+ NW_String_clearUserOwnsStorage @ 93 NONAME
+ NW_String_concatenate @ 94 NONAME
+ NW_String_deepCopy @ 95 NONAME
+ NW_String_delete @ 96 NONAME
+ NW_String_deleteStorage @ 97 NONAME
+ NW_String_entityToString @ 98 NONAME
+ NW_String_entityToUCS2Char @ 99 NONAME
+ NW_String_equals @ 100 NONAME
+ NW_String_getByteCount @ 101 NONAME
+ NW_String_getCharCount @ 102 NONAME
+ NW_String_getCharCount32 @ 103 NONAME
+ NW_String_getStorage @ 104 NONAME
+ NW_String_getUserOwnsStorage @ 105 NONAME
+ NW_String_initialize @ 106 NONAME
+ NW_String_new @ 107 NONAME
+ NW_String_readChar @ 108 NONAME
+ NW_String_setUserOwnsStorage @ 109 NONAME
+ NW_String_shallowCopy @ 110 NONAME
+ NW_String_stringToUCS2Char @ 111 NONAME
+ NW_String_tokenToString @ 112 NONAME
+ NW_String_ucs2CharLength @ 113 NONAME
+ NW_String_ucs2CharToString @ 114 NONAME
+ NW_TinyDom_AppendDOMTree @ 115 NONAME
+ NW_TinyDom_MakeDOMTree @ 116 NONAME
+ NW_TinyDom_ParserDelete @ 117 NONAME
+ NW_TinyDom_ParserInitialize @ 118 NONAME
+ NW_TinyDom_Parser_construct @ 119 NONAME
+ NW_TinyDom_getParser @ 120 NONAME
+ NW_TinyDom_getTagToken @ 121 NONAME
+ NW_TinyDom_getTree @ 122 NONAME
+ NW_TinyTree_Node_findTree @ 123 NONAME
+ NW_WBXML_Dictionary_destroy @ 124 NONAME
+ NW_WBXML_Dictionary_getAttributeNameByToken @ 125 NONAME
+ NW_WBXML_Dictionary_getAttributeToken @ 126 NONAME
+ NW_WBXML_Dictionary_getByPublicId @ 127 NONAME
+ NW_WBXML_Dictionary_getTagByFqToken @ 128 NONAME
+ NW_WBXML_Dictionary_getTagToken @ 129 NONAME
+ NW_WBXML_Dictionary_initialize @ 130 NONAME
+ NW_WBXML_Dictionary_resolveLiteralToken @ 131 NONAME
+ NW_WBXML_Document_construct @ 132 NONAME
+ NW_WBXML_Document_destruct @ 133 NONAME
+ NW_WBXML_Document_getTableString @ 134 NONAME
+ NW_WBXML_Document_putTableString @ 135 NONAME
+ NW_WBXML_Parser_getOpaque @ 136 NONAME
+ NW_WBXML_Parser_getStringInline @ 137 NONAME
+ NW_WBXML_Parser_newInPlace @ 138 NONAME
+ NW_WBXML_Parser_parseBuffer @ 139 NONAME
+ NW_WBXML_Parser_registerHandler @ 140 NONAME
+ NW_WBXML_Writer_AttributeAndValue @ 141 NONAME
+ NW_WBXML_Writer_AttributeAndValue2 @ 142 NONAME
+ NW_WBXML_Writer_End @ 143 NONAME
+ NW_WBXML_Writer_Header @ 144 NONAME
+ NW_WBXML_Writer_Initialize @ 145 NONAME
+ NW_WBXML_Writer_Opaque @ 146 NONAME
+ NW_WBXML_Writer_PI @ 147 NONAME
+ NW_WBXML_Writer_TagClearContentFlag @ 148 NONAME
+ NW_WBXML_Writer_TagSetAttributesFlag @ 149 NONAME
+ NW_WBXML_Writer_TagSetContentFlag @ 150 NONAME
+ NW_WBXML_Writer_TagString @ 151 NONAME
+ NW_WBXML_Writer_Text @ 152 NONAME
+ NW_XML_ComputeEncoding @ 153 NONAME
+ NW_XML_Parse @ 154 NONAME
+ NW_XML_Reader_AdvanceOffset @ 155 NONAME
+ NW_XML_Reader_AsciiCharMatch @ 156 NONAME
+ NW_XML_Reader_AsciiStringMatch @ 157 NONAME
+ NW_XML_Reader_DataAddressFromBuffer @ 158 NONAME
+ NW_XML_Reader_GetLineColumn @ 159 NONAME
+ NW_XML_Reader_GetPosition @ 160 NONAME
+ NW_XML_Reader_InitFromBuffer @ 161 NONAME
+ NW_XML_Reader_Interval_Start @ 162 NONAME
+ NW_XML_Reader_Interval_Stop @ 163 NONAME
+ NW_XML_Reader_IsDigit @ 164 NONAME
+ NW_XML_Reader_IsLetter @ 165 NONAME
+ NW_XML_Reader_IsSpace @ 166 NONAME
+ NW_XML_Reader_PeekOffset @ 167 NONAME
+ NW_XML_Reader_SetPosition @ 168 NONAME
+ NW_XML_Reader_SkipSpace @ 169 NONAME
+ CXML_DOM_DocumentNode_BuildTree @ 170 NONAME
+
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/group/bmarm/CXMLPARSERU.DEF
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/group/bmarm/CXMLPARSERU.DEF Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,171 @@
+EXPORTS
+ NW_XML_Reader_SkipSpace @ 1 NONAME R3UNUSED ; (null)
+ NW_DOM_AttrVal_getOpaque @ 2 NONAME R3UNUSED ; (null)
+ NW_DOM_AttrVal_getType @ 3 NONAME R3UNUSED ; (null)
+ NW_DOM_AttrVal_initFromString @ 4 NONAME R3UNUSED ; (null)
+ NW_DOM_AttrVal_initFromToken @ 5 NONAME R3UNUSED ; (null)
+ NW_DOM_AttrVal_toString @ 6 NONAME R3UNUSED ; (null)
+ NW_DOM_AttributeHandle_addVal @ 7 NONAME R3UNUSED ; (null)
+ NW_DOM_AttributeHandle_getEncoding @ 8 NONAME R3UNUSED ; (null)
+ NW_DOM_AttributeHandle_getName @ 9 NONAME R3UNUSED ; (null)
+ NW_DOM_AttributeHandle_getNextVal @ 10 NONAME R3UNUSED ; (null)
+ NW_DOM_AttributeHandle_getToken @ 11 NONAME R3UNUSED ; (null)
+ NW_DOM_AttributeHandle_getValue @ 12 NONAME R3UNUSED ; (null)
+ NW_DOM_AttributeHandle_getValuePrefix @ 13 NONAME R3UNUSED ; (null)
+ NW_DOM_AttributeHandle_initWithStartToken @ 14 NONAME R3UNUSED ; (null)
+ NW_DOM_AttributeListIterator_getNextAttribute @ 15 NONAME R3UNUSED ; (null)
+ NW_DOM_DocumentNode_Delete @ 16 NONAME R3UNUSED ; (null)
+ NW_DOM_DocumentNode_createDocumentWithNumberPublicId @ 17 NONAME ; (null)
+ NW_DOM_DocumentNode_createElementNode @ 18 NONAME R3UNUSED ; (null)
+ NW_DOM_DocumentNode_createElementNodeByToken @ 19 NONAME R3UNUSED ; (null)
+ NW_DOM_DocumentNode_createTextNode @ 20 NONAME R3UNUSED ; (null)
+ NW_DOM_DocumentNode_createTextNodeWithTextItem @ 21 NONAME R3UNUSED ; (null)
+ NW_DOM_DocumentNode_getCharacterEncoding @ 22 NONAME R3UNUSED ; (null)
+ NW_DOM_DocumentNode_getDictionary @ 23 NONAME R3UNUSED ; (null)
+ NW_DOM_DocumentNode_getDocumentElement @ 24 NONAME R3UNUSED ; (null)
+ NW_DOM_DocumentNode_getPublicId @ 25 NONAME R3UNUSED ; (null)
+ NW_DOM_DocumentNode_getPublicIdAsNumber @ 26 NONAME R3UNUSED ; (null)
+ NW_DOM_DocumentNode_getVersion @ 27 NONAME R3UNUSED ; (null)
+ NW_DOM_ElementNode_getAttribute @ 28 NONAME R3UNUSED ; (null)
+ NW_DOM_ElementNode_getAttributeHandleByName @ 29 NONAME R3UNUSED ; (null)
+ NW_DOM_ElementNode_getAttributeHandleByToken @ 30 NONAME R3UNUSED ; (null)
+ NW_DOM_ElementNode_getAttributeListIterator @ 31 NONAME R3UNUSED ; (null)
+ NW_DOM_ElementNode_getTagName @ 32 NONAME R3UNUSED ; (null)
+ NW_DOM_ElementNode_getTagToken @ 33 NONAME R3UNUSED ; (null)
+ NW_DOM_ElementNode_hasAttributes @ 34 NONAME R3UNUSED ; (null)
+ NW_DOM_ElementNode_removeAttribute @ 35 NONAME R3UNUSED ; (null)
+ NW_DOM_ElementNode_setAttribute @ 36 NONAME R3UNUSED ; (null)
+ NW_DOM_ElementNode_setAttributeByAttrVal @ 37 NONAME R3UNUSED ; (null)
+ NW_DOM_ElementNode_setAttributeByAttributeHandle @ 38 NONAME R3UNUSED ; (null)
+ NW_DOM_ElementNode_setAttributeByToken @ 39 NONAME R3UNUSED ; (null)
+ NW_DOM_Node_appendChild @ 40 NONAME R3UNUSED ; (null)
+ NW_DOM_Node_getFirstChild @ 41 NONAME R3UNUSED ; (null)
+ NW_DOM_Node_getLastChild @ 42 NONAME R3UNUSED ; (null)
+ NW_DOM_Node_getNextSibling @ 43 NONAME R3UNUSED ; (null)
+ NW_DOM_Node_getNodeName @ 44 NONAME R3UNUSED ; (null)
+ NW_DOM_Node_getNodeToken @ 45 NONAME R3UNUSED ; (null)
+ NW_DOM_Node_getNodeType @ 46 NONAME R3UNUSED ; (null)
+ NW_DOM_Node_getOwnerDocument @ 47 NONAME R3UNUSED ; (null)
+ NW_DOM_Node_getParentNode @ 48 NONAME R3UNUSED ; (null)
+ NW_DOM_Node_getPreviousSibling @ 49 NONAME R3UNUSED ; (null)
+ NW_DOM_Node_hasChildNodes @ 50 NONAME R3UNUSED ; (null)
+ NW_DOM_Node_insertBefore @ 51 NONAME R3UNUSED ; (null)
+ NW_DOM_Node_removeChild @ 52 NONAME R3UNUSED ; (null)
+ NW_DOM_Node_replaceChild @ 53 NONAME R3UNUSED ; (null)
+ NW_DOM_ProcessingInstructionNode_getTargetToken @ 54 NONAME R3UNUSED ; (null)
+ NW_DOM_TextItemIterator_getNextTextItem @ 55 NONAME R3UNUSED ; (null)
+ NW_DOM_TextItem_getEntity @ 56 NONAME R3UNUSED ; (null)
+ NW_DOM_TextItem_getExtension @ 57 NONAME R3UNUSED ; (null)
+ NW_DOM_TextItem_getExtensionInt @ 58 NONAME R3UNUSED ; (null)
+ NW_DOM_TextItem_getExtensionToken @ 59 NONAME R3UNUSED ; (null)
+ NW_DOM_TextItem_getOpaque @ 60 NONAME R3UNUSED ; (null)
+ NW_DOM_TextItem_getString @ 61 NONAME R3UNUSED ; (null)
+ NW_DOM_TextItem_getType @ 62 NONAME R3UNUSED ; (null)
+ NW_DOM_TextItem_initFromEntity @ 63 NONAME R3UNUSED ; (null)
+ NW_DOM_TextItem_initFromExtension @ 64 NONAME R3UNUSED ; (null)
+ NW_DOM_TextItem_initFromExtensionInt @ 65 NONAME R3UNUSED ; (null)
+ NW_DOM_TextItem_initFromOpaque @ 66 NONAME R3UNUSED ; (null)
+ NW_DOM_TextItem_initFromString @ 67 NONAME R3UNUSED ; (null)
+ NW_DOM_TextItem_toString @ 68 NONAME R3UNUSED ; (null)
+ NW_DOM_TextNode_addDataFromTextItem @ 69 NONAME R3UNUSED ; (null)
+ NW_DOM_TextNode_getData @ 70 NONAME R3UNUSED ; (null)
+ NW_DOM_TextNode_getTextItemIterator @ 71 NONAME R3UNUSED ; (null)
+ NW_DOM_TextNode_setData @ 72 NONAME R3UNUSED ; (null)
+ NW_DOM_TextNode_setDataFromTextItem @ 73 NONAME R3UNUSED ; (null)
+ NW_Encoder_encodeWBXML @ 74 NONAME ; (null)
+ NW_String_UCS2BuffToString @ 75 NONAME R3UNUSED ; (null)
+ NW_String_byteToUCS2Char @ 76 NONAME R3UNUSED ; (null)
+ NW_String_charBuffGetLength @ 77 NONAME R3UNUSED ; (null)
+ NW_String_clearUserOwnsStorage @ 78 NONAME R3UNUSED ; (null)
+ NW_String_concatenate @ 79 NONAME R3UNUSED ; (null)
+ NW_String_deepCopy @ 80 NONAME R3UNUSED ; (null)
+ NW_String_delete @ 81 NONAME R3UNUSED ; (null)
+ NW_String_deleteStorage @ 82 NONAME R3UNUSED ; (null)
+ NW_String_entityToString @ 83 NONAME R3UNUSED ; (null)
+ NW_String_entityToUCS2Char @ 84 NONAME R3UNUSED ; (null)
+ NW_String_equals @ 85 NONAME R3UNUSED ; (null)
+ NW_String_getByteCount @ 86 NONAME R3UNUSED ; (null)
+ NW_String_getCharCount @ 87 NONAME R3UNUSED ; (null)
+ NW_String_getStorage @ 88 NONAME R3UNUSED ; (null)
+ NW_String_getUserOwnsStorage @ 89 NONAME R3UNUSED ; (null)
+ NW_String_initialize @ 90 NONAME R3UNUSED ; (null)
+ NW_String_new @ 91 NONAME R3UNUSED ; (null)
+ NW_String_readChar @ 92 NONAME R3UNUSED ; (null)
+ NW_String_setUserOwnsStorage @ 93 NONAME R3UNUSED ; (null)
+ NW_String_shallowCopy @ 94 NONAME R3UNUSED ; (null)
+ NW_String_stringToUCS2Char @ 95 NONAME R3UNUSED ; (null)
+ NW_String_tokenToString @ 96 NONAME R3UNUSED ; (null)
+ NW_String_ucs2CharLength @ 97 NONAME R3UNUSED ; (null)
+ NW_String_ucs2CharToString @ 98 NONAME R3UNUSED ; (null)
+ NW_TinyDom_MakeDOMTree @ 99 NONAME ; (null)
+ NW_TinyDom_ParserDelete @ 100 NONAME R3UNUSED ; (null)
+ NW_TinyDom_ParserInitialize @ 101 NONAME ; (null)
+ NW_TinyDom_Parser_construct @ 102 NONAME R3UNUSED ; (null)
+ NW_TinyDom_getParser @ 103 NONAME R3UNUSED ; (null)
+ NW_TinyDom_getTagToken @ 104 NONAME R3UNUSED ; (null)
+ NW_TinyDom_getTree @ 105 NONAME R3UNUSED ; (null)
+ NW_TinyTree_Node_findTree @ 106 NONAME R3UNUSED ; (null)
+ NW_WBXML_Dictionary_destroy @ 107 NONAME R3UNUSED ; (null)
+ NW_WBXML_Dictionary_getAttributeNameByToken @ 108 NONAME R3UNUSED ; (null)
+ NW_WBXML_Dictionary_getAttributeToken @ 109 NONAME ; (null)
+ NW_WBXML_Dictionary_getByPublicId @ 110 NONAME R3UNUSED ; (null)
+ NW_WBXML_Dictionary_getTagByFqToken @ 111 NONAME R3UNUSED ; (null)
+ NW_WBXML_Dictionary_getTagToken @ 112 NONAME R3UNUSED ; (null)
+ NW_WBXML_Dictionary_initialize @ 113 NONAME R3UNUSED ; (null)
+ NW_WBXML_Dictionary_resolveLiteralToken @ 114 NONAME ; (null)
+ NW_WBXML_Document_getTableString @ 115 NONAME R3UNUSED ; (null)
+ NW_WBXML_Parser_getOpaque @ 116 NONAME R3UNUSED ; (null)
+ NW_WBXML_Parser_getStringInline @ 117 NONAME R3UNUSED ; (null)
+ NW_WBXML_Parser_newInPlace @ 118 NONAME R3UNUSED ; (null)
+ NW_WBXML_Parser_parseBuffer @ 119 NONAME ; (null)
+ NW_WBXML_Parser_registerHandler @ 120 NONAME R3UNUSED ; (null)
+ NW_WBXML_Writer_AttributeAndValue @ 121 NONAME ; (null)
+ NW_WBXML_Writer_End @ 122 NONAME R3UNUSED ; (null)
+ NW_WBXML_Writer_Header @ 123 NONAME ; (null)
+ NW_WBXML_Writer_Initialize @ 124 NONAME ; (null)
+ NW_WBXML_Writer_Opaque @ 125 NONAME R3UNUSED ; (null)
+ NW_WBXML_Writer_PI @ 126 NONAME R3UNUSED ; (null)
+ NW_WBXML_Writer_TagClearContentFlag @ 127 NONAME R3UNUSED ; (null)
+ NW_WBXML_Writer_TagSetAttributesFlag @ 128 NONAME R3UNUSED ; (null)
+ NW_WBXML_Writer_TagSetContentFlag @ 129 NONAME R3UNUSED ; (null)
+ NW_WBXML_Writer_TagString @ 130 NONAME ; (null)
+ NW_WBXML_Writer_Text @ 131 NONAME ; (null)
+ NW_XML_ComputeEncoding @ 132 NONAME ; (null)
+ NW_XML_Parse @ 133 NONAME R3UNUSED ; (null)
+ NW_XML_Reader_AdvanceOffset @ 134 NONAME R3UNUSED ; (null)
+ NW_XML_Reader_AsciiCharMatch @ 135 NONAME R3UNUSED ; (null)
+ NW_XML_Reader_AsciiStringMatch @ 136 NONAME ; (null)
+ NW_XML_Reader_DataAddressFromBuffer @ 137 NONAME ; (null)
+ NW_XML_Reader_GetLineColumn @ 138 NONAME R3UNUSED ; (null)
+ NW_XML_Reader_GetPosition @ 139 NONAME ; (null)
+ NW_XML_Reader_InitFromBuffer @ 140 NONAME R3UNUSED ; (null)
+ NW_XML_Reader_Interval_Start @ 141 NONAME R3UNUSED ; (null)
+ NW_XML_Reader_Interval_Stop @ 142 NONAME R3UNUSED ; (null)
+ NW_XML_Reader_IsDigit @ 143 NONAME R3UNUSED ; (null)
+ NW_XML_Reader_IsLetter @ 144 NONAME R3UNUSED ; (null)
+ NW_XML_Reader_IsSpace @ 145 NONAME R3UNUSED ; (null)
+ NW_XML_Reader_PeekOffset @ 146 NONAME R3UNUSED ; (null)
+ NW_XML_Reader_SetPosition @ 147 NONAME ; (null)
+ NW_DOM_AttrVal_getExtension @ 148 NONAME R3UNUSED ; (null)
+ NW_DOM_DocumentNode_BuildWBXMLTree @ 149 NONAME ; (null)
+ NW_DOM_DocumentNode_BuildTree @ 150 NONAME ; (null)
+ CXML_Read_From_File @ 151 NONAME R3UNUSED ; (null)
+ NW_String_getCharCount32 @ 152 NONAME R3UNUSED ; (null)
+ NW_TinyDom_AppendDOMTree @ 153 NONAME ; (null)
+ NW_WBXML_Writer_AttributeAndValue2 @ 154 NONAME ; (null)
+ NW_WBXML_Document_construct @ 155 NONAME R3UNUSED ; (null)
+ NW_WBXML_Document_destruct @ 156 NONAME R3UNUSED ; (null)
+ NW_Encoder_StringTable_GetSize @ 157 NONAME R3UNUSED ; (null)
+ NW_Encoder_StringTable_StringTableIterateInit @ 158 NONAME R3UNUSED ; (null)
+ NW_Encoder_StringTable_StringTableIterateNext @ 159 NONAME R3UNUSED ; (null)
+ NW_Encoder_StringTable_createFromDOM @ 160 NONAME R3UNUSED ; (null)
+ NW_Encoder_StringTable_delete @ 161 NONAME R3UNUSED ; (null)
+ NW_Encoder_StringTable_getStringTableOffset @ 162 NONAME ; (null)
+ NW_Encoder_StringTable_getTotalBytes @ 163 NONAME R3UNUSED ; (null)
+ NW_Encoder_StringTable_new @ 164 NONAME R3UNUSED ; (null)
+ CXML_Additional_Feature_Supprted @ 165 NONAME R3UNUSED ; (null)
+ NW_Encoder_StringTable_addToStringTable @ 166 NONAME ; (null)
+ NW_WBXML_Document_putTableString @ 167 NONAME R3UNUSED ; (null)
+ CXML_XML_Get_Entity @ 168 NONAME R3UNUSED ; (null)
+ CXML_DOM_DocumentNode_BuildTree @ 169 NONAME ; (null)
+
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/group/bwins/CXMLPARSERU.DEF
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/group/bwins/CXMLPARSERU.DEF Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,172 @@
+EXPORTS
+ NW_DOM_AttrVal_getExtension @ 1 NONAME
+ NW_DOM_AttrVal_getOpaque @ 2 NONAME
+ NW_DOM_AttrVal_getType @ 3 NONAME
+ NW_DOM_AttrVal_initFromString @ 4 NONAME
+ NW_DOM_AttrVal_initFromToken @ 5 NONAME
+ NW_DOM_AttrVal_toString @ 6 NONAME
+ NW_DOM_AttributeHandle_addVal @ 7 NONAME
+ NW_DOM_AttributeHandle_getEncoding @ 8 NONAME
+ NW_DOM_AttributeHandle_getName @ 9 NONAME
+ NW_DOM_AttributeHandle_getNextVal @ 10 NONAME
+ NW_DOM_AttributeHandle_getToken @ 11 NONAME
+ NW_DOM_AttributeHandle_getValue @ 12 NONAME
+ NW_DOM_AttributeHandle_getValuePrefix @ 13 NONAME
+ NW_DOM_AttributeHandle_initWithStartToken @ 14 NONAME
+ NW_DOM_AttributeListIterator_getNextAttribute @ 15 NONAME
+ NW_DOM_DocumentNode_Delete @ 16 NONAME
+ NW_DOM_DocumentNode_createDocumentWithNumberPublicId @ 17 NONAME
+ NW_DOM_DocumentNode_createElementNode @ 18 NONAME
+ NW_DOM_DocumentNode_createElementNodeByToken @ 19 NONAME
+ NW_DOM_DocumentNode_createTextNode @ 20 NONAME
+ NW_DOM_DocumentNode_createTextNodeWithTextItem @ 21 NONAME
+ NW_DOM_DocumentNode_getCharacterEncoding @ 22 NONAME
+ NW_DOM_DocumentNode_getDictionary @ 23 NONAME
+ NW_DOM_DocumentNode_getDocumentElement @ 24 NONAME
+ NW_DOM_DocumentNode_getPublicId @ 25 NONAME
+ NW_DOM_DocumentNode_getPublicIdAsNumber @ 26 NONAME
+ NW_DOM_DocumentNode_getVersion @ 27 NONAME
+ NW_DOM_ElementNode_getAttribute @ 28 NONAME
+ NW_DOM_ElementNode_getAttributeHandleByName @ 29 NONAME
+ NW_DOM_ElementNode_getAttributeHandleByToken @ 30 NONAME
+ NW_DOM_ElementNode_getAttributeListIterator @ 31 NONAME
+ NW_DOM_ElementNode_getTagName @ 32 NONAME
+ NW_DOM_ElementNode_getTagToken @ 33 NONAME
+ NW_DOM_ElementNode_hasAttributes @ 34 NONAME
+ NW_DOM_ElementNode_removeAttribute @ 35 NONAME
+ NW_DOM_ElementNode_setAttribute @ 36 NONAME
+ NW_DOM_ElementNode_setAttributeByAttrVal @ 37 NONAME
+ NW_DOM_ElementNode_setAttributeByAttributeHandle @ 38 NONAME
+ NW_DOM_ElementNode_setAttributeByToken @ 39 NONAME
+ NW_DOM_Node_appendChild @ 40 NONAME
+ NW_DOM_Node_getFirstChild @ 41 NONAME
+ NW_DOM_Node_getLastChild @ 42 NONAME
+ NW_DOM_Node_getNextSibling @ 43 NONAME
+ NW_DOM_Node_getNodeName @ 44 NONAME
+ NW_DOM_Node_getNodeToken @ 45 NONAME
+ NW_DOM_Node_getNodeType @ 46 NONAME
+ NW_DOM_Node_getOwnerDocument @ 47 NONAME
+ NW_DOM_Node_getParentNode @ 48 NONAME
+ NW_DOM_Node_getPreviousSibling @ 49 NONAME
+ NW_DOM_Node_hasChildNodes @ 50 NONAME
+ NW_DOM_Node_insertBefore @ 51 NONAME
+ NW_DOM_Node_removeChild @ 52 NONAME
+ NW_DOM_Node_replaceChild @ 53 NONAME
+ NW_DOM_ProcessingInstructionNode_getTargetToken @ 54 NONAME
+ NW_DOM_TextItemIterator_getNextTextItem @ 55 NONAME
+ NW_DOM_TextItem_getEntity @ 56 NONAME
+ NW_DOM_TextItem_getExtension @ 57 NONAME
+ NW_DOM_TextItem_getExtensionInt @ 58 NONAME
+ NW_DOM_TextItem_getExtensionToken @ 59 NONAME
+ NW_DOM_TextItem_getOpaque @ 60 NONAME
+ NW_DOM_TextItem_getString @ 61 NONAME
+ NW_DOM_TextItem_getType @ 62 NONAME
+ NW_DOM_TextItem_initFromEntity @ 63 NONAME
+ NW_DOM_TextItem_initFromExtension @ 64 NONAME
+ NW_DOM_TextItem_initFromExtensionInt @ 65 NONAME
+ NW_DOM_TextItem_initFromOpaque @ 66 NONAME
+ NW_DOM_TextItem_initFromString @ 67 NONAME
+ NW_DOM_TextItem_toString @ 68 NONAME
+ NW_DOM_TextNode_addDataFromTextItem @ 69 NONAME
+ NW_DOM_TextNode_getData @ 70 NONAME
+ NW_DOM_TextNode_getTextItemIterator @ 71 NONAME
+ NW_DOM_TextNode_setData @ 72 NONAME
+ NW_DOM_TextNode_setDataFromTextItem @ 73 NONAME
+ NW_Encoder_encodeWBXML @ 74 NONAME
+ NW_String_UCS2BuffToString @ 75 NONAME
+ NW_String_byteToUCS2Char @ 76 NONAME
+ NW_String_charBuffGetLength @ 77 NONAME
+ NW_String_clearUserOwnsStorage @ 78 NONAME
+ NW_String_concatenate @ 79 NONAME
+ NW_String_deepCopy @ 80 NONAME
+ NW_String_delete @ 81 NONAME
+ NW_String_deleteStorage @ 82 NONAME
+ NW_String_entityToString @ 83 NONAME
+ NW_String_entityToUCS2Char @ 84 NONAME
+ NW_String_equals @ 85 NONAME
+ NW_String_getByteCount @ 86 NONAME
+ NW_String_getCharCount @ 87 NONAME
+ NW_String_getStorage @ 88 NONAME
+ NW_String_getUserOwnsStorage @ 89 NONAME
+ NW_String_initialize @ 90 NONAME
+ NW_String_new @ 91 NONAME
+ NW_String_readChar @ 92 NONAME
+ NW_String_setUserOwnsStorage @ 93 NONAME
+ NW_String_shallowCopy @ 94 NONAME
+ NW_String_stringToUCS2Char @ 95 NONAME
+ NW_String_tokenToString @ 96 NONAME
+ NW_String_ucs2CharLength @ 97 NONAME
+ NW_String_ucs2CharToString @ 98 NONAME
+ NW_TinyDom_MakeDOMTree @ 99 NONAME
+ NW_TinyDom_ParserDelete @ 100 NONAME
+ NW_TinyDom_ParserInitialize @ 101 NONAME
+ NW_TinyDom_Parser_construct @ 102 NONAME
+ NW_TinyDom_getParser @ 103 NONAME
+ NW_TinyDom_getTagToken @ 104 NONAME
+ NW_TinyDom_getTree @ 105 NONAME
+ NW_TinyTree_Node_findTree @ 106 NONAME
+ NW_WBXML_Dictionary_destroy @ 107 NONAME
+ NW_WBXML_Dictionary_getAttributeNameByToken @ 108 NONAME
+ NW_WBXML_Dictionary_getAttributeToken @ 109 NONAME
+ NW_WBXML_Dictionary_getByPublicId @ 110 NONAME
+ NW_WBXML_Dictionary_getTagByFqToken @ 111 NONAME
+ NW_WBXML_Dictionary_getTagToken @ 112 NONAME
+ NW_WBXML_Dictionary_initialize @ 113 NONAME
+ NW_WBXML_Dictionary_resolveLiteralToken @ 114 NONAME
+ NW_WBXML_Document_getTableString @ 115 NONAME
+ NW_WBXML_Parser_getOpaque @ 116 NONAME
+ NW_WBXML_Parser_getStringInline @ 117 NONAME
+ NW_WBXML_Parser_newInPlace @ 118 NONAME
+ NW_WBXML_Parser_parseBuffer @ 119 NONAME
+ NW_WBXML_Parser_registerHandler @ 120 NONAME
+ NW_WBXML_Writer_AttributeAndValue @ 121 NONAME
+ NW_WBXML_Writer_End @ 122 NONAME
+ NW_WBXML_Writer_Header @ 123 NONAME
+ NW_WBXML_Writer_Initialize @ 124 NONAME
+ NW_WBXML_Writer_Opaque @ 125 NONAME
+ NW_WBXML_Writer_PI @ 126 NONAME
+ NW_WBXML_Writer_TagClearContentFlag @ 127 NONAME
+ NW_WBXML_Writer_TagSetAttributesFlag @ 128 NONAME
+ NW_WBXML_Writer_TagSetContentFlag @ 129 NONAME
+ NW_WBXML_Writer_TagString @ 130 NONAME
+ NW_WBXML_Writer_Text @ 131 NONAME
+ NW_XML_ComputeEncoding @ 132 NONAME
+ NW_XML_Parse @ 133 NONAME
+ NW_XML_Reader_AdvanceOffset @ 134 NONAME
+ NW_XML_Reader_AsciiCharMatch @ 135 NONAME
+ NW_XML_Reader_AsciiStringMatch @ 136 NONAME
+ NW_XML_Reader_DataAddressFromBuffer @ 137 NONAME
+ NW_XML_Reader_GetLineColumn @ 138 NONAME
+ NW_XML_Reader_GetPosition @ 139 NONAME
+ NW_XML_Reader_InitFromBuffer @ 140 NONAME
+ NW_XML_Reader_Interval_Start @ 141 NONAME
+ NW_XML_Reader_Interval_Stop @ 142 NONAME
+ NW_XML_Reader_IsDigit @ 143 NONAME
+ NW_XML_Reader_IsLetter @ 144 NONAME
+ NW_XML_Reader_IsSpace @ 145 NONAME
+ NW_XML_Reader_PeekOffset @ 146 NONAME
+ NW_XML_Reader_SetPosition @ 147 NONAME
+ NW_XML_Reader_SkipSpace @ 148 NONAME
+ NW_DOM_DocumentNode_BuildWBXMLTree @ 149 NONAME
+ NW_DOM_DocumentNode_BuildTree @ 150 NONAME
+ CXML_Read_From_File @ 151 NONAME
+ NW_TinyDom_AppendDOMTree @ 152 NONAME
+ NW_String_getCharCount32 @ 153 NONAME
+ NW_WBXML_Writer_AttributeAndValue2 @ 154 NONAME
+ NW_WBXML_Document_construct @ 155 NONAME
+ NW_WBXML_Document_destruct @ 156 NONAME
+ NW_Encoder_StringTable_GetSize @ 157 NONAME
+ NW_Encoder_StringTable_StringTableIterateInit @ 158 NONAME
+ NW_Encoder_StringTable_StringTableIterateNext @ 159 NONAME
+ NW_Encoder_StringTable_createFromDOM @ 160 NONAME
+ NW_Encoder_StringTable_delete @ 161 NONAME
+ NW_Encoder_StringTable_get @ 162 NONAME
+ NW_Encoder_StringTable_getStringTableOffset @ 163 NONAME
+ NW_Encoder_StringTable_getTotalBytes @ 164 NONAME
+ NW_Encoder_StringTable_new @ 165 NONAME
+ CXML_Additional_Feature_Supprted @ 166 NONAME
+ NW_Encoder_StringTable_addToStringTable @ 167 NONAME
+ NW_WBXML_Document_putTableString @ 168 NONAME
+ CXML_XML_Get_Entity @ 169 NONAME
+ CXML_DOM_DocumentNode_BuildTree @ 170 NONAME
+
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/group/cXmlParser.mmp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/group/cXmlParser.mmp Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,118 @@
+/*
+* Copyright (c) 1997-2003 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include
+TARGET cXmlParser.dll
+TARGETTYPE dll
+
+
+
+#if defined(ARMCC)
+UID 0x1000008D 0x101F8710
+deffile EABI/cXmlParser.def
+#elif defined( WINSCW )
+deffile Bwinscw/cXmlParser.def
+#elif defined( WINS )
+deffile Bwins/cXmlParser.def
+#else
+deffile Bmarm/cXmlParser.def
+#endif
+
+CAPABILITY CAP_GENERAL_DLL
+VENDORID VID_DEFAULT
+
+SOURCEPATH ../src
+
+SOURCE dom/src/attribute.c
+SOURCE dom/src/document.c
+SOURCE dom/src/element.c
+SOURCE dom/src/node.c
+SOURCE dom/src/text.c
+SOURCE dom/src/wbxml_types.c
+SOURCE string/src/char.c
+SOURCE string/src/string.c
+SOURCE tinydom/src/tiny_dom.c
+SOURCE tinydom/src/tiny_dom_utils.c
+SOURCE tinydom/src/tiny_dom_write.c
+SOURCE tinytree/src/EBuffer.c
+SOURCE tinytree/src/tree.c
+SOURCE tinyTree/src/TreeVector.c
+SOURCE wbxmlp/src/dictionary.c
+SOURCE wbxmlp/src/DictionaryContext.cpp
+SOURCE wbxmlp/src/doc.c
+SOURCE wbxmlp/src/opaque.c
+SOURCE wbxmlp/src/parse_buffer.c
+SOURCE wbxmlp/src/parse_logic.cpp
+SOURCE xmlp/src/Xmlp2Wbxml.c
+SOURCE xmlp/src/XMLParser.cpp
+SOURCE xmlp/src/XMLReader.c
+SOURCE xmlp/src/XmlpIntEntity.cpp
+SOURCE xmlp/src/XmlpEntity.cpp
+SOURCE encoder/src/domencoder.c
+SOURCE encoder/src/StringTable.c
+SOURCE encoder/src/tinydom2wbxml.c
+SOURCE encoder/src/WBXMLWriter.cpp
+SOURCE utils/src/cxml_mem.c
+SOURCE utils/src/cxml_vector.c
+SOURCE utils/src/cxml_str.c
+SOURCE utils/src/E32XMLPARSERDLLEntryPoint.cpp
+SOURCE utils/src/cxml_file_if.cpp
+
+
+
+
+#if defined(WINS)
+ #ifndef WINSCW
+ SOURCE utils/src/cxml_assert.c
+ #endif
+#endif
+
+USERINCLUDE ../src/dom/include
+USERINCLUDE ../src/encoder/include
+USERINCLUDE ../src/xmlp/include
+USERINCLUDE ../src/wbxmlp/include
+USERINCLUDE ../src/string/include
+USERINCLUDE ../src/tinydom/include
+USERINCLUDE ../src/tinytree/include
+USERINCLUDE ../src/utils/include
+
+
+// ===================================
+
+
+OS_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE /epoc32/include/libc
+
+
+// Symbian OS libraries
+//#if defined (WINS)
+//LIBRARY edll.lib
+//#endif
+LIBRARY estlib.lib
+LIBRARY euser.lib
+LIBRARY efsrv.lib
+
+/*#if defined(WINS)
+#define FEATURE_MEMORY_PROFILE
+#endif
+
+#if defined(FEATURE_MEMORY_PROFILE)
+LIBRARY browserengine.lib
+#endif */
+//LIBRARY featmgr.lib
+//DEBUGLIBRARY flogger.lib
+
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/group/eabi/CXMLPARSERU.DEF
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/group/eabi/CXMLPARSERU.DEF Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,171 @@
+EXPORTS
+ CXML_Additional_Feature_Supprted @ 1 NONAME
+ CXML_Read_From_File @ 2 NONAME
+ CXML_XML_Get_Entity @ 3 NONAME
+ NW_DOM_AttrVal_getExtension @ 4 NONAME
+ NW_DOM_AttrVal_getOpaque @ 5 NONAME
+ NW_DOM_AttrVal_getType @ 6 NONAME
+ NW_DOM_AttrVal_initFromString @ 7 NONAME
+ NW_DOM_AttrVal_initFromToken @ 8 NONAME
+ NW_DOM_AttrVal_toString @ 9 NONAME
+ NW_DOM_AttributeHandle_addVal @ 10 NONAME
+ NW_DOM_AttributeHandle_getEncoding @ 11 NONAME
+ NW_DOM_AttributeHandle_getName @ 12 NONAME
+ NW_DOM_AttributeHandle_getNextVal @ 13 NONAME
+ NW_DOM_AttributeHandle_getToken @ 14 NONAME
+ NW_DOM_AttributeHandle_getValue @ 15 NONAME
+ NW_DOM_AttributeHandle_getValuePrefix @ 16 NONAME
+ NW_DOM_AttributeHandle_initWithStartToken @ 17 NONAME
+ NW_DOM_AttributeListIterator_getNextAttribute @ 18 NONAME
+ NW_DOM_DocumentNode_BuildTree @ 19 NONAME
+ NW_DOM_DocumentNode_BuildWBXMLTree @ 20 NONAME
+ NW_DOM_DocumentNode_Delete @ 21 NONAME
+ NW_DOM_DocumentNode_createDocumentWithNumberPublicId @ 22 NONAME
+ NW_DOM_DocumentNode_createElementNode @ 23 NONAME
+ NW_DOM_DocumentNode_createElementNodeByToken @ 24 NONAME
+ NW_DOM_DocumentNode_createTextNode @ 25 NONAME
+ NW_DOM_DocumentNode_createTextNodeWithTextItem @ 26 NONAME
+ NW_DOM_DocumentNode_getCharacterEncoding @ 27 NONAME
+ NW_DOM_DocumentNode_getDictionary @ 28 NONAME
+ NW_DOM_DocumentNode_getDocumentElement @ 29 NONAME
+ NW_DOM_DocumentNode_getPublicId @ 30 NONAME
+ NW_DOM_DocumentNode_getPublicIdAsNumber @ 31 NONAME
+ NW_DOM_DocumentNode_getVersion @ 32 NONAME
+ NW_DOM_ElementNode_getAttribute @ 33 NONAME
+ NW_DOM_ElementNode_getAttributeHandleByName @ 34 NONAME
+ NW_DOM_ElementNode_getAttributeHandleByToken @ 35 NONAME
+ NW_DOM_ElementNode_getAttributeListIterator @ 36 NONAME
+ NW_DOM_ElementNode_getTagName @ 37 NONAME
+ NW_DOM_ElementNode_getTagToken @ 38 NONAME
+ NW_DOM_ElementNode_hasAttributes @ 39 NONAME
+ NW_DOM_ElementNode_removeAttribute @ 40 NONAME
+ NW_DOM_ElementNode_setAttribute @ 41 NONAME
+ NW_DOM_ElementNode_setAttributeByAttrVal @ 42 NONAME
+ NW_DOM_ElementNode_setAttributeByAttributeHandle @ 43 NONAME
+ NW_DOM_ElementNode_setAttributeByToken @ 44 NONAME
+ NW_DOM_Node_appendChild @ 45 NONAME
+ NW_DOM_Node_getFirstChild @ 46 NONAME
+ NW_DOM_Node_getLastChild @ 47 NONAME
+ NW_DOM_Node_getNextSibling @ 48 NONAME
+ NW_DOM_Node_getNodeName @ 49 NONAME
+ NW_DOM_Node_getNodeToken @ 50 NONAME
+ NW_DOM_Node_getNodeType @ 51 NONAME
+ NW_DOM_Node_getOwnerDocument @ 52 NONAME
+ NW_DOM_Node_getParentNode @ 53 NONAME
+ NW_DOM_Node_getPreviousSibling @ 54 NONAME
+ NW_DOM_Node_hasChildNodes @ 55 NONAME
+ NW_DOM_Node_insertBefore @ 56 NONAME
+ NW_DOM_Node_removeChild @ 57 NONAME
+ NW_DOM_Node_replaceChild @ 58 NONAME
+ NW_DOM_ProcessingInstructionNode_getTargetToken @ 59 NONAME
+ NW_DOM_TextItemIterator_getNextTextItem @ 60 NONAME
+ NW_DOM_TextItem_getEntity @ 61 NONAME
+ NW_DOM_TextItem_getExtension @ 62 NONAME
+ NW_DOM_TextItem_getExtensionInt @ 63 NONAME
+ NW_DOM_TextItem_getExtensionToken @ 64 NONAME
+ NW_DOM_TextItem_getOpaque @ 65 NONAME
+ NW_DOM_TextItem_getString @ 66 NONAME
+ NW_DOM_TextItem_getType @ 67 NONAME
+ NW_DOM_TextItem_initFromEntity @ 68 NONAME
+ NW_DOM_TextItem_initFromExtension @ 69 NONAME
+ NW_DOM_TextItem_initFromExtensionInt @ 70 NONAME
+ NW_DOM_TextItem_initFromOpaque @ 71 NONAME
+ NW_DOM_TextItem_initFromString @ 72 NONAME
+ NW_DOM_TextItem_toString @ 73 NONAME
+ NW_DOM_TextNode_addDataFromTextItem @ 74 NONAME
+ NW_DOM_TextNode_getData @ 75 NONAME
+ NW_DOM_TextNode_getTextItemIterator @ 76 NONAME
+ NW_DOM_TextNode_setData @ 77 NONAME
+ NW_DOM_TextNode_setDataFromTextItem @ 78 NONAME
+ NW_Encoder_StringTable_GetSize @ 79 NONAME
+ NW_Encoder_StringTable_StringTableIterateInit @ 80 NONAME
+ NW_Encoder_StringTable_StringTableIterateNext @ 81 NONAME
+ NW_Encoder_StringTable_addToStringTable @ 82 NONAME
+ NW_Encoder_StringTable_createFromDOM @ 83 NONAME
+ NW_Encoder_StringTable_delete @ 84 NONAME
+ NW_Encoder_StringTable_getStringTableOffset @ 85 NONAME
+ NW_Encoder_StringTable_getTotalBytes @ 86 NONAME
+ NW_Encoder_StringTable_new @ 87 NONAME
+ NW_Encoder_encodeWBXML @ 88 NONAME
+ NW_String_UCS2BuffToString @ 89 NONAME
+ NW_String_byteToUCS2Char @ 90 NONAME
+ NW_String_charBuffGetLength @ 91 NONAME
+ NW_String_clearUserOwnsStorage @ 92 NONAME
+ NW_String_concatenate @ 93 NONAME
+ NW_String_deepCopy @ 94 NONAME
+ NW_String_delete @ 95 NONAME
+ NW_String_deleteStorage @ 96 NONAME
+ NW_String_entityToString @ 97 NONAME
+ NW_String_entityToUCS2Char @ 98 NONAME
+ NW_String_equals @ 99 NONAME
+ NW_String_getByteCount @ 100 NONAME
+ NW_String_getCharCount @ 101 NONAME
+ NW_String_getCharCount32 @ 102 NONAME
+ NW_String_getStorage @ 103 NONAME
+ NW_String_getUserOwnsStorage @ 104 NONAME
+ NW_String_initialize @ 105 NONAME
+ NW_String_new @ 106 NONAME
+ NW_String_readChar @ 107 NONAME
+ NW_String_setUserOwnsStorage @ 108 NONAME
+ NW_String_shallowCopy @ 109 NONAME
+ NW_String_stringToUCS2Char @ 110 NONAME
+ NW_String_tokenToString @ 111 NONAME
+ NW_String_ucs2CharLength @ 112 NONAME
+ NW_String_ucs2CharToString @ 113 NONAME
+ NW_TinyDom_AppendDOMTree @ 114 NONAME
+ NW_TinyDom_MakeDOMTree @ 115 NONAME
+ NW_TinyDom_ParserDelete @ 116 NONAME
+ NW_TinyDom_ParserInitialize @ 117 NONAME
+ NW_TinyDom_Parser_construct @ 118 NONAME
+ NW_TinyDom_getParser @ 119 NONAME
+ NW_TinyDom_getTagToken @ 120 NONAME
+ NW_TinyDom_getTree @ 121 NONAME
+ NW_TinyTree_Node_findTree @ 122 NONAME
+ NW_WBXML_Dictionary_destroy @ 123 NONAME
+ NW_WBXML_Dictionary_getAttributeNameByToken @ 124 NONAME
+ NW_WBXML_Dictionary_getAttributeToken @ 125 NONAME
+ NW_WBXML_Dictionary_getByPublicId @ 126 NONAME
+ NW_WBXML_Dictionary_getTagByFqToken @ 127 NONAME
+ NW_WBXML_Dictionary_getTagToken @ 128 NONAME
+ NW_WBXML_Dictionary_initialize @ 129 NONAME
+ NW_WBXML_Dictionary_resolveLiteralToken @ 130 NONAME
+ NW_WBXML_Document_construct @ 131 NONAME
+ NW_WBXML_Document_destruct @ 132 NONAME
+ NW_WBXML_Document_getTableString @ 133 NONAME
+ NW_WBXML_Document_putTableString @ 134 NONAME
+ NW_WBXML_Parser_getOpaque @ 135 NONAME
+ NW_WBXML_Parser_getStringInline @ 136 NONAME
+ NW_WBXML_Parser_newInPlace @ 137 NONAME
+ NW_WBXML_Parser_parseBuffer @ 138 NONAME
+ NW_WBXML_Parser_registerHandler @ 139 NONAME
+ NW_WBXML_Writer_AttributeAndValue @ 140 NONAME
+ NW_WBXML_Writer_AttributeAndValue2 @ 141 NONAME
+ NW_WBXML_Writer_End @ 142 NONAME
+ NW_WBXML_Writer_Header @ 143 NONAME
+ NW_WBXML_Writer_Initialize @ 144 NONAME
+ NW_WBXML_Writer_Opaque @ 145 NONAME
+ NW_WBXML_Writer_PI @ 146 NONAME
+ NW_WBXML_Writer_TagClearContentFlag @ 147 NONAME
+ NW_WBXML_Writer_TagSetAttributesFlag @ 148 NONAME
+ NW_WBXML_Writer_TagSetContentFlag @ 149 NONAME
+ NW_WBXML_Writer_TagString @ 150 NONAME
+ NW_WBXML_Writer_Text @ 151 NONAME
+ NW_XML_ComputeEncoding @ 152 NONAME
+ NW_XML_Parse @ 153 NONAME
+ NW_XML_Reader_AdvanceOffset @ 154 NONAME
+ NW_XML_Reader_AsciiCharMatch @ 155 NONAME
+ NW_XML_Reader_AsciiStringMatch @ 156 NONAME
+ NW_XML_Reader_DataAddressFromBuffer @ 157 NONAME
+ NW_XML_Reader_GetLineColumn @ 158 NONAME
+ NW_XML_Reader_GetPosition @ 159 NONAME
+ NW_XML_Reader_InitFromBuffer @ 160 NONAME
+ NW_XML_Reader_Interval_Start @ 161 NONAME
+ NW_XML_Reader_Interval_Stop @ 162 NONAME
+ NW_XML_Reader_IsDigit @ 163 NONAME
+ NW_XML_Reader_IsLetter @ 164 NONAME
+ NW_XML_Reader_IsSpace @ 165 NONAME
+ NW_XML_Reader_PeekOffset @ 166 NONAME
+ NW_XML_Reader_SetPosition @ 167 NONAME
+ NW_XML_Reader_SkipSpace @ 168 NONAME
+ CXML_DOM_DocumentNode_BuildTree @ 169 NONAME
+
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/rom/cXmlParser.iby
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/rom/cXmlParser.iby Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,23 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __CXMLPARSER_IBY__
+#define __CXMLPARSER_IBY__
+
+file=ABI_DIR\BUILD_DIR\cXmlParser.dll SHARED_LIB_DIR\cXmlParser.dll
+
+#endif
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/dom/include/nw_dom_wbxmltypes.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/dom/include/nw_dom_wbxmltypes.h Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,462 @@
+/*
+* Copyright (c) 2000 - 2001 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/** ----------------------------------------------------------------------- **
+ @package: NW_DOM
+
+ @synopsis: default
+
+ @description: default
+
+ ** ----------------------------------------------------------------------- **/
+#ifndef NW_DOM_WBXML_TYPES_H
+#define NW_DOM_WBXML_TYPES_H
+
+#include
+#include
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif /* __cplusplus */
+
+
+/** ----------------------------------------------------------------------- **
+ @typedef: NW_DOM_Extension
+
+ @synopsis: Tiny Dom Extension.
+
+ @scope: public
+
+ @type: NW_TinyDom_Extension_t
+
+ @description:
+ Tiny Dom Extension.
+
+ ** ----------------------------------------------------------------------- **/
+typedef NW_TinyDom_Extension_t NW_DOM_Extension_t;
+
+
+/** ----------------------------------------------------------------------- **
+ @typedef: NW_DOM_Opaque
+
+ @synopsis: Opaque DOM type.
+
+ @scope: public
+
+ @type: NW_WBXML_Opaque_t
+
+ @description:
+ Opaque DOM type.
+
+ ** ----------------------------------------------------------------------- **/
+typedef NW_WBXML_Opaque_t NW_DOM_Opaque_t;
+
+
+/* * Extension **/
+
+/** ----------------------------------------------------------------------- **
+ @function: NW_DOM_Extension_new
+
+ @synopsis: Creates and initializes a new extension with a given
+ token and string.
+
+ @scope: public
+
+ @parameters:
+ [in] NW_Uint32 token
+ Initialize with this token.
+
+ [in] NW_String_t* str
+ Extension label.
+
+ @description: Creates and initializes a new extension with a given
+ token and string.
+
+ @returns: NW_DOM_Extension_t*
+ New extension.
+
+ ** ----------------------------------------------------------------------- **/
+NW_DOM_Extension_t*
+NW_DOM_Extension_new(NW_Uint32 token, NW_String_t* str);
+
+
+/** ----------------------------------------------------------------------- **
+ @function: NW_DOM_Extension_initialize
+
+ @synopsis: Initializes an extension with a token and string.
+
+ @scope: public
+
+ @parameters:
+ [in-out] NW_DOM_Extension_t* ext
+ The extension.
+
+ [in] NW_Uint32 token
+ Initialize with this token.
+
+ [in] NW_String_t* str
+ Extension label.
+
+ @description: Initializes an extension with a token and string.
+
+ @returns: NW_Status_t
+ Result of operation.
+
+ [NW_STAT_SUCCESS]
+ Always returns success.
+
+ ** ----------------------------------------------------------------------- **/
+NW_Status_t
+NW_DOM_Extension_initialize(NW_DOM_Extension_t* ext,
+ NW_Uint32 token,
+ NW_String_t* str);
+
+
+/** ----------------------------------------------------------------------- **
+ @function: NW_DOM_Extension_getString
+
+ @synopsis: Get string associated with this extension.
+
+ @scope: public
+
+ @parameters:
+ [in] NW_DOM_Extension_t* e
+ This extension.
+
+ [out] NW_String_t* str
+ String for extension.
+
+ @description: Get string associated with this extension.
+
+ @returns: NW_Status_t
+ Result of operation.
+
+ [NW_STAT_SUCCESS]
+ Always returns success.
+
+ ** ----------------------------------------------------------------------- **/
+NW_Status_t
+NW_DOM_Extension_getString(NW_DOM_Extension_t* e,
+ NW_String_t* str);
+
+
+/** ----------------------------------------------------------------------- **
+ @function: NW_DOM_Extension_getToken
+
+ @synopsis: Returns token of extension.
+
+ @scope: public
+
+ @parameters:
+ [in] NW_DOM_Extension_t* e
+ This extension.
+
+ @description: Returns token of extension.
+
+ @returns: NW_Uint32
+ Token or null if error.
+
+ ** ----------------------------------------------------------------------- **/
+NW_Uint32
+NW_DOM_Extension_getToken(NW_DOM_Extension_t* e);
+
+
+/** ----------------------------------------------------------------------- **
+ @function: NW_DOM_Extension_delete
+
+ @synopsis: Deletes this extension.
+
+ @scope: public
+
+ @parameters:
+ [in-out] NW_DOM_Extension_t* e
+ This extension.
+
+ @description: Deletes this extension.
+
+ @returns: NW_Status_t
+ Result of operation.
+
+ [NW_STAT_SUCCESS]
+ Always returns success.
+
+ ** ----------------------------------------------------------------------- **/
+NW_Status_t
+NW_DOM_Extension_delete(NW_DOM_Extension_t* e);
+
+
+/** ----------------------------------------------------------------------- **
+ @function: NW_DOM_Opaque_new
+
+ @synopsis: Creates a new Opaque type with a given data and length.
+
+ @scope: public
+
+ @parameters:
+ [in] NW_Uint32 length
+ Length of data block.
+
+ [in] NW_Byte* data
+ Data block.
+
+ @description: Creates a new Opaque type with a given data and length.
+
+ @returns: NW_DOM_Opaque_t*
+ New opaque object.
+
+ ** ----------------------------------------------------------------------- **/
+NW_DOM_Opaque_t*
+NW_DOM_Opaque_new(NW_Uint32 length, NW_Byte* data);
+
+
+/** ----------------------------------------------------------------------- **
+ @function: NW_DOM_Opaque_initialize
+
+ @synopsis: Initializes an Opaque type with a given data and length.
+
+ @scope: public
+
+ @parameters:
+ [in-out] NW_DOM_Opaque_t* o
+ The opaque object.
+
+ [in] NW_Uint32 length
+ Length of data block.
+
+ [in] NW_Byte* data
+ Data block.
+
+ @description: Initializes an Opaque type with a given data and length.
+
+ @returns: NW_Status_t
+ default
+
+ [NW_STAT_SUCCESS]
+ Always returns success.
+
+ ** ----------------------------------------------------------------------- **/
+NW_Status_t
+NW_DOM_Opaque_initialize(NW_DOM_Opaque_t* o,
+ NW_Uint32 length,
+ NW_Byte* data);
+
+
+/** ----------------------------------------------------------------------- **
+ @function: NW_DOM_Opaque_getLength
+
+ @synopsis: Returns length of opaque data.
+
+ @scope: public
+
+ @parameters:
+ [in] NW_DOM_Opaque_t* opaque
+ This opaque object.
+
+ @description: Returns length of opaque data.
+
+ @returns: NW_Uint32
+ Length of data.
+
+ ** ----------------------------------------------------------------------- **/
+NW_Uint32
+NW_DOM_Opaque_getLength(NW_DOM_Opaque_t* opaque);
+
+
+/** ----------------------------------------------------------------------- **
+ @function: NW_DOM_Opaque_getData
+
+ @synopsis: Returns data from opaque.
+
+ @scope: public
+
+ @parameters:
+ [in] NW_DOM_Opaque_t* opaque
+ This opaque object.
+
+ @description: Returns data from opaque.
+
+ @returns: NW_Byte*
+ Opaque data.
+
+ ** ----------------------------------------------------------------------- **/
+NW_Byte*
+NW_DOM_Opaque_getData(NW_DOM_Opaque_t* opaque);
+
+
+/** ----------------------------------------------------------------------- **
+ @function: NW_DOM_Opaque_delete
+
+ @synopsis: Delete this opaque object.
+
+ @scope: public
+
+ @parameters:
+ [in] NW_DOM_Opaque_t* opaque
+ This opaque object.
+
+ @description: Delete this opaque object. Frees memory for data.
+
+ @returns: NW_Status_t
+ Result of operation.
+
+ [NW_STAT_SUCCESS]
+ Always returns success.
+
+ ** ----------------------------------------------------------------------- **/
+NW_Status_t
+NW_DOM_Opaque_delete(NW_DOM_Opaque_t* opaque);
+
+
+/** ----------------------------------------------------------------------- **
+ @function: NW_DOM_Opaque_getUserOwnsData
+
+ @synopsis: Determines if user owns data storage and can deallocate it.
+
+ @scope: public
+
+ @parameters:
+ [in] NW_DOM_Opaque_t* opaque
+ This opaque object.
+
+ @description: Determines if user owns data storage and can deallocate it.
+
+ @returns: NW_Bool
+ NW_TRUE if user owns data storage and can deallocate it,
+ otherwise NW_FALSE.
+
+ ** ----------------------------------------------------------------------- **/
+NW_Bool
+NW_DOM_Opaque_getUserOwnsData(NW_DOM_Opaque_t* opaque);
+
+
+/** ----------------------------------------------------------------------- **
+ @function: NW_DOM_Opaque_setUserOwnsData
+
+ @synopsis: Set user ownership flag on opaque data.
+
+ @scope: public
+
+ @parameters:
+ [in-out] NW_DOM_Opaque_t* opaque
+ This opaque object.
+
+ @description: Set user ownership flag on opaque data.
+
+ @returns: NW_Status_t
+ Result of operation.
+
+ [NW_STAT_SUCCESS]
+ Always returns success.
+
+ ** ----------------------------------------------------------------------- **/
+NW_Status_t
+NW_DOM_Opaque_setUserOwnsData(NW_DOM_Opaque_t* opaque);
+
+/*
+combined WBXML attribute value and text components
+*/
+
+typedef enum NW_WbxmlComponent_e {
+ NW_WBXML_ATTRIBUTE_VALUE_COMPONENT,
+ NW_WBXML_TEXT_COMPONENT
+} NW_WbxmlComponent_t;
+
+NW_Status_t
+NW_DOM_WbxmlComponent_setType(NW_WbxmlComponent_t AttributeValueOrText,
+ NW_TinyDom_AttrVal_t* pV,
+ NW_Uint32 type);
+
+NW_Status_t
+NW_DOM_WbxmlComponent_initFromString(NW_TinyDom_AttrVal_t* pV,
+ NW_String_t * pString);
+
+NW_Status_t
+NW_DOM_WbxmlComponent_initFromEntity(NW_TinyDom_AttrVal_t* pV,
+ NW_Uint32 entity);
+
+NW_Status_t
+NW_DOM_WbxmlComponent_initFromExtension(NW_TinyDom_AttrVal_t* val,
+ NW_Uint16 token,
+ NW_String_t* str);
+NW_Status_t
+NW_DOM_WbxmlComponent_initFromExtensionInt(NW_TinyDom_AttrVal_t* val,
+ NW_Uint16 token,
+ NW_Uint32 x);
+NW_Status_t
+NW_DOM_WbxmlComponent_initFromOpaque(NW_TinyDom_AttrVal_t* pV,
+ NW_Uint32 byteCount,
+ NW_Uint8* pData);
+NW_Status_t
+NW_DOM_WbxmlComponent_initFromToken(NW_TinyDom_AttrVal_t* pV,
+ NW_Uint32 token);
+
+NW_Uint32
+NW_DOM_WbxmlComponent_getEntity(NW_TinyDom_AttrVal_t* pV);
+
+NW_Status_t
+NW_DOM_WbxmlComponent_getString(NW_TinyDom_AttrVal_t* pV,
+ NW_String_t* pString);
+
+NW_Status_t
+NW_DOM_WbxmlComponent_getExtensionToken(NW_TinyDom_AttrVal_t* val,
+ NW_Uint16* pToken);
+
+NW_Uint16
+NW_DOM_WbxmlComponent_getExtension(NW_TinyDom_AttrVal_t* val,
+ NW_String_t* str);
+
+NW_Status_t
+NW_DOM_WbxmlComponent_getExtensionInt(NW_TinyDom_AttrVal_t* val,
+ NW_Uint32* x);
+NW_Uint8*
+NW_DOM_WbxmlComponent_getOpaque(NW_TinyDom_AttrVal_t* pV,
+ NW_Uint32 *pOpaqueByteCount);
+
+NW_Uint16
+NW_DOM_WbxmlComponent_getToken(NW_TinyDom_AttrVal_t* pV);
+
+NW_Status_t
+NW_DOM_WbxmlComponent_toString(NW_TinyDom_AttrVal_t* pV,
+ NW_String_t *string,
+ NW_Uint32 encoding);
+
+/* converts an entire component sequence (via iterator on text or attrval) to string
+
+returns either NW_STAT_SUCCESS or NW_STAT_DOM_NO_STRING_RETURNED if something fails */
+NW_Status_t
+NW_DOM_WbxmlComponent_sequenceToString(NW_WbxmlComponent_t AttributeValueOrText,
+ NW_TinyDom_AttributeHandle_t* pIterator,
+ NW_Uint32 encoding,
+ NW_String_t* pOutString);
+
+/* NW_Status_t NW_DOM_WbxmlComponent_[text|attribute]NextValue(pIterator, pV)
+returns status NW_STAT_WBXML_ITERATE_MORE or NW_STAT_WBXML_ITERATE_DONE and fills in
+*pV if returns NW_STAT_WBXML_ITERATE_MORE */
+#define NW_DOM_WbxmlComponent_textNextValue(pIterator, pV) \
+((NW_TinyDom_TextHandle_iterate((pIterator), (pV)) == 0)? NW_STAT_WBXML_ITERATE_DONE : NW_STAT_WBXML_ITERATE_MORE)
+
+#define NW_DOM_WbxmlComponent_attributeNextValue(pIterator, pV) \
+((NW_TinyDom_AttributeHandle_iterateValues((pIterator), (pV)) == 0)? NW_STAT_WBXML_ITERATE_DONE : NW_STAT_WBXML_ITERATE_MORE)
+
+
+#ifdef __cplusplus
+} // extern "C" {
+#endif /* __cplusplus */
+
+#endif /* NW_DOM_WBXML_TYPES_H */
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/dom/src/attribute.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/dom/src/attribute.c Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,1073 @@
+/*
+* Copyright (c) 2000 - 2001 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include "cxml_internal.h"
+#include
+#include
+#include
+#include
+#include "nw_dom_wbxmltypes.h"
+
+/*
+ * ATTRIBUTE LIST HANDLE
+ * is used to iterate over the list of attributes of an element
+ */
+
+/*
+ * Allocates memory for NW_DOM_AttributeListIterator
+ * Returns NULL in case of failure to do so
+ */
+
+NW_DOM_AttributeListIterator_t *
+NW_DOM_AttributeListIterator_new(void)
+{
+ NW_DOM_AttributeListIterator_t *handle =
+ (NW_DOM_AttributeListIterator_t *)
+ NW_Mem_Malloc(sizeof (NW_DOM_AttributeListIterator_t));
+ if (handle == NULL)
+ return NULL;
+ handle->node = NULL;
+ return handle;
+}
+
+/*
+ * Initializes an AttributeListIterator
+ * Returns NW_STAT_SUCCESS
+ */
+
+NW_Status_t
+NW_DOM_AttributeListIterator_initialize(NW_DOM_AttributeListIterator_t *handle)
+{
+
+ NW_ASSERT(handle != NULL);
+
+ handle->node = NULL;
+ handle->attrListHandle.state = NW_STAT_SUCCESS;
+ handle->attrListHandle.offset = 0;
+ handle->attrListHandle.tiny_parser = NULL;
+ handle->attrListHandle.context = NULL;
+
+ return NW_STAT_SUCCESS;
+}
+
+NW_Status_t
+NW_DOM_AttributeListIterator_delete(NW_DOM_AttributeListIterator_t *handle)
+{
+ NW_ASSERT(handle != NULL);
+ NW_Mem_Free(handle);
+ return NW_STAT_SUCCESS;
+}
+
+/*
+ * Returns
+ * NW_STAT_WBXML_ITERATE_MORE
+ * NW_STAT_WBXML_ITERATE_DONE
+ *
+ * MODIFIED attributeHandle
+ */
+
+EXPORT_C NW_Status_t
+NW_DOM_AttributeListIterator_getNextAttribute(NW_DOM_AttributeListIterator_t* listHandle,
+ NW_DOM_AttributeHandle_t *attributeHandle)
+{
+ NW_TinyTree_Offset_t offset = 0;
+ NW_TinyDom_Parser_t *parser = NULL;
+
+ NW_ASSERT(listHandle != NULL);
+ NW_ASSERT(listHandle->node != NULL);
+ NW_ASSERT(attributeHandle != NULL);
+
+ if (listHandle->attrListHandle.state == NW_STAT_WBXML_ITERATE_MORE){
+ parser = listHandle->attrListHandle.tiny_parser;
+ offset = NW_TinyDom_AttrListHandle_iterate(&listHandle->attrListHandle);
+ if (offset != 0){
+ NW_DOM_AttributeHandle_initWithOffset(attributeHandle, parser, offset);
+ return NW_STAT_WBXML_ITERATE_MORE;
+ }
+ }
+
+ /*
+ * Once we are done iterating over the initial set of attributes,
+ * next attribute node is located. A reference to this node is kept,
+ * so that in subsequent call to this method we can proceed from there
+ */
+
+ NW_ASSERT(listHandle->node != NULL);
+
+ listHandle->node = NW_TinyTree_findNextSibling(listHandle->node);
+ parser = listHandle->attrListHandle.tiny_parser;
+ if (parser == NULL)
+ return NW_STAT_FAILURE;
+
+ while (listHandle->node){
+ if (NW_TinyDom_Node_getType(listHandle->node) == T_DOM_NODE_ATTR){
+ NW_DOM_AttributeHandle_initWithNode(attributeHandle, parser, listHandle->node);
+ return NW_STAT_WBXML_ITERATE_MORE;
+ }
+ listHandle->node = NW_TinyTree_findNextSibling(listHandle->node);
+ }
+ return NW_STAT_WBXML_ITERATE_DONE;
+}
+
+NW_DOM_AttrVal_t *
+NW_DOM_AttrVal_new(void)
+{
+ return (NW_DOM_AttrVal_t *) NW_Mem_Malloc(sizeof (NW_DOM_AttrVal_t));
+}
+
+/*
+ * Initializes an AttrVal of type NW_DOM_ATTR_VAL_STRING
+ * Returns NW_STAT_SUCCESS
+ */
+
+EXPORT_C NW_Status_t
+NW_DOM_AttrVal_initFromString (NW_DOM_AttrVal_t *val,
+ NW_String_t * string)
+{
+ NW_Status_t status;
+
+ NW_ASSERT(val != NULL);
+ NW_ASSERT(string != NULL);
+
+ status = NW_DOM_AttrVal_setType(val, NW_DOM_ATTR_VAL_STRING);
+ if (status != NW_STAT_SUCCESS)
+ return status;
+ val->component.string = *string;
+ return NW_STAT_SUCCESS;
+}
+
+/*
+ * Initializes an AttrVal of type NW_WBXML_ATTR_COMPONENT_ENTITY
+ * Returns NW_STAT_SUCCESS
+ */
+
+NW_Status_t
+NW_DOM_AttrVal_initFromEntity (NW_DOM_AttrVal_t *val,
+ NW_Uint32 entity)
+{
+ NW_ASSERT(val != NULL);
+
+ val->type = NW_WBXML_ATTR_COMPONENT_ENTITY;
+ val->component.entity = entity;
+ return NW_STAT_SUCCESS;
+}
+
+
+/*
+ Initializes an AttrVal of type NW_WBXML_ATTR_COMPONENT_EXT
+ Returns NW_STAT_SUCCESS or NW_STAT_FAILURE if args are not valid.
+
+ Makes a shallow copy of str.
+ */
+NW_Status_t
+NW_DOM_AttrVal_initFromExtension (NW_DOM_AttrVal_t *val,
+ NW_Uint16 token,
+ NW_String_t *str)
+{
+ NW_Uint8 t; /* 8-bit token */
+
+ NW_ASSERT(val != NULL);
+ NW_ASSERT(token != 0);
+
+ val->type = NW_WBXML_ATTR_COMPONENT_INVALID;
+ t = (NW_Uint8)token;
+ if ((t == NW_WBXML_EXT_0)
+ || (t == NW_WBXML_EXT_1)
+ || (t == NW_WBXML_EXT_2)
+ || (t == NW_WBXML_EXT_T_0)
+ || (t == NW_WBXML_EXT_T_1)
+ || (t == NW_WBXML_EXT_T_2)
+ || (t == NW_WBXML_EXT_I_0)
+ || (t == NW_WBXML_EXT_I_1)
+ || (t == NW_WBXML_EXT_I_2)) {
+ if ((t != NW_WBXML_EXT_0)
+ && (t != NW_WBXML_EXT_1)
+ && (t != NW_WBXML_EXT_2)
+ && (str->storage == NULL)) {
+ return NW_STAT_FAILURE;
+ }
+ val->type = NW_WBXML_ATTR_COMPONENT_EXT;
+ val->component.ext.type = NW_TINYDOM_EXTENSION_TYPE_NORMAL;
+ val->component.ext.token = token;
+ if ((t == NW_WBXML_EXT_0)
+ || (t == NW_WBXML_EXT_1)
+ || (t == NW_WBXML_EXT_2)) {
+ NW_String_initialize(&(val->component.ext.value.string), NULL, 0);
+ } else {
+ /* struct assignment, shallow copy */
+ val->component.ext.value.string = *str;
+ }
+ return NW_STAT_SUCCESS;
+}
+ return NW_STAT_FAILURE;
+}
+
+NW_Status_t
+NW_DOM_AttrVal_initFromExtensionInt (NW_DOM_AttrVal_t* val,
+ NW_Uint16 token,
+ NW_Uint32 x)
+{
+ NW_Uint8 t = (NW_Uint8)token;
+
+ NW_ASSERT(val != NULL);
+
+ if ((t == NW_WBXML_EXT_T_0)
+ || (t == NW_WBXML_EXT_T_1)
+ || (t == NW_WBXML_EXT_T_2)) {
+ val->type = NW_WBXML_ATTR_COMPONENT_EXT;
+ val->component.ext.type = NW_TINYDOM_EXTENSION_TYPE_EXT_T_INTEGER;
+ val->component.ext.token = token;
+ val->component.ext.value.x = x;
+ return NW_STAT_SUCCESS;
+ }
+ return NW_STAT_FAILURE;
+}
+
+/*
+ * Initializes an AttrVal of type NW_WBXML_ATTR_COMPONENT_OPAQUE
+ * Returns NW_STAT_SUCCESS
+ */
+
+NW_Status_t
+NW_DOM_AttrVal_initFromOpaque (NW_DOM_AttrVal_t *val,
+ NW_Uint32 length,
+ NW_Byte* data)
+{
+ NW_ASSERT(val != NULL);
+ NW_ASSERT(data != NULL);
+
+ val->type = NW_WBXML_ATTR_COMPONENT_OPAQUE;
+ val->component.opaque.data = data;
+ val->component.opaque.length = length;
+ return NW_STAT_SUCCESS;
+}
+
+
+/*
+ * Initializes an AttrVal of type NW_WBXML_ATTR_COMPONENT_TOKEN
+ * Returns NW_STAT_SUCCESS
+ */
+
+EXPORT_C NW_Status_t
+NW_DOM_AttrVal_initFromToken (NW_DOM_AttrVal_t *val, NW_Uint16 token)
+{
+ NW_ASSERT(val != NULL);
+
+ val->type = NW_WBXML_ATTR_COMPONENT_TOKEN;
+ val->component.value_token = (NW_Uint32)token;
+ return NW_STAT_SUCCESS;
+}
+
+
+NW_Status_t
+NW_DOM_AttrVal_delete (NW_DOM_AttrVal_t * attrVal)
+{
+ NW_ASSERT(attrVal != NULL);
+
+ NW_Mem_Free(attrVal);
+
+ return NW_STAT_SUCCESS;
+}
+
+/*
+ * Returns the type of attribute value
+ */
+
+EXPORT_C NW_Uint16
+NW_DOM_AttrVal_getType(NW_DOM_AttrVal_t *val)
+{
+ NW_ASSERT(val != NULL);
+
+ switch(val->type)
+ {
+ case NW_WBXML_ATTR_COMPONENT_EXT:
+ return NW_DOM_ATTR_VAL_EXTENSION;
+ case NW_WBXML_ATTR_COMPONENT_STRING:
+ return NW_DOM_ATTR_VAL_STRING;
+ case NW_WBXML_ATTR_COMPONENT_ENTITY:
+ return NW_DOM_ATTR_VAL_ENTITY;
+ case NW_WBXML_ATTR_COMPONENT_TOKEN:
+ return NW_DOM_ATTR_VAL_TOKEN;
+ case NW_WBXML_ATTR_COMPONENT_OPAQUE:
+ return NW_DOM_ATTR_VAL_OPAQUE;
+ default:
+ return 0;
+ }
+}
+
+/*
+ * Sets the type of attribute value
+ * Returns NW_STAT_SUCCESS
+ */
+
+/* TBD This is a very dangerous function and should be made internal
+ use only (i.e., static)! */
+NW_Status_t
+NW_DOM_AttrVal_setType(NW_DOM_AttrVal_t *val,
+ NW_Uint16 type)
+{
+ NW_ASSERT(val != NULL);
+
+ switch(type)
+ {
+ case NW_DOM_ATTR_VAL_EXTENSION:
+ val->type = NW_WBXML_ATTR_COMPONENT_EXT;
+ break;
+ case NW_DOM_ATTR_VAL_STRING:
+ val->type = NW_WBXML_ATTR_COMPONENT_STRING;
+ break;
+ case NW_DOM_ATTR_VAL_ENTITY:
+ val->type = NW_WBXML_ATTR_COMPONENT_ENTITY;
+ break;
+ case NW_DOM_ATTR_VAL_TOKEN:
+ val->type = NW_WBXML_ATTR_COMPONENT_TOKEN;
+ break;
+ case NW_DOM_ATTR_VAL_OPAQUE:
+ val->type = NW_WBXML_ATTR_COMPONENT_OPAQUE;
+ break;
+ default:
+ return NW_STAT_BAD_INPUT_PARAM;
+ }
+ return NW_STAT_SUCCESS;
+}
+
+/*
+ * Returns
+ * NW_STAT_WBXML_ERROR_CHARSET_UNSUPPORTED - invalid encoding
+ * NW_STAT_DOM_NO_STRING_RETURNED - if the type of AttrVal was invalid
+ * NW_STAT_SUCCESS
+ *
+ * MODIFIED string (the value of NW_DOM_AttrVal)
+ */
+
+EXPORT_C NW_Status_t
+NW_DOM_AttrVal_toString(NW_DOM_AttrVal_t *av,
+ NW_String_t * string,
+ NW_Uint32 encoding)
+{
+ NW_Status_t status;
+
+ NW_ASSERT(av != NULL);
+ NW_ASSERT(string != NULL);
+
+ NW_String_initialize(string, NULL, 0);
+
+ if ((NW_String_charsetValid(encoding)) != NW_STAT_SUCCESS)
+ return NW_STAT_WBXML_ERROR_CHARSET_UNSUPPORTED;
+
+ switch (NW_DOM_AttrVal_getType(av))
+ {
+ case NW_DOM_ATTR_VAL_TOKEN:
+ status = NW_String_tokenToString(av->component.value_token, string, encoding);
+ if(status != NW_STAT_SUCCESS){
+ return NW_STAT_DOM_NO_STRING_RETURNED;
+ }
+ return NW_STAT_SUCCESS;
+
+ case NW_DOM_ATTR_VAL_STRING:
+ {
+ NW_Byte *storage = av->component.string.storage;
+ status = NW_String_initialize(string, storage, encoding);
+ if(status != NW_STAT_SUCCESS){
+ return NW_STAT_DOM_NO_STRING_RETURNED;
+ }
+ return NW_STAT_SUCCESS;
+ }
+
+ case NW_DOM_ATTR_VAL_ENTITY:
+ status = NW_String_entityToString(av->component.entity,
+ string, encoding);
+ if(status != NW_STAT_SUCCESS){
+ return NW_STAT_DOM_NO_STRING_RETURNED;
+ }
+ return NW_STAT_SUCCESS;
+
+ case NW_DOM_ATTR_VAL_OPAQUE:
+ return NW_STAT_DOM_NO_STRING_RETURNED;
+ case NW_DOM_ATTR_VAL_EXTENSION:
+ {
+ NW_Uint8 t; /* 8-bit token */
+
+ t = (NW_Uint8)(av->component.ext.token);
+ if ((t == NW_WBXML_EXT_0)
+ || (t == NW_WBXML_EXT_1)
+ || (t == NW_WBXML_EXT_2)) {
+ return NW_STAT_DOM_NO_STRING_RETURNED;
+ }
+ if (av->component.ext.value.string.storage == NULL) {
+ return NW_STAT_DOM_NO_STRING_RETURNED;
+ }
+ /* struct assignment, shallow copy */
+ *string = av->component.ext.value.string;
+ return NW_STAT_SUCCESS;
+ }
+ default:
+ return NW_STAT_DOM_NO_STRING_RETURNED;
+ }
+}
+
+/*
+ * If attribute value is of type NW_DOM_ATTR_VAL_ENTITY
+ * return the associated entity
+ */
+
+NW_Uint32
+NW_DOM_AttrVal_getEntity(NW_DOM_AttrVal_t *val)
+{
+ NW_ASSERT(val != NULL);
+
+ if (NW_DOM_AttrVal_getType(val) != NW_DOM_ATTR_VAL_ENTITY)
+ return val->component.entity;
+ return 0;
+}
+
+NW_Status_t
+NW_DOM_AttrVal_getExtensionToken(NW_DOM_AttrVal_t* val,
+ NW_Uint16* token)
+{
+ if (NW_DOM_AttrVal_getType(val) != NW_DOM_ATTR_VAL_EXTENSION) {
+ return NW_STAT_FAILURE;
+ }
+ *token = (NW_Uint16)(val->component.ext.token);
+ return NW_STAT_SUCCESS;
+}
+
+/* If attribute value is of type NW_DOM_TEXT_ITEM_EXTENSION returns token
+ otherwise returns 0 and returns str->length = 0, str->storage = NULL.
+
+ All returned strings are shallow copies and the only proper way to
+ free these is to call NW_String_delete(pStr). */
+EXPORT_C NW_Uint16
+NW_DOM_AttrVal_getExtension(NW_DOM_AttrVal_t *val,
+ NW_String_t *str)
+{
+ NW_Uint16 fqToken;
+ NW_Uint8 t; /* 8-bit token */
+
+ NW_ASSERT (val != NULL);
+ NW_ASSERT (str != NULL);
+
+ NW_String_initialize(str, NULL, 0);
+
+ if (NW_DOM_AttrVal_getType(val) != NW_DOM_ATTR_VAL_EXTENSION) {
+ return 0;
+ }
+
+ /* TBD If it could be gauranteed that the extension was constructed
+ correctly then it would be enough to just unconditionally
+ shallowCopy. */
+
+ fqToken = (NW_Uint16)(val->component.ext.token);
+ t = (NW_Uint8)fqToken;
+
+ if (((t == NW_WBXML_EXT_T_0)
+ || (t == NW_WBXML_EXT_T_1)
+ || (t == NW_WBXML_EXT_T_2))
+ && (val->component.ext.type
+ == NW_TINYDOM_EXTENSION_TYPE_EXT_T_INTEGER)) {
+ /* This function is not for this case: use "getExtensionInt" form. */
+ return 0;
+ }
+
+ if ((t != NW_WBXML_EXT_0) && (t != NW_WBXML_EXT_1) && (t != NW_WBXML_EXT_2)) {
+ /* By fiat we do nothing with the single byte extension tokens. A
+ more correct version might be to callback to the client to
+ request a mapping to a client determined string.
+
+ In the normal case where EXT_T refers to the string table, both
+ the EXT_T and EXT_I forms are represented by an explicit pointer
+ to the string value since for the EXT_T form we don't have a
+ pointer to the string table anyway. */
+ NW_String_shallowCopy(str, &val->component.ext.value.string);
+ }
+ return fqToken;
+}
+
+NW_Status_t
+NW_DOM_AttrVal_getExtensionInt(NW_DOM_AttrVal_t* val,
+ NW_Uint32* x)
+{
+ NW_Uint16 fqToken;
+ NW_Uint8 t; /* 8-bit token */
+
+ NW_ASSERT(val != NULL);
+ NW_ASSERT(x != NULL);
+
+ if ((NW_DOM_AttrVal_getType(val) != NW_DOM_ATTR_VAL_EXTENSION)
+ || ((val->component.ext.type
+ != NW_TINYDOM_EXTENSION_TYPE_EXT_T_INTEGER)))
+ {
+ return NW_STAT_FAILURE;
+ }
+
+ fqToken = (NW_Uint16)(val->component.ext.token);
+ t = (NW_Uint8)fqToken;
+ if ((t == NW_WBXML_EXT_T_0)
+ || (t == NW_WBXML_EXT_T_1)
+ || (t == NW_WBXML_EXT_T_2)) {
+ *x = val->component.ext.value.x;
+ return NW_STAT_SUCCESS;
+ }
+ return NW_STAT_FAILURE;
+}
+
+/*
+ * If attribute value is of type NW_DOM_ATTR_VAL_OPAQUE
+ * returns the associated opaque data and length.
+ */
+
+/* Note: change the signature so both values are out params? */
+
+EXPORT_C NW_Byte *
+NW_DOM_AttrVal_getOpaque(NW_DOM_AttrVal_t *val,
+ NW_Uint32 *opaqueLen)
+{
+ NW_ASSERT(val != NULL);
+ NW_ASSERT(opaqueLen != NULL);
+
+ if (NW_DOM_AttrVal_getType(val) != NW_DOM_ATTR_VAL_OPAQUE)
+ return NULL;
+
+ *opaqueLen = val->component.opaque.length;
+ return val->component.opaque.data;
+}
+
+/*
+ * If attribute value is of type NW_WBXML_ATTR_COMPONENT_TOKEN,
+ * returns the associated token
+ */
+
+NW_Uint16
+NW_DOM_AttrVal_getToken(NW_DOM_AttrVal_t *val)
+{
+ NW_ASSERT(val != NULL);
+
+ if (val->type == NW_WBXML_ATTR_COMPONENT_TOKEN)
+ return (NW_Uint16)val->component.value_token;
+
+ return 0;
+}
+
+
+/*****************************************
+* ATTRIBUTE VAL ITERATOR
+* iterates over the values of an attribute
+******************************************/
+
+EXPORT_C NW_Uint32
+NW_DOM_AttributeHandle_getEncoding(NW_DOM_AttributeHandle_t *handle)
+{
+ NW_ASSERT(handle != NULL);
+
+ return handle->tinyHandle.tlit.tiny_parser->dom_tree->doc->charset;
+}
+/* the following functions are not referenced, 8/12/01 */
+/*
+NW_Uint32
+NW_DOM_AttributeHandle_getPublicId(NW_DOM_AttributeHandle_t *handle)
+{
+ NW_ASSERT(handle != NULL);
+
+ return handle->tinyHandle.tlit.tiny_parser->dom_tree->doc->publicid;
+}
+
+
+NW_Status_t
+NW_DOM_AttributeHandle_getDocType(NW_DOM_AttributeHandle_t *handle,
+ NW_String_t *str)
+{
+ NW_String_t *docType;
+
+ NW_ASSERT(handle != NULL);
+ NW_ASSERT(str != NULL);
+
+ docType = handle->tinyHandle.tlit.tiny_parser->dom_tree->doc->doc_type;
+ return NW_String_shallowCopy(str, docType);
+}
+*/
+
+/*
+ * Allocates memory for NW_DOM_AttributeHandle
+ * Returns NULL in case of failure to do so
+ */
+
+NW_DOM_AttributeHandle_t *
+NW_DOM_AttributeHandle_new(void)
+{
+ NW_DOM_AttributeHandle_t *handle =
+ (NW_DOM_AttributeHandle_t *) NW_Mem_Malloc(sizeof (NW_DOM_AttributeHandle_t));
+ if (handle == NULL){
+ return NULL;
+ }
+ handle->node = NULL;
+ return handle;
+}
+
+/* Initializes an attribute handle with an attribute node. Note that
+ only some attributes have nodes of their own. Such attributes are
+ initilized by this method. Also, this method initializes the
+ attribute handle so that it may be used by
+ NW_DOM_AttributeHandle_addVal().
+
+ Returns NW_STAT_SUCCESS */
+
+NW_Status_t
+NW_DOM_AttributeHandle_initWithNode(NW_DOM_AttributeHandle_t *handle,
+ NW_TinyDom_Parser_t *parser,
+ NW_TinyTree_Node_t *node)
+{
+ NW_TinyTree_Offset_t offset;
+
+ NW_ASSERT(handle != NULL);
+ NW_ASSERT(node != NULL);
+ NW_ASSERT(parser != NULL);
+
+ offset = NW_TinyTree_Node_getSourceOffset(node);
+ handle->node = node;
+ NW_TinyDom_AttributeHandle_init(&handle->tinyHandle, parser, offset);
+ return NW_STAT_SUCCESS;
+}
+
+/*
+ * Initializes and Attribute Handle with a offset.
+ * Returns NW_STAT_SUCCESS
+ */
+
+NW_Status_t
+NW_DOM_AttributeHandle_initWithOffset(NW_DOM_AttributeHandle_t *handle,
+ NW_TinyDom_Parser_t *parser,
+ NW_TinyTree_Offset_t offset)
+{
+ NW_ASSERT(handle != NULL);
+ NW_ASSERT(parser != NULL);
+
+ handle->node = NULL;
+ NW_TinyDom_AttributeHandle_init(&handle->tinyHandle, parser, offset);
+ return NW_STAT_SUCCESS;
+}
+
+EXPORT_C NW_Status_t
+NW_DOM_AttributeHandle_initWithStartToken(NW_DOM_AttributeHandle_t* handle,
+ NW_TinyDom_Parser_t* parser,
+ NW_Uint16 fqToken)
+{
+ NW_ASSERT(handle != NULL);
+ NW_ASSERT(parser != NULL);
+
+ handle->node = NULL;
+ return NW_TinyDom_AttributeHandle_initWithStartToken(&handle->tinyHandle,
+ &handle->node,
+ parser,
+ fqToken);
+}
+
+EXPORT_C NW_Status_t
+NW_DOM_AttributeHandle_addVal(NW_DOM_AttributeHandle_t* handle,
+ NW_DOM_AttrVal_t* value)
+{
+ NW_ASSERT(handle != NULL);
+ NW_ASSERT(value != NULL);
+
+ return NW_TinyDom_AttributeHandle_addVal(&(handle->tinyHandle),
+ handle->node,
+ value);
+}
+
+NW_Status_t
+NW_DOM_AttributeHandle_delete(NW_DOM_AttributeHandle_t *handle)
+{
+ NW_ASSERT(handle != NULL);
+
+ NW_Mem_Free(handle);
+ return NW_STAT_SUCCESS;
+}
+
+/*
+ * Returns the attribute name (without prefix if any)
+ * Returns
+ * NW_STAT_OUT_OF_MEMORY
+ * NW_STAT_DOM_NO_STRING_RETURNED
+ * NW_STAT_SUCCESS
+ *
+ * Modifies attributeName
+ */
+
+EXPORT_C NW_Status_t
+NW_DOM_AttributeHandle_getName(NW_DOM_AttributeHandle_t *handle,
+ NW_String_t* attributeName)
+{
+ NW_Status_t status;
+ NW_Byte *p; /* pointer to find '=' sign location */
+ NW_Uint32 encoding;
+ NW_String_t temp;
+
+ NW_ASSERT(handle != NULL);
+ NW_ASSERT(attributeName != NULL);
+
+ encoding = NW_DOM_AttributeHandle_getEncoding(handle);
+
+ status = NW_DOM_AttributeHandle_getNameWithPrefix(handle, attributeName);
+ if (status != NW_STAT_SUCCESS)
+ return status;
+
+ /*
+ * Before returning the attribute name, strip off any
+ * part that is actually the attribute value's prefix.
+ * For example, if name is "href=http://", the name
+ * that should be returned is only "href".
+ */
+ if ((p = NW_String_findChar(attributeName, '=', encoding)) != NULL)
+ {
+ /* There an attribute value_prefix - so strip prefix
+ * Create a new string without the '=...' or there
+ * will be wasted memory.
+ */
+ status = NW_String_deepCopy(&temp, attributeName);
+ if (status != NW_STAT_SUCCESS) {
+ return status;
+ }
+ /* set rest of buffer to NULL */
+ p = NW_String_findChar(&temp, '=', encoding);
+ NW_Mem_memset(p, 0, (NW_Uint32)(temp.storage + NW_String_getByteCount(&temp) - p));
+
+ /* Free up any user-owned storage in original string */
+ NW_String_deleteStorage(attributeName);
+ status = NW_String_initialize(attributeName, temp.storage, encoding);
+ NW_String_setUserOwnsStorage(attributeName);
+ }
+
+ return NW_STAT_SUCCESS;
+}
+
+/*
+ * Returns the token for the attribute
+ */
+
+EXPORT_C NW_Uint16
+NW_DOM_AttributeHandle_getToken(NW_DOM_AttributeHandle_t *handle)
+{
+ NW_ASSERT(handle != NULL);
+
+ return (NW_Uint16)NW_TinyDom_AttributeHandle_getToken(&handle->tinyHandle);
+}
+
+/*
+ * Returns the attribute prefix (for e.g. href="http://"
+ * will return "http://"
+ * Returns
+ * NW_STAT_OUT_OF_MEMORY
+ * NW_STAT_DOM_NO_STRING_RETURNED
+ * NW_STAT_DOM_NO_VALUE_PREFIX
+ * NW_STAT_SUCCESS
+ *
+ * Modifies prefixName
+ */
+
+EXPORT_C NW_Status_t
+NW_DOM_AttributeHandle_getValuePrefix(NW_DOM_AttributeHandle_t *handle,
+ NW_String_t* prefixName)
+{
+ NW_Status_t status;
+ NW_Byte *p = NULL;
+ NW_Uint32 encoding;
+
+ NW_ASSERT(handle != NULL);
+ NW_ASSERT(prefixName != NULL);
+
+ encoding = NW_DOM_AttributeHandle_getEncoding(handle);
+ status = NW_DOM_AttributeHandle_getNameWithPrefix(handle, prefixName);
+
+ if (status != NW_STAT_SUCCESS)
+ return status;
+
+ if ((p = NW_String_findChar(prefixName, '=', encoding)) != NULL)
+ {
+ NW_Uint32 len = 0;
+ NW_Byte *prefix = NULL;
+ /* Now make a new string with just the value's prefix */
+ p++;
+
+ if(NW_String_charBuffGetLength(p, encoding, &len) < 0){
+ return NW_STAT_DOM_NO_STRING_RETURNED;
+ }
+
+ prefix = (NW_Byte *) NW_Mem_Malloc(len);
+ if (prefix == NULL)
+ return NW_STAT_OUT_OF_MEMORY;
+
+ NW_Mem_memcpy(prefix, p, len);
+ /* Free up any user-owned storage in old name */
+ NW_String_deleteStorage(prefixName);
+ status = NW_String_initialize(prefixName, prefix, encoding);
+ if (status != NW_STAT_SUCCESS){
+ return NW_STAT_DOM_NO_STRING_RETURNED;
+ }
+ return NW_String_setUserOwnsStorage(prefixName);
+ }else{
+ NW_String_deleteStorage(prefixName);
+ return NW_STAT_DOM_NO_VALUE_PREFIX;
+ }
+}
+
+/*
+ * Returns the attribute name with prefix
+ * Returns
+ * NW_STAT_OUT_OF_MEMORY
+ * NW_STAT_DOM_NO_STRING_RETURNED
+ * NW_STAT_SUCCESS
+ *
+ * Modifies attributeName
+ */
+
+NW_Status_t
+NW_DOM_AttributeHandle_getNameWithPrefix(NW_DOM_AttributeHandle_t* handle,
+ NW_String_t* attrName)
+{
+ NW_Status_t status;
+ NW_Uint32 token;
+ NW_Uint32 encoding;
+
+ NW_ASSERT(handle != NULL);
+ NW_ASSERT(attrName != NULL);
+
+ token = NW_TinyDom_AttributeHandle_getToken(&handle->tinyHandle);
+ encoding = NW_DOM_AttributeHandle_getEncoding(handle);
+ status = NW_TinyDom_AttributeHandle_getName(&handle->tinyHandle, attrName);
+
+ if (status == NW_STAT_SUCCESS)
+ return NW_STAT_SUCCESS;
+
+ if (status == NW_STAT_WBXML_NO_NAME){
+ status = NW_String_tokenToString(token, attrName, encoding);
+ if(status == NW_STAT_OUT_OF_MEMORY){
+ return status;
+ }
+ if(status != NW_STAT_SUCCESS){
+ return NW_STAT_DOM_NO_STRING_RETURNED;
+ }
+ return NW_STAT_SUCCESS;
+ }
+ return NW_STAT_DOM_NO_STRING_RETURNED;
+}
+
+/*
+ * Returns
+ * NW_STAT_WBXML_ITERATE_MORE
+ * NW_STAT_WBXML_ITERATE_DONE
+ *
+ * Modifies attrVal (the next NW_DOM_AttrVal in the attribute value list
+ */
+
+EXPORT_C NW_Status_t
+NW_DOM_AttributeHandle_getNextVal(NW_DOM_AttributeHandle_t *handle,
+ NW_DOM_AttrVal_t *attrVal)
+{
+ NW_TinyTree_Offset_t offset;
+
+ NW_ASSERT(handle != NULL);
+ NW_ASSERT(attrVal != NULL);
+
+ offset = NW_TinyDom_AttributeHandle_iterateValues(&handle->tinyHandle,
+ attrVal);
+
+ if (offset == 0)
+ return NW_STAT_WBXML_ITERATE_DONE;
+
+ return NW_STAT_WBXML_ITERATE_MORE;
+}
+
+/*
+ * Returns
+ * NW_STAT_DOM_NO_STRING_RETURNED
+ * NW_STAT_SUCCESS
+ *
+ * output valueString is the complete string representation of attribute value
+ */
+
+EXPORT_C NW_Status_t
+NW_DOM_AttributeHandle_getValue(NW_DOM_AttributeHandle_t *handle,
+ NW_String_t* valueString)
+{
+ NW_String_t str;
+ NW_Uint32 encoding;
+ NW_Status_t status;
+ NW_Bool prefixFound = NW_FALSE;
+
+ NW_ASSERT(handle != NULL);
+ NW_ASSERT(valueString != NULL);
+
+ encoding = NW_DOM_AttributeHandle_getEncoding(handle);
+
+ valueString->storage = NULL;
+ valueString->length = 0;
+
+ /*
+ * If this attribute's name includes the an attribute value
+ * prefix (e.g. name is something like "href=http://"), then
+ * the attribute's value prefix must be extracted.
+ */
+ status = NW_DOM_AttributeHandle_getValuePrefix(handle, &str);
+ if (status == NW_STAT_SUCCESS) {
+ status = NW_String_deepCopy(valueString, &str);
+
+ if (status != NW_STAT_SUCCESS){
+ NW_String_deleteStorage(&str);
+ if (status == NW_STAT_OUT_OF_MEMORY)
+ {
+ return NW_STAT_OUT_OF_MEMORY;
+ }
+ else
+ {
+ return NW_STAT_DOM_NO_STRING_RETURNED;
+ }
+ }
+ prefixFound = NW_TRUE;
+ }
+ else if(status != NW_STAT_DOM_NO_VALUE_PREFIX){
+ return status;
+ }
+
+ status = NW_DOM_WbxmlComponent_sequenceToString(NW_WBXML_ATTRIBUTE_VALUE_COMPONENT,
+ &(handle->tinyHandle),
+ encoding,valueString);
+
+ if( (status == NW_STAT_DOM_NO_STRING_RETURNED) &&
+ (valueString->length == 0) &&
+ (prefixFound == NW_TRUE) )
+ {
+
+ status = NW_String_deepCopy(valueString, &str);
+ }
+
+ NW_String_deleteStorage(&str);
+ return status;
+
+}
+
+/*
+ * PROCESSING_INSTRUCTION NODE
+ */
+
+/*
+ * Gets the name of the target for this processing instruction
+ * Returns one of:
+ * NW_STAT_DOM_NODE_TYPE_ERR - not a DOM_ProcessingInstructionNode_t node
+ * NW_STAT_DOM_NO_STRING_RETURNED
+ * NW_STAT_SUCCESS
+ */
+
+NW_Status_t
+NW_DOM_ProcessingInstructionNode_getTarget(NW_DOM_ProcessingInstructionNode_t* node,
+ NW_String_t *target)
+{
+ NW_DOM_AttributeHandle_t attrHandle;
+ NW_Status_t status;
+
+ NW_ASSERT(node != NULL);
+ NW_ASSERT(target != NULL);
+
+ status = NW_DOM_ProcessingInstructionNode_getHandle(node, &attrHandle);
+ if (status != NW_STAT_SUCCESS)
+ return status;
+
+ return NW_DOM_AttributeHandle_getName(&attrHandle, target);
+}
+
+/*
+ * Returns the token associated with the PI node (WBXML specific
+ */
+
+EXPORT_C NW_Uint16
+NW_DOM_ProcessingInstructionNode_getTargetToken (NW_DOM_ProcessingInstructionNode_t* node)
+{
+ NW_DOM_AttributeHandle_t attrHandle;
+ NW_Status_t status;
+
+ NW_ASSERT(node != NULL);
+
+ status = NW_DOM_ProcessingInstructionNode_getHandle(node, &attrHandle);
+
+ if (status != NW_STAT_SUCCESS)
+ return (NW_Uint16)0;
+
+ return NW_DOM_AttributeHandle_getToken(&attrHandle);
+}
+
+/*
+ * Returns one of:
+ * NW_STAT_DOM_NODE_TYPE_ERR - not a NW_DOM_ProcessingInstructionNode_t node
+ * NW_STAT_DOM_NO_STRING_RETURNED
+ * NW_STAT_SUCCESS
+ */
+
+NW_Status_t
+NW_DOM_ProcessingInstructionNode_getData(NW_DOM_ProcessingInstructionNode_t* node,
+ NW_String_t *data)
+{
+ NW_DOM_AttributeHandle_t attrHandle;
+ NW_Status_t status;
+
+ NW_ASSERT(node != NULL);
+ NW_ASSERT(data != NULL);
+
+ status = NW_DOM_ProcessingInstructionNode_getHandle(node, &attrHandle);
+
+ if (status != NW_STAT_SUCCESS)
+ return status;
+
+ return NW_DOM_AttributeHandle_getValue(&attrHandle, data);
+}
+
+
+/*
+ * Gets the attribute handle associated with the node
+ * Returns one of:
+ * NW_STAT_DOM_NODE_TYPE_ERR - not a processing instruction node
+ * NW_STAT_SUCCESS
+ * Modifies handle
+ */
+
+NW_Status_t
+NW_DOM_ProcessingInstructionNode_getHandle(NW_DOM_ProcessingInstructionNode_t* node,
+ NW_DOM_AttributeHandle_t *handle)
+{
+ NW_TinyTree_t* tiny_tree;
+ NW_DOM_Node_t *child;
+
+ NW_ASSERT(node != NULL);
+ NW_ASSERT(handle != NULL);
+
+ if (NW_DOM_Node_getNodeType(node) != NW_DOM_PROCESSING_INSTRUCTION_NODE)
+ return NW_STAT_DOM_NODE_TYPE_ERR;
+
+ tiny_tree = NW_TinyTree_Node_findTree(node);
+ child = NW_TinyTree_findFirstChild(node);
+
+ while(child){
+ if (NW_TinyDom_Node_getType(child) == T_DOM_NODE_ATTR){
+ break;
+ }
+ child = NW_TinyTree_findNextSibling(child);
+ }
+ if (child) {
+ return NW_DOM_AttributeHandle_initWithNode(handle,
+ NW_TinyDom_getParser(tiny_tree),
+ child);
+ }
+ return NW_STAT_DOM_NODE_TYPE_ERR;
+}
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/dom/src/document.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/dom/src/document.c Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,951 @@
+/*
+* Copyright (c) 2000 - 2001 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include "cxml_internal.h"
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+/*#include "nw_parser.h"*/
+
+/************************
+* DOCUMENT - NODE Methods
+*************************/
+
+EXPORT_C void
+NW_DOM_DocumentNode_Delete(NW_DOM_DocumentNode_t* docNode){
+ NW_WBXML_Parser_t *wbxmlParser;
+ NW_TinyDom_Tree_t *tinyDomTree;
+ NW_WBXML_Document_t *document;
+ NW_TinyTree_t *tinyTree;
+
+if (docNode == NULL) {
+ return;
+ }
+
+ tinyTree = NW_TinyTree_Node_findTree(docNode);
+
+ if(tinyTree != NULL){
+ document = NW_TinyDom_getDocHeader(tinyTree);
+ tinyDomTree = NW_TinyDom_getTree(tinyTree);
+ wbxmlParser = tinyDomTree->parser;
+ if(wbxmlParser != NULL){
+ NW_WBXML_Parser_delete(wbxmlParser);
+ }
+ if(tinyDomTree != NULL){
+ NW_TinyDom_Tree_destruct(tinyDomTree);
+ }
+ if(document != NULL){
+ NW_WBXML_Document_destruct(document);
+ }
+ }
+}
+ /* ???? Does the writer need any cleanup ? */
+
+
+static void
+NW_TinyDom_Handle_Initialize(NW_TinyDom_Handle_t *h,
+ NW_Uint32 default_public_id,
+ NW_Bool extTNotStringTable)
+{
+ NW_ASSERT(h != NULL);
+
+ (void) NW_Mem_memset(h, 0, sizeof(*h));
+
+ NW_WBXML_Parser_newInPlace (&(h->wbxmlParser));
+ h->wbxmlParser.ext_t_not_table_index =(NW_Uint8)((extTNotStringTable == NW_FALSE)?
+ CXML_FALSE : CXML_TRUE);
+ NW_WBXML_Document_construct(&(h->document), default_public_id);
+ NW_TinyDom_Tree_construct (&(h->tinyDOMTree),
+ &(h->wbxmlParser),
+ &(h->document),
+ &(h->writer));
+ NW_TinyDom_Parser_construct (&(h->tinyParser), &(h->tinyDOMTree));
+}
+
+
+/* ************************************************************************/
+
+/*
+ * Create and populate a dom tree by parsing a buffer, returning the
+ * document node.
+ */
+
+EXPORT_C
+NW_DOM_DocumentNode_t *
+NW_DOM_DocumentNode_BuildWBXMLTree(NW_TinyDom_Handle_t *h,
+ NW_Byte *buffer,
+ NW_Int32 length,
+ NW_Bool freeBuff,
+ NW_Bool extTNotStringTable)
+{
+ NW_Status_t status;
+
+ NW_ASSERT(h != NULL);
+
+ NW_TinyDom_Handle_Initialize(h, 0, extTNotStringTable);
+
+ status = NW_TinyDom_Parser_buildTree (&(h->tinyParser),
+ (char *)buffer,
+ (NW_Uint32)length,
+ freeBuff);
+ if (status == NW_STAT_SUCCESS) {
+ return h->tinyDOMTree.root_node;
+ }
+ return NULL;
+}
+
+/*
+ * This function is same at that of NW_DOM_DocumentNode_BuildWBXMLTree(..)
+ * but returns the error code.
+ */
+
+static
+NW_DOM_DocumentNode_t *
+CXML_DOM_DocumentNode_BuildWBXMLTree(NW_TinyDom_Handle_t *h,
+ NW_Byte *buffer,
+ NW_Int32 length,
+ NW_Bool freeBuff,
+ NW_Bool extTNotStringTable,
+ NW_Status_t* errorStatus)
+{
+ NW_Status_t status;
+
+ NW_ASSERT(h != NULL);
+
+ NW_TinyDom_Handle_Initialize(h, 0, extTNotStringTable);
+
+ status = NW_TinyDom_Parser_buildTree (&(h->tinyParser),
+ (char *)buffer,
+ (NW_Uint32)length,
+ freeBuff);
+ if (status == NW_STAT_SUCCESS)
+ {
+ *errorStatus = status;
+ return h->tinyDOMTree.root_node;
+ }
+ *errorStatus = status;
+ return NULL;
+}
+
+
+/* Function to copy the string table extension values from the
+ * WBXML encoder to WBXML parser
+ */
+
+static NW_Status_t
+NW_DOM_Write_WBXML_StrTbl(NW_TinyDom_Handle_t *p, void* WBXMLEncStrTbl)
+{
+ NW_Status_t status = NW_STAT_SUCCESS;
+ NW_Status_t s = NW_STAT_WBXML_ITERATE_DONE;
+ NW_Uint32 stringTableByteCount = 0;
+ NW_Encoder_StringTableIterator_t strTableIterator;
+ NW_Uint8* pLiteralBuf;
+ NW_String_t pLiteralStr;
+ NW_Uint32 docTableIndex;
+ NW_Encoder_StringTable_t* strTable = NULL;
+ NW_WBXML_Document_t* doc = &(p->document);
+
+ strTable = (NW_Encoder_StringTable_t*) WBXMLEncStrTbl;
+
+ stringTableByteCount = NW_Encoder_StringTable_getTotalBytes(strTable);
+
+
+ if(stringTableByteCount > 0)
+ {
+ /*The following function always return success so why bother to check? */
+
+ NW_Encoder_StringTable_StringTableIterateInit(WBXMLEncStrTbl,&strTableIterator);
+
+
+ s = NW_Encoder_StringTable_StringTableIterateNext
+ (&strTableIterator,&stringTableByteCount,&pLiteralBuf);
+
+ while(s == NW_STAT_WBXML_ITERATE_MORE)
+ {
+
+ pLiteralStr.length = stringTableByteCount;
+ pLiteralStr.storage = pLiteralBuf;
+
+ status = NW_WBXML_Document_putTableString(doc,&pLiteralStr,&docTableIndex) ;
+
+ if(status != NW_STAT_SUCCESS)
+ {
+ break;
+ }
+
+ s = NW_Encoder_StringTable_StringTableIterateNext
+ (&strTableIterator,&stringTableByteCount,&pLiteralBuf) ;
+
+ }/*end while */
+
+ }/*end if(stringTableByteCount > 0)*/
+
+ //Delete the tree
+
+ NW_Encoder_StringTable_delete(WBXMLEncStrTbl);
+ WBXMLEncStrTbl = NULL;
+ return status;
+}/*end NW_DOM_Write_WBXML_StrTbl()*/
+
+static
+NW_DOM_DocumentNode_t*
+NW_DOM_DocumentNode_BuildXMLTree(NW_TinyDom_Handle_t *h,
+ NW_Byte *buffer,
+ NW_Int32 length,
+ NW_Uint32 publicID,
+ NW_Bool extTNotStringTable)
+{
+
+ NW_Buffer_t inBuff;
+ NW_Buffer_t *outBuff = NULL;
+ NW_Uint32 encoding;
+ NW_Endianness_t endianness;
+ NW_DOM_DocumentNode_t* docNode;
+ NW_Status_t status;
+ NW_Uint32 line;
+ void* WBXMLEncStrTbl;
+
+ inBuff.length = length;
+ inBuff.data = buffer;
+
+ status = NW_XML_ComputeEncoding(length,
+ buffer,
+ &encoding,
+ &endianness);
+ if(status != NW_STAT_SUCCESS){
+ return NULL;
+ }
+
+/*
+ * If applications want to use HTML Parser they can call the exported
+ * NW_HTMLP_HtmlToWbxml() and then call NW_DOM_DocumentNode_BuildWBXMLTree()
+ */
+ status = NW_XML_XmlToWbxml(&inBuff, encoding, &outBuff, &line, publicID,&WBXMLEncStrTbl);
+
+
+
+ if(status != NW_STAT_SUCCESS){
+ if(outBuff != NULL){
+ NW_Mem_Free(outBuff);
+ }
+
+ return NULL;
+ }
+ docNode = NW_DOM_DocumentNode_BuildWBXMLTree(h,
+ outBuff->data,
+ outBuff->length,
+ NW_TRUE,
+ extTNotStringTable);
+
+ /* Write extension string table related information to the WBXML encoder. */
+
+ if( docNode && WBXMLEncStrTbl)
+ {
+ status = NW_DOM_Write_WBXML_StrTbl(h,WBXMLEncStrTbl);
+ if(status != NW_STAT_SUCCESS)
+ {
+ if(outBuff != NULL)
+ {
+ NW_Mem_Free(outBuff);
+ }
+ }
+ }/* end if(WBXMLEncStrTbl)*/
+
+ NW_Mem_Free(outBuff);
+ return docNode;
+}
+
+static
+NW_DOM_DocumentNode_t*
+CXML_DOM_DocumentNode_BuildXMLTree(NW_TinyDom_Handle_t *h,
+ NW_Byte *buffer,
+ NW_Int32 length,
+ NW_Uint32 publicID,
+ NW_Bool extTNotStringTable,
+ NW_Status_t* errorStatus)
+{
+
+ NW_Buffer_t inBuff;
+ NW_Buffer_t *outBuff = NULL;
+ NW_Uint32 encoding;
+ NW_Endianness_t endianness;
+ NW_DOM_DocumentNode_t* docNode;
+ NW_Status_t status;
+ NW_Uint32 line;
+ void* WBXMLEncStrTbl;
+
+ inBuff.length = length;
+ inBuff.data = buffer;
+
+ status = NW_XML_ComputeEncoding(length,
+ buffer,
+ &encoding,
+ &endianness);
+ if(status != NW_STAT_SUCCESS)
+ {
+ *errorStatus = status;
+ return NULL;
+ }
+
+/*
+ * If applications want to use HTML Parser they can call the exported
+ * NW_HTMLP_HtmlToWbxml() and then call NW_DOM_DocumentNode_BuildWBXMLTree()
+ */
+ status = NW_XML_XmlToWbxml(&inBuff, encoding, &outBuff, &line, publicID,&WBXMLEncStrTbl);
+
+
+
+ if(status != NW_STAT_SUCCESS){
+ if(outBuff != NULL){
+ NW_Mem_Free(outBuff);
+ }
+ *errorStatus = status;
+ return NULL;
+ }
+
+ docNode = CXML_DOM_DocumentNode_BuildWBXMLTree(h,
+ outBuff->data,
+ outBuff->length,
+ NW_TRUE,
+ extTNotStringTable,
+ errorStatus);
+
+ /* Write extension string table related information to the WBXML encoder. */
+
+ if( docNode && WBXMLEncStrTbl)
+ {
+ status = NW_DOM_Write_WBXML_StrTbl(h,WBXMLEncStrTbl);
+ if(status != NW_STAT_SUCCESS)
+ {
+ if(outBuff != NULL)
+ {
+ NW_Mem_Free(outBuff);
+ }
+ *errorStatus = status;
+ }
+ }/* end if(WBXMLEncStrTbl)*/
+
+ NW_Mem_Free(outBuff);
+ return docNode;
+}/*CXML_DOM_DocumentNode_BuildXMLTree() */
+
+EXPORT_C NW_DOM_DocumentNode_t*
+NW_DOM_DocumentNode_BuildTree(NW_TinyDom_Handle_t *h,
+ NW_Byte *buffer,
+ NW_Int32 length,
+ NW_Bool encoded,
+ NW_Uint32 publicID,
+ NW_Bool extTNotStringTable)
+{
+ if(encoded == NW_TRUE){
+ return NW_DOM_DocumentNode_BuildWBXMLTree(h,
+ buffer,
+ length,
+ NW_FALSE,
+ extTNotStringTable);
+ }
+
+ return NW_DOM_DocumentNode_BuildXMLTree(h,buffer, length, publicID, extTNotStringTable);
+}
+
+
+
+
+/*
+ * Returns publicId of the document (WBXML Specific)
+ * otherwise 0
+ */
+
+EXPORT_C NW_Uint32
+NW_DOM_DocumentNode_getPublicIdAsNumber(NW_DOM_DocumentNode_t *doc)
+{
+ NW_WBXML_Document_t *header;
+ NW_TinyTree_t *tiny_tree;
+
+ NW_ASSERT(doc != NULL);
+
+ if (NW_DOM_Node_getNodeType(doc) != NW_DOM_DOCUMENT_NODE){
+ return 0;
+ }
+
+ tiny_tree = NW_TinyTree_Node_findTree(doc);
+ header = NW_TinyDom_getDocHeader(tiny_tree);
+ NW_ASSERT(header != NULL);
+
+ return header->publicid;
+}
+
+/*
+ * Gets the publicid as string
+ * Returns
+ * NW_STAT_DOM_NODE_TYPE_ERR
+ * NW_STAT_SUCCESS
+ * MODIFIED - docType
+ */
+
+EXPORT_C NW_Status_t
+NW_DOM_DocumentNode_getPublicId(NW_DOM_DocumentNode_t *doc,
+ NW_String_t *docType)
+{
+ NW_WBXML_Document_t *header;
+ NW_TinyTree_t *tiny_tree;
+
+ NW_ASSERT(doc != NULL);
+ NW_ASSERT(docType != NULL);
+
+ if (NW_DOM_Node_getNodeType(doc) != NW_DOM_DOCUMENT_NODE)
+ return NW_STAT_DOM_NODE_TYPE_ERR;
+
+ tiny_tree = NW_TinyTree_Node_findTree(doc);
+ header = NW_TinyDom_getDocHeader(tiny_tree);
+
+ NW_ASSERT(header != NULL);
+ NW_String_shallowCopy(docType, header->doc_type);
+
+ return NW_STAT_SUCCESS;
+}
+
+/*
+ * Returns the version of the document,
+ * 0 in case of invalid operation (e.g. NULL doc)
+ */
+
+EXPORT_C NW_Uint8
+NW_DOM_DocumentNode_getVersion(NW_DOM_DocumentNode_t *doc)
+{
+ NW_WBXML_Document_t *header;
+ NW_TinyTree_t *tiny_tree;
+
+ NW_ASSERT(doc != NULL);
+
+ if (NW_DOM_Node_getNodeType(doc) != NW_DOM_DOCUMENT_NODE){
+ return 0;
+ }
+
+ tiny_tree = NW_TinyTree_Node_findTree(doc);
+ header = NW_TinyDom_getDocHeader(tiny_tree);
+ NW_ASSERT(header != NULL);
+
+ return header->version;
+
+}
+
+/*
+ * Returns the supported encoding of the document
+ * or 0 for invalid document
+ */
+
+EXPORT_C NW_Uint32
+NW_DOM_DocumentNode_getCharacterEncoding(NW_DOM_DocumentNode_t *doc)
+{
+ NW_WBXML_Document_t *header;
+ NW_TinyTree_t *tiny_tree;
+
+ NW_ASSERT(doc != NULL);
+
+ if (NW_DOM_Node_getNodeType(doc) != NW_DOM_DOCUMENT_NODE)
+ return 0;
+
+ tiny_tree = NW_TinyTree_Node_findTree(doc);
+ header = NW_TinyDom_getDocHeader(tiny_tree);
+ NW_ASSERT(header != NULL);
+
+ return header->charset;
+}
+
+/*
+ * Returns child node that is the root of this document
+ */
+
+EXPORT_C NW_DOM_ElementNode_t *
+NW_DOM_DocumentNode_getDocumentElement(NW_DOM_DocumentNode_t *doc)
+{
+ NW_DOM_Node_t *docChild;
+ NW_Uint16 type;
+
+ NW_ASSERT(doc != NULL);
+
+ if (NW_DOM_Node_getNodeType(doc) != NW_DOM_DOCUMENT_NODE){
+ return NULL;
+ }
+
+ /*
+ * Get the first child of the document node
+ * (can be a PI node)
+ */
+
+ docChild = NW_DOM_Node_getFirstChild(doc);
+
+ type = NW_DOM_Node_getNodeType(docChild);
+ if (type == 0){
+ return NULL;
+ }
+
+ while (type != NW_DOM_ELEMENT_NODE){
+ docChild = NW_DOM_Node_getNextSibling(docChild);
+ type = NW_DOM_Node_getNodeType(docChild);
+ }
+
+ return docChild;
+}
+
+/*
+ * Gets the dictionary
+ */
+
+EXPORT_C NW_WBXML_Dictionary_t *
+NW_DOM_DocumentNode_getDictionary(NW_DOM_DocumentNode_t *doc)
+{
+ NW_Uint32 publicid = 0;
+ NW_Uint32 encoding;
+ NW_WBXML_Dictionary_t *dictionary = NULL;
+ NW_Status_t status;
+
+ NW_ASSERT(doc != NULL);
+
+ encoding = NW_DOM_DocumentNode_getCharacterEncoding(doc);
+ publicid = NW_DOM_DocumentNode_getPublicIdAsNumber(doc);
+
+ if (publicid != 0){
+ dictionary = NW_WBXML_Dictionary_getByPublicId(publicid);
+ }
+ else{
+ NW_String_t docType;
+
+ status = NW_DOM_DocumentNode_getPublicId(doc, &docType);
+ if (status != NW_STAT_SUCCESS){
+ return NULL;
+ }
+ dictionary = NW_WBXML_Dictionary_getByDocType(&docType, encoding);
+ }
+ return dictionary;
+}
+
+
+
+NW_Status_t
+NW_DOM_DocumentNode_getElementIteratorByTagName(NW_DOM_DocumentNode_t *doc,
+ NW_String_t* name,
+ NW_DOM_NodeIterator_t *handle)
+{
+ NW_WBXML_Dictionary_t *dict = NULL;
+ NW_String_UCS2Buff_t *buff = NULL;
+ NW_Uint32 encoding;
+ NW_Int16 token;
+
+ NW_ASSERT(doc != NULL);
+ NW_ASSERT(name != NULL);
+ NW_ASSERT(handle != NULL);
+
+ encoding = NW_DOM_DocumentNode_getCharacterEncoding(doc);
+ dict = NW_DOM_DocumentNode_getDictionary(doc);
+ buff = NW_String_stringToUCS2Buff(name, encoding);
+ if((buff == NULL) || (dict == NULL)){
+ NW_Mem_Free(buff);
+ return NW_STAT_FAILURE;
+ }
+ token = NW_WBXML_Dictionary_getTagToken(dict, buff, NW_TRUE);
+ NW_Mem_Free(buff);
+ if (token < 0) {
+ return NW_STAT_FAILURE;
+ }
+ else {
+ return NW_DOM_DocumentNode_getElementIteratorByTagToken(doc,
+ (NW_Uint16)token,
+ handle);
+}
+}
+
+NW_Status_t
+NW_DOM_DocumentNode_getElementIteratorByTagToken(NW_DOM_DocumentNode_t *doc,
+ NW_Uint16 token,
+ NW_DOM_NodeIterator_t *handle)
+{
+
+ NW_DOM_ElementNode_t *elem;
+
+ NW_ASSERT(doc != NULL);
+ NW_ASSERT(handle != NULL);
+
+ if (NW_DOM_Node_getNodeType(doc) != NW_DOM_DOCUMENT_NODE)
+ return NW_STAT_DOM_NODE_TYPE_ERR;
+
+ elem = NW_DOM_DocumentNode_getDocumentElement(doc);
+ NW_ASSERT(elem != NULL);
+
+ return NW_DOM_NodeIterator_initialize(handle, elem, token);
+}
+
+
+
+
+
+/*
+ * Returns a pointer to the created Element Node
+ */
+EXPORT_C NW_DOM_ElementNode_t *
+NW_DOM_DocumentNode_createElementNode(
+ NW_DOM_DocumentNode_t *doc, NW_String_t *name)
+{
+ NW_Uint32 encoding = NW_DOM_DocumentNode_getCharacterEncoding(doc);
+ NW_String_UCS2Buff_t *ucs2Buff = NULL;
+ NW_Uint8 *uint8Buf = NULL;
+ NW_Int32 fqToken = 0;
+ NW_WBXML_Dictionary_t *dictionary = NW_DOM_DocumentNode_getDictionary(doc);
+ NW_TinyTree_t* tinyTree;
+ NW_TinyDom_Tree_t *tree;
+
+ if ((doc == NULL) || (name == NULL) || (dictionary == NULL))
+ {
+ return NULL;
+ }
+
+ ucs2Buff = NW_String_stringToUCS2Buff(name, encoding);
+ if (ucs2Buff == NULL){
+ return NULL;
+ }
+ uint8Buf = (NW_Uint8 *) CXML_Str_CvtToAscii((NW_Ucs2*) ucs2Buff);
+ NW_Mem_Free(ucs2Buff);
+ if(uint8Buf == NULL){
+ return NULL;
+ }
+ tinyTree = NW_TinyTree_Node_findTree(doc);
+ tree = NW_TinyDom_getTree(tinyTree);
+
+ fqToken = (NW_Int32) NW_WBXML_Dictionary_getTagToken(dictionary, ucs2Buff, NW_TRUE);
+ NW_Mem_Free(uint8Buf);
+ if (fqToken == -1){
+ return NW_TinyDom_createElementByName(tree, name);
+ }
+
+ return NW_TinyDom_createElementByToken(tree, (NW_Uint16)fqToken);
+}
+
+/*
+ * Returns a pointer to the created Element Node
+ */
+EXPORT_C NW_DOM_ElementNode_t *
+NW_DOM_DocumentNode_createElementNodeByToken(
+ NW_DOM_DocumentNode_t *doc, NW_Uint16 token)
+{
+ NW_TinyTree_t* tinyTree;
+ NW_TinyDom_Tree_t *tree;
+ NW_WBXML_Dictionary_t *dictionary;
+
+ dictionary = NW_DOM_DocumentNode_getDictionary(doc);
+ if ((doc == NULL) || (dictionary == NULL) || (token == 0))
+ {
+ return NULL;
+ }
+
+ tinyTree = NW_TinyTree_Node_findTree(doc);
+ tree = NW_TinyDom_getTree(tinyTree);
+
+ return NW_TinyDom_createElementByToken(tree, (NW_Uint16)token);
+}
+
+
+/*
+ * Returns a pointer to the created Text Node
+ */
+EXPORT_C NW_DOM_TextNode_t *
+NW_DOM_DocumentNode_createTextNodeWithTextItem(
+ NW_DOM_DocumentNode_t *doc, NW_DOM_TextItem_t *data)
+{
+ NW_TinyTree_t* tinyTree;
+ NW_TinyDom_Tree_t *tree;
+
+ if ((doc == NULL) || (data == NULL))
+ return NULL;
+
+ tinyTree = NW_TinyTree_Node_findTree(doc);
+ tree = NW_TinyDom_getTree(tinyTree);
+
+ return NW_TinyDom_createTextNode(tree, data);
+}
+
+/*
+ * Returns a pointer to the created Text Node
+ */
+EXPORT_C NW_DOM_TextNode_t *
+NW_DOM_DocumentNode_createTextNode(
+ NW_DOM_DocumentNode_t *doc, NW_String_t *data)
+{
+ NW_TinyTree_t* tinyTree;
+ NW_TinyDom_Tree_t *tree;
+ NW_DOM_TextItem_t item;
+
+ if (NW_DOM_TextItem_initFromString(&item, data) != NW_STAT_SUCCESS)
+ return NULL;
+
+ if ((doc == NULL) || (data == NULL))
+ return NULL;
+
+ tinyTree = NW_TinyTree_Node_findTree(doc);
+ tree = NW_TinyDom_getTree(tinyTree);
+
+ return NW_TinyDom_createTextNode(tree, &item);
+}
+
+/*
+ * Returns a pointer to the created Comment Node
+ */
+NW_DOM_CommentNode_t *
+NW_DOM_DocumentNode_createCommentNode(
+ NW_DOM_DocumentNode_t *doc, NW_String_t *data)
+{
+ NW_DOM_TextNode_t *t =
+ NW_DOM_DocumentNode_createTextNode(doc, data);
+ if (t == NULL)
+ return NULL;
+ NW_TinyTree_Node_setUserFlags(t, T_DOM_NODE_COMMENT);
+ t->flags |= T_DOM_NODE_XML;
+ return (NW_DOM_CommentNode_t *)t;
+}
+
+
+/*
+ * Returns a pointer to the created CDataSection Node
+ */
+NW_DOM_CDATASectionNode_t *
+NW_DOM_DocumentNode_createCDATASectionNode(
+ NW_DOM_DocumentNode_t *doc, NW_String_t *data)
+{
+ NW_DOM_TextNode_t *t =
+ NW_DOM_DocumentNode_createTextNode(doc, data);
+ if (t == NULL)
+ return NULL;
+ NW_TinyTree_Node_setUserFlags(t, T_DOM_NODE_CDATASECTION);
+ t->flags |= T_DOM_NODE_XML;
+ return (NW_DOM_CommentNode_t *)t;
+}
+
+
+/*
+ * Returns a pointer to the created ProcessingInstructionNode Node
+ */
+NW_DOM_ProcessingInstructionNode_t *
+NW_DOM_DocumentNode_createProcessingInstructionNodeByAttrVal(NW_DOM_DocumentNode_t* pDoc,
+ NW_String_t* pTargetString,
+ NW_DOM_AttrVal_t* pData)
+{
+ NW_TinyTree_Node_t* pPiNode;
+ NW_TinyTree_Node_t* pAttrNode;
+ NW_TinyTree_t* pTinyTree;
+ NW_TinyDom_Tree_t* pTree;
+ NW_WBXML_Dictionary_t* pDictionary;
+ NW_Uint32 encoding;
+ NW_Int32 fqToken;
+
+ if ((pDoc == NULL) || (pTargetString == NULL) || (pData == NULL)) {
+ return NULL;
+ }
+ pTinyTree = NW_TinyTree_Node_findTree(pDoc);
+ pTree = NW_TinyDom_getTree(pTinyTree);
+
+ pDictionary = NW_DOM_DocumentNode_getDictionary(pDoc);
+ if (pDictionary == NULL) {
+ return NULL;
+ }
+ encoding = NW_DOM_DocumentNode_getCharacterEncoding(pDoc);
+ fqToken = NW_WBXML_Dictionary_getAttributeToken(pDictionary,
+ pTargetString,
+ encoding,
+ NW_TRUE /* name */);
+ if (fqToken == -1)
+ {
+ pPiNode = NW_TinyTree_createNode(&(pTree->tree), 0);
+ if (pPiNode == NULL) {
+ return NULL;
+ }
+ NW_TinyTree_Node_setUserFlags(pPiNode, T_DOM_NODE_PI);
+
+ pAttrNode = NW_TinyDom_createAttributeByName(pTree,
+ pTargetString,
+ pData);
+ if (pAttrNode == NULL) {
+ (void)NW_TinyTree_deleteNode(pPiNode);
+ return NULL;
+ }
+ (void)NW_TinyTree_attachChild(pPiNode, pAttrNode);
+ return pPiNode;
+ }
+ return NW_DOM_DocumentNode_createProcessingInstructionNodeByToken(pDoc,
+ (NW_Uint16)fqToken,
+ pData);
+}
+
+/*
+ * Returns a pointer to the created ProcessingInstructionNode Node
+ */
+
+NW_DOM_ProcessingInstructionNode_t *
+NW_DOM_DocumentNode_createProcessingInstructionNodeByToken(
+ NW_DOM_DocumentNode_t *pDoc, NW_Uint16 token, NW_DOM_AttrVal_t *pData)
+{
+ NW_TinyTree_Node_t* pPiNode;
+ NW_TinyTree_Node_t* pAttrNode;
+ NW_TinyTree_t* pTinyTree;
+ NW_TinyDom_Tree_t* pTree;
+
+ if ((pDoc == NULL) || (token == 0) || (pData == NULL))
+ return NULL;
+
+ pTinyTree = NW_TinyTree_Node_findTree(pDoc);
+ pTree = NW_TinyDom_getTree(pTinyTree);
+ pPiNode = NW_TinyTree_createNode(&(pTree->tree), 0);
+ if (pPiNode == NULL) {
+ return NULL;
+ }
+ NW_TinyTree_Node_setUserFlags(pPiNode, T_DOM_NODE_PI);
+
+ pAttrNode = NW_TinyDom_createAttributeByToken(pTree,
+ (NW_Uint8)token,
+ pData);
+ if (pAttrNode == NULL) {
+ (void)NW_TinyTree_deleteNode(pPiNode);
+ return NULL;
+ }
+ (void)NW_TinyTree_attachChild(pPiNode, pAttrNode);
+ return pPiNode;
+}
+
+/*
+ * Returns a pointer to the created ProcessingInstructionNode Node
+ */
+NW_DOM_ProcessingInstructionNode_t *
+NW_DOM_DocumentNode_createProcessingInstructionNode(
+ NW_DOM_DocumentNode_t *doc, NW_String_t *target, NW_String_t *data)
+{
+ NW_DOM_AttrVal_t val;
+
+ if ((doc == NULL) || (target == 0) || (data == NULL))
+ return NULL;
+
+ NW_DOM_AttrVal_initFromString(&val, data);
+ return NW_DOM_DocumentNode_createProcessingInstructionNodeByAttrVal(doc, target, &val);
+}
+
+/*
+ * Returns a pointer to the created Document Node
+ * - NOT SUPPRTED - ask Steve
+NW_DOM_DocumentNode_t *
+NW_DOM_DocumentNode_createDocument(
+ NW_Uint8 version, NW_String_t *publicid, NW_Uint32 encoding)
+{
+ NW_WBXML_Parser_t *WBXMLParser;
+ NW_TinyDom_Parser_t *tinyParser;
+ NW_TinyDom_Tree_t *domTree;
+ NW_WBXML_Writer_t *writer;
+ NW_Status_t status;
+
+ WBXMLParser = NW_Mem_Malloc(sizeof(NW_WBXML_Parser_t));
+ tinyParser = NW_Mem_Malloc(sizeof(NW_TinyDom_Parser_t));
+ domTree = NW_Mem_Malloc(sizeof(NW_TinyDom_Tree_t));
+ writer = NW_Mem_Malloc(sizeof(NW_WBXML_Writer_t));
+
+ NW_WBXML_Parser_reset(WBXMLParser);
+ domTree->doc->version = version;
+ domTree->doc->doc_type = publicid;
+ domTree->doc->charset = encoding;
+ NW_TinyDom_Tree_construct(domTree, WBXMLParser, domTree->doc, writer);
+ NW_TinyDom_Parser_construct(tinyParser, domTree);
+ status = NW_TinyDom_Tree_create(domTree, tinyParser, domTree->doc,
+ WBXMLParser, writer, 2);
+ if (status != NW_STAT_SUCCESS)
+ return NULL;
+ return NW_TinyDom_writeDocHeader(domTree, version, publicid, encoding);
+}*/
+
+/*
+ * Create an empty dom tree, returning the document node.
+ */
+
+EXPORT_C NW_DOM_DocumentNode_t *
+NW_DOM_DocumentNode_createDocumentWithNumberPublicId(NW_TinyDom_Handle_t *h,
+ NW_Uint8 version,
+ NW_Uint32 publicid,
+ NW_Uint32 encoding,
+ NW_Bool extTNotStringTable,
+ NW_Bool enableStringTable)
+{
+ NW_Status_t status = NW_STAT_SUCCESS;
+ NW_TinyDom_Handle_Initialize(h, publicid, extTNotStringTable);
+
+ h->document.charset = encoding;
+ h->document.publicid = publicid;
+ h->document.version = version;
+
+
+ status = NW_TinyDom_Tree_create(&h->tinyDOMTree, &h->tinyParser,
+ &h->document, &h->wbxmlParser,
+ &h->writer, 4, enableStringTable);
+
+
+
+ if(status == NW_STAT_SUCCESS)
+ {
+ return h->tinyDOMTree.root_node;
+ }
+ else
+ {
+
+ return NULL;
+ }
+}
+
+
+/*
+ * One of the API for Building the DOM tree.
+ */
+
+EXPORT_C NW_DOM_DocumentNode_t*
+CXML_DOM_DocumentNode_BuildTree(NW_TinyDom_Handle_t* h,
+ NW_Byte* buffer,
+ NW_Int32 length,
+ NW_Bool encoded,
+ NW_Uint32 publicID,
+ NW_Bool extTNotStringTable,
+ NW_Status_t* errorStatus)
+{
+ *errorStatus = NW_STAT_SUCCESS;
+ if(encoded == NW_TRUE)
+ {
+ return CXML_DOM_DocumentNode_BuildWBXMLTree(h,
+ buffer,
+ length,
+ NW_FALSE,
+ extTNotStringTable,
+ errorStatus);
+ }
+
+ return CXML_DOM_DocumentNode_BuildXMLTree(h,
+ buffer,
+ length,
+ publicID,
+ extTNotStringTable,
+ errorStatus);
+
+
+}/*end CXML_DOM_DocumentNode_BuildTree()*/
+
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/dom/src/element.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/dom/src/element.c Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,799 @@
+/*
+* Copyright (c) 2000 - 2001 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include "cxml_internal.h"
+#include
+#include
+#include
+#include
+
+/*
+ * Returns
+ * NW_STAT_DOM_NODE_TYPE_ERR - if it is not an Element Node
+ * NW_STAT_OUT_OF_MEMORY
+ * NW_STAT_DOM_NO_STRING_RETURNED
+ * NW_STAT_SUCCESS
+ *
+ * MODIFIED name (of the element)
+ */
+
+EXPORT_C NW_Status_t
+NW_DOM_ElementNode_getTagName(NW_DOM_ElementNode_t *elem,
+ NW_String_t *name)
+{
+ NW_DOM_DocumentNode_t *docNode;
+ NW_Uint32 encoding;
+ NW_Status_t status;
+ NW_Uint32 token;
+ NW_TinyTree_t *tiny_tree;
+
+ NW_ASSERT(elem != NULL);
+ NW_ASSERT(name != NULL);
+
+ if (NW_DOM_Node_getNodeType(elem) != NW_DOM_ELEMENT_NODE){
+ return NW_STAT_DOM_NODE_TYPE_ERR;
+ }
+
+ /*
+ * Following method will return name if the node is XML type
+ * or it is a literal tag
+ */
+
+ tiny_tree = NW_TinyTree_Node_findTree(elem);
+
+ status = NW_TinyDom_getTagName(NW_TinyDom_getParser(tiny_tree), elem, name);
+
+ if (status == NW_STAT_SUCCESS){
+ return NW_STAT_SUCCESS;
+ }
+ /* No string returned means that getTagName succeeded but
+ * didn't find a literal name . . .
+ */
+
+ if (status != NW_STAT_WBXML_NO_NAME){
+ return NW_STAT_DOM_NO_STRING_RETURNED;
+ }
+
+ /* . . . so we try to get a name from dictionary */
+
+ docNode = NW_DOM_Node_getOwnerDocument(elem);
+ encoding = NW_DOM_DocumentNode_getCharacterEncoding(docNode);
+ token = NW_TinyDom_getTagToken(NW_TinyDom_getParser(tiny_tree), elem);
+ return NW_String_tokenToString(token, name, encoding);
+}
+
+/*
+ * Returns the fully qualified token for the node
+ */
+
+EXPORT_C NW_Uint16
+NW_DOM_ElementNode_getTagToken(NW_DOM_ElementNode_t *elem)
+{
+ NW_Uint16 type;
+ NW_TinyTree_t *tiny_tree;
+
+ NW_ASSERT(elem != NULL);
+
+ type = NW_TinyDom_Node_getType(elem);
+
+ if (type != NW_DOM_ELEMENT_NODE){
+ return 0;
+ }
+ tiny_tree = NW_TinyTree_Node_findTree(elem);
+
+ if (elem->token == 0)
+ {
+ elem->token =
+ (NW_Uint16)NW_TinyDom_getTagToken(NW_TinyDom_getParser(tiny_tree), elem);
+
+ /* if (NW_DOM_Node_hasChildNodes(elem)){
+ token |= NW_WBXML_FLAGS_CONTENT;
+ }
+ if (NW_DOM_ElementNode_hasAttributes(elem)){
+ token |= NW_WBXML_FLAGS_ATTRIBUTES;
+ }
+ elem->token = token;*/
+ }
+ return (NW_Uint16)(elem->token & 0xff3f);
+}
+
+
+/*
+ * Returns
+ * NW_STAT_DOM_NODE_TYPE_ERR
+ * NW_STAT_NOT_FOUND - if attribute is not found
+ * NW_STAT_DOM_NO_STRING_RETURNED
+ * NW_STAT_SUCCESS
+ *
+ * This method returns attribute value as string
+ * IN - attributeName - name of attribute
+ * MODIFIED - attributeValue
+
+Note: The passed in argument "attributeName" must be given as aligned,
+native byte order, null terminated, UCS-2. The reason is that clients
+wish to process documents in various encodings but they don't want to
+have to convert element and attribute names which are program constants
+into whatever charset the document appears in.
+ */
+
+EXPORT_C NW_Status_t
+NW_DOM_ElementNode_getAttribute(
+ NW_DOM_ElementNode_t *elem,
+ NW_String_t *attributeName,
+ NW_String_t *attributeValue)
+{
+ NW_DOM_AttributeHandle_t attributeHandle;
+ NW_Status_t status;
+
+ NW_ASSERT(elem != NULL);
+ NW_ASSERT(attributeName != NULL);
+ NW_ASSERT(attributeValue != NULL);
+
+ if ((NW_DOM_Node_getNodeType(elem) != NW_DOM_ELEMENT_NODE)
+ && (NW_DOM_Node_getNodeType(elem) != NW_DOM_PROCESSING_INSTRUCTION_NODE)) {
+ return NW_STAT_DOM_NODE_TYPE_ERR;
+ }
+
+ status = NW_DOM_ElementNode_getAttributeHandleByName(elem,
+ attributeName,
+ &attributeHandle);
+ if (status != NW_STAT_SUCCESS){
+ return status;
+ }
+
+ return NW_DOM_AttributeHandle_getValue(&attributeHandle, attributeValue);
+}
+
+
+/*
+ * Returns NW_TRUE if element has attributes, otherwise NW_FALSE
+ */
+
+EXPORT_C NW_Bool
+NW_DOM_ElementNode_hasAttributes(NW_DOM_ElementNode_t *elem)
+{
+ NW_DOM_Node_t *child;
+
+ NW_ASSERT(elem != NULL);
+
+ if ((NW_DOM_Node_getNodeType(elem) != NW_DOM_ELEMENT_NODE)
+ && (NW_DOM_Node_getNodeType(elem) != NW_DOM_PROCESSING_INSTRUCTION_NODE))
+ {
+ return NW_FALSE;
+ }
+
+ child = NW_TinyTree_findFirstChild(elem);
+
+ while(child){
+ if (NW_TinyDom_Node_getType(child) == T_DOM_NODE_ATTR){
+ return NW_TRUE;
+ }
+ child = NW_TinyTree_findNextSibling(child);
+ }
+ return NW_FALSE;
+}
+
+/*
+ * Returns
+ * NW_STAT_DOM_NODE_TYPE_ERR
+ * NW_STAT_SUCCESS
+ * MODIFIED iterator
+ * WAP-adapted DOM extension
+ */
+
+EXPORT_C NW_Status_t
+NW_DOM_ElementNode_getAttributeListIterator(NW_DOM_Node_t *node,
+ NW_DOM_AttributeListIterator_t
+ *iterator)
+{
+ NW_DOM_Node_t *child;
+ NW_TinyTree_t *tiny_tree;
+
+ NW_ASSERT(node != NULL);
+ NW_ASSERT(iterator != NULL);
+
+ if ((NW_DOM_Node_getNodeType(node) != NW_DOM_ELEMENT_NODE)
+ && (NW_DOM_Node_getNodeType(node) != NW_DOM_PROCESSING_INSTRUCTION_NODE))
+ {
+ return NW_STAT_DOM_NODE_TYPE_ERR;
+ }
+
+ tiny_tree = NW_TinyTree_Node_findTree(node);
+
+ (void) NW_DOM_AttributeListIterator_initialize(iterator);
+
+ child = NW_TinyTree_findFirstChild(node);
+ iterator->node = child;
+ if(child){
+ if (NW_TinyDom_Node_getType(child) == T_DOM_NODE_ATTR){
+ NW_TinyDom_AttrListHandle_init(&iterator->attrListHandle,
+ NW_TinyDom_getParser(tiny_tree),
+ child);
+ return NW_STAT_SUCCESS;
+ }
+ child = NW_TinyTree_findNextSibling(child);
+ while (child){
+ if (NW_TinyDom_Node_getType(child) == T_DOM_NODE_ATTR){
+ NW_TinyDom_AttrListHandle_init(&iterator->attrListHandle,
+ NW_TinyDom_getParser(tiny_tree),
+ child);
+ return NW_STAT_SUCCESS;
+ }
+ child = NW_TinyTree_findNextSibling(child);
+ }
+ }
+ return NW_STAT_NOT_FOUND;
+}
+
+/*
+ * Returns
+ * NW_STAT_DOM_NODE_TYPE_ERR
+ * NW_STAT_NOT_FOUND - if attribute is not found
+ * NW_STAT_SUCCESS
+ *
+ * IN - attributeName
+ * MODIFIED - handle
+ */
+
+EXPORT_C NW_Status_t
+NW_DOM_ElementNode_getAttributeHandleByName(NW_DOM_ElementNode_t *elem,
+ NW_String_t *attributeName,
+ NW_DOM_AttributeHandle_t
+ *attributeHandle)
+{
+ NW_Status_t nwStatus;
+ NW_Status_t status;
+ NW_DOM_AttributeListIterator_t attrListIterator;
+ NW_Bool attributeFound = NW_FALSE;
+ NW_String_t currentName;
+ NW_Uint32 docEncoding;
+ NW_Int32 charCount;
+ NW_Uint32 byteCount = 0;
+ NW_Int32 cmpResult;
+
+ NW_ASSERT(elem != NULL);
+ NW_ASSERT(attributeHandle != NULL);
+ NW_ASSERT(attributeName != NULL);
+
+ if ((NW_DOM_Node_getNodeType(elem) != NW_DOM_ELEMENT_NODE)
+ && (NW_DOM_Node_getNodeType(elem) != NW_DOM_PROCESSING_INSTRUCTION_NODE))
+ {
+ return NW_STAT_DOM_NODE_TYPE_ERR;
+ }
+
+ if (!NW_DOM_ElementNode_hasAttributes(elem)){
+ return NW_STAT_NOT_FOUND;
+ }
+
+ /* Initialize the handle */
+ status =
+ NW_DOM_ElementNode_getAttributeListIterator(elem, &attrListIterator);
+
+ if (status != NW_STAT_SUCCESS){
+ return status;
+ }
+
+ while (!attributeFound){
+ if (NW_DOM_AttributeListIterator_getNextAttribute(&attrListIterator,
+ attributeHandle)
+ == NW_STAT_WBXML_ITERATE_DONE){
+ return NW_STAT_NOT_FOUND;
+ }
+
+ status = NW_DOM_AttributeHandle_getName(attributeHandle, ¤tName);
+ if (status != NW_STAT_SUCCESS){
+ continue;
+ }
+
+ docEncoding = NW_DOM_AttributeHandle_getEncoding (attributeHandle);
+ charCount = NW_String_charBuffGetLength(currentName.storage, docEncoding,
+ &byteCount);
+ if (charCount < 0) {
+ return NW_STAT_FAILURE;
+ }
+
+ nwStatus = NW_String_CmpToNativeAlignedUCS2(docEncoding, (NW_Uint32) charCount,
+ currentName.storage,
+ (NW_Uint16*)(attributeName->storage),
+ &cmpResult);
+ NW_String_deleteStorage(¤tName);
+ if (NW_STAT_IS_FAILURE(nwStatus)){
+ continue;
+ }
+ if (cmpResult == 0){
+ attributeFound = NW_TRUE;
+ }
+ }
+
+ /* Proceed: Attribute Found */
+
+ /* If attributeHandle->node != NULL, that means that the attribute has an
+ independent node to itself, and is not a part of list node */
+
+ if (attributeHandle->node != NULL){
+ NW_Bool nextAttrWithSameNameFound = NW_FALSE;
+ NW_DOM_AttributeHandle_t h;
+ h.node = NULL;
+
+ while (!nextAttrWithSameNameFound){
+ if (NW_DOM_AttributeListIterator_getNextAttribute(&attrListIterator, &h)
+ == NW_STAT_WBXML_ITERATE_DONE){
+ break;
+ }
+ status = NW_DOM_AttributeHandle_getName(&h, ¤tName);
+ if (status != NW_STAT_SUCCESS){
+ break;
+ }
+ docEncoding = NW_DOM_AttributeHandle_getEncoding(attributeHandle);
+ charCount = NW_String_charBuffGetLength(currentName.storage, docEncoding,
+ &byteCount);
+ if (charCount < 0) {
+ return NW_STAT_FAILURE;
+ }
+ nwStatus = NW_String_CmpToNativeAlignedUCS2(docEncoding, (NW_Uint32)charCount,
+ currentName.storage,
+ (NW_Uint16*)(attributeName->storage),
+ &cmpResult);
+ NW_String_deleteStorage(¤tName);
+ if (NW_STAT_IS_FAILURE(nwStatus)){
+ continue;
+ }
+ if (cmpResult == 0){
+ nextAttrWithSameNameFound = NW_TRUE;
+ }
+ }
+
+ if (nextAttrWithSameNameFound){
+ NW_TinyDom_Parser_t *parser =
+ attrListIterator.attrListHandle.tiny_parser;
+ NW_DOM_AttributeHandle_initWithNode(attributeHandle, parser, h.node);
+ }
+ }
+
+ return NW_STAT_SUCCESS;
+}
+
+/**
+ * The following 2 methods use token to return attributes
+ */
+
+/*
+ * Returns
+ * NW_STAT_DOM_NODE_TYPE_ERR
+ * NW_STAT_NOT_FOUND - if attribute is not found
+ * NW_STAT_SUCCESS
+ *
+ * IN - token
+ * MODIFIED - handle
+ */
+
+EXPORT_C NW_Status_t
+NW_DOM_ElementNode_getAttributeHandleByToken(NW_DOM_ElementNode_t *elem,
+ NW_Uint16 token,
+ NW_DOM_AttributeHandle_t *handle)
+{
+ NW_DOM_AttributeListIterator_t attributeListIterator;
+ NW_Bool attributeFound = NW_FALSE;
+ NW_Uint16 currentToken = 0;
+ NW_Status_t status;
+ NW_TinyDom_Parser_t *parser;
+
+ NW_ASSERT(token != 0);
+ NW_ASSERT(elem != NULL);
+ NW_ASSERT(handle != NULL);
+
+ if ((NW_DOM_Node_getNodeType(elem) != NW_DOM_ELEMENT_NODE)
+ && (NW_DOM_Node_getNodeType(elem) != NW_DOM_PROCESSING_INSTRUCTION_NODE)){
+ return NW_STAT_DOM_NODE_TYPE_ERR;
+ }
+
+ if (!NW_DOM_ElementNode_hasAttributes(elem)){
+ return NW_STAT_NOT_FOUND;
+ }
+
+ status =
+ NW_DOM_ElementNode_getAttributeListIterator(elem, &attributeListIterator);
+
+ if (status != NW_STAT_SUCCESS){
+ return status;
+ }
+
+ while (!attributeFound){
+ if (NW_DOM_AttributeListIterator_getNextAttribute(&attributeListIterator,
+ handle)
+ == NW_STAT_WBXML_ITERATE_DONE){
+ return NW_STAT_NOT_FOUND;
+ }
+ currentToken = NW_DOM_AttributeHandle_getToken(handle);
+ if (currentToken == token){
+ attributeFound = NW_TRUE;
+ }
+ }
+ /* if we arrive here, attributeFound must be NW_TRUE */
+ if (handle->node != NULL)
+ {
+ NW_Bool nextAttrWithSameNameFound = NW_FALSE;
+ NW_DOM_AttributeHandle_t h;
+ h.node = NULL;
+
+ while (!nextAttrWithSameNameFound){
+ if (NW_DOM_AttributeListIterator_getNextAttribute(&attributeListIterator,
+ &h)
+ == NW_STAT_WBXML_ITERATE_DONE){
+ return NW_STAT_BAD_INPUT_PARAM;
+ }
+
+ currentToken = NW_DOM_AttributeHandle_getToken(&h);
+ if (currentToken == token)
+ nextAttrWithSameNameFound = NW_TRUE;
+ }
+
+ parser = attributeListIterator.attrListHandle.tiny_parser;
+ NW_DOM_AttributeHandle_initWithNode(handle, parser, h.node);
+ }
+
+ return NW_STAT_SUCCESS;
+}
+
+/*
+ * Returns
+ * NW_STAT_NOT_FOUND - if attribute is not found
+ * NW_STAT_DOM_NODE_TYPE_ERR
+ * NW_STAT_DOM_NO_STRING_RETURNED
+ * NW_STAT_SUCCESS
+ *
+ * This method returns attribute value as string
+ * IN - token of attribute
+ * MODIFIED - attributeValue
+ */
+
+NW_Status_t
+NW_DOM_ElementNode_getAttributeValueStringByToken(NW_DOM_ElementNode_t *elem,
+ NW_Uint16 token,
+ NW_String_t *attributeValue)
+{
+ NW_DOM_AttributeHandle_t attributeHandle;
+ NW_Status_t status;
+
+ NW_ASSERT(elem != NULL);
+ NW_ASSERT(attributeValue != NULL);
+
+ if ((NW_DOM_Node_getNodeType(elem) != NW_DOM_ELEMENT_NODE)
+ && (NW_DOM_Node_getNodeType(elem) != NW_DOM_PROCESSING_INSTRUCTION_NODE))
+ {
+ return NW_STAT_DOM_NODE_TYPE_ERR;
+ }
+
+ status =
+ NW_DOM_ElementNode_getAttributeHandleByToken(elem,
+ token,
+ &attributeHandle);
+ if (status != NW_STAT_SUCCESS){
+ return status;
+ }
+
+ return NW_DOM_AttributeHandle_getValue(&attributeHandle, attributeValue);
+}
+
+/*
+ * IN - name - of element
+ */
+
+NW_Status_t
+NW_DOM_ElementNode_getElementIteratorByTagName(NW_DOM_ElementNode_t *elem,
+ NW_String_t* name,
+ NW_DOM_NodeIterator_t *handle)
+{
+ NW_DOM_DocumentNode_t *doc;
+ NW_WBXML_Dictionary_t *dict = NULL;
+ NW_String_UCS2Buff_t *buff = NULL;
+
+ NW_Uint32 encoding;
+ NW_Int16 token = 0;
+
+ NW_ASSERT(elem != NULL);
+ NW_ASSERT(name != NULL);
+ NW_ASSERT(handle != NULL);
+
+ doc = NW_DOM_Node_getOwnerDocument(elem);
+ if (doc == NULL) {
+ return NW_STAT_FAILURE;
+ }
+ encoding = NW_DOM_DocumentNode_getCharacterEncoding(doc);
+
+ dict = NW_DOM_DocumentNode_getDictionary(doc);
+ buff = NW_String_stringToUCS2Buff(name, encoding);
+ if((dict == NULL) || (buff == NULL)){
+ NW_Mem_Free(buff);
+ return NW_STAT_FAILURE;
+ }
+ token = NW_WBXML_Dictionary_getTagToken(dict, buff, NW_TRUE);
+ NW_Mem_Free(buff);
+ if (token < 0) {
+ return NW_STAT_FAILURE;
+ }
+ return NW_DOM_ElementNode_getElementIteratorByTagToken(elem,
+ (NW_Uint16)token,
+ handle);
+}
+
+/*
+ * IN - token - of element
+ */
+
+NW_Status_t
+NW_DOM_ElementNode_getElementIteratorByTagToken(NW_DOM_ElementNode_t *elem,
+ NW_Uint16 token,
+ NW_DOM_NodeIterator_t *handle)
+{
+
+ NW_ASSERT(elem != NULL);
+ NW_ASSERT(handle != NULL);
+
+ if (NW_DOM_Node_getNodeType(elem) != NW_DOM_ELEMENT_NODE)
+ return NW_STAT_DOM_NODE_TYPE_ERR;
+
+ return NW_DOM_NodeIterator_initialize(handle, elem, token);
+}
+
+
+
+/*
+ * If the attribute with the given name exists then a its value will
+ * be changed to input value, otherwise a new attribute will be created
+ * LIMITATION: If the given attribute was already present when the document
+ * was parsed the first time, it can not be removed. In this case a new
+ * attribute is added, and you will have 2 attributes with same name
+ * Returns
+ * NW_STAT_BAD_INPUT_PARAM - If input args are NULL
+ * NW_STAT_DOM_NODE_TYPE_ERR - If it is not an element node
+ * NW_STAT_SUCCESS
+ *
+ */
+
+EXPORT_C NW_Status_t
+NW_DOM_ElementNode_setAttribute(NW_DOM_ElementNode_t *elem,
+ NW_String_t *attrName,
+ NW_String_t *val)
+{
+ NW_Status_t status;
+ NW_TinyTree_t* tiny_tree;
+ NW_TinyDom_Tree_t *tree;
+ NW_TinyTree_Node_t *attr = NULL;
+ NW_DOM_DocumentNode_t *doc = NW_DOM_Node_getOwnerDocument(elem);
+ NW_WBXML_Dictionary_t *dictionary = NW_DOM_DocumentNode_getDictionary(doc);
+ NW_Uint32 encoding = NW_DOM_DocumentNode_getCharacterEncoding(doc);
+ NW_Int32 fqToken;
+ NW_DOM_AttrVal_t attrValue;
+
+ if ((elem == NULL) || (attrName == NULL) ||
+ (val == NULL) || (dictionary == NULL)){
+ return NW_STAT_BAD_INPUT_PARAM;
+ }
+
+ if (NW_DOM_Node_getNodeType(elem) != NW_DOM_ELEMENT_NODE)
+ return NW_STAT_DOM_NODE_TYPE_ERR;
+
+ status = NW_DOM_ElementNode_removeAttribute(elem, attrName);
+ if ((status != NW_STAT_SUCCESS) && (status != NW_STAT_NOT_FOUND)) {
+ return status;
+ }
+
+ tiny_tree = NW_TinyTree_Node_findTree(elem);
+ tree = NW_TinyDom_getTree(tiny_tree);
+
+ fqToken = NW_WBXML_Dictionary_getAttributeToken(dictionary, attrName, encoding, NW_TRUE);
+
+ status = NW_DOM_AttrVal_initFromString(&attrValue, val);
+ if (fqToken == -1)
+ attr = NW_TinyDom_createAttributeByName(tree, attrName, &attrValue);
+ else
+ attr = NW_TinyDom_createAttributeByToken(tree, (NW_Uint8)fqToken, &attrValue);
+
+ return NW_DOM_Node_appendChild(elem, attr);
+}
+
+/**
+ * Removes given attribute
+ * Limited Use: You can only remove attributes that you
+ * explicitly created and added to the element. None of the
+ * attributes in the originally parsed document can not be removed
+ * Returns
+ * NW_STAT_BAD_INPUT_PARAM - If input args are NULL
+ * NW_STAT_DOM_NODE_TYPE_ERR - If it is not an element node
+ * NW_STAT_NOT_FOUND - if attribute is not found
+ * NW_STAT_SUCCESS
+ **/
+EXPORT_C NW_Status_t
+NW_DOM_ElementNode_removeAttribute(
+ NW_DOM_ElementNode_t *elem, NW_String_t* attributeName)
+{
+ NW_DOM_AttributeHandle_t attrHandle;
+ NW_Status_t status;
+
+ if ((elem == NULL) || (attributeName == NULL))
+ return NW_STAT_BAD_INPUT_PARAM;
+
+ if (NW_DOM_Node_getNodeType(elem) != NW_DOM_ELEMENT_NODE)
+ return NW_STAT_DOM_NODE_TYPE_ERR;
+
+ status = NW_DOM_ElementNode_getAttributeHandleByName(elem, attributeName, &attrHandle);
+ if (status != NW_STAT_SUCCESS)
+ return status;
+
+ /*
+ * If the attribute was a newly added one it is deleted,
+ * but SUCCESS is returned in both cases
+ */
+ if (attrHandle.node != NULL)
+ NW_TinyTree_deleteNode(attrHandle.node);
+
+ return NW_STAT_SUCCESS;
+}
+
+
+
+/*
+ * If the attribute with the given name exists then its value will
+ * be changed to input value, otherwise a new attribute will be created
+ * LIMITATION: If the given attribute was already present when the document
+ * was parsed the first time, it can not be removed. In this case a new
+ * attribute is added, and you will have 2 attributes with same name
+ * Returns
+ * NW_STAT_BAD_INPUT_PARAM - If input args are NULL
+ * NW_STAT_NOT_FOUND - if attribute is not found
+ * NW_STAT_DOM_NODE_TYPE_ERR - If it is not an element node
+ * NW_STAT_SUCCESS
+ *
+ */
+EXPORT_C NW_Status_t
+NW_DOM_ElementNode_setAttributeByToken(
+ NW_DOM_ElementNode_t *elem, NW_Uint16 token, NW_DOM_AttrVal_t *attrValue)
+{
+ NW_Status_t status;
+ NW_TinyTree_t* tinyTree;
+ NW_TinyDom_Tree_t *tree;
+ NW_TinyTree_Node_t *attr = NULL;
+ NW_DOM_DocumentNode_t *doc = NW_DOM_Node_getOwnerDocument(elem);
+ NW_WBXML_Dictionary_t *dictionary = NW_DOM_DocumentNode_getDictionary(doc);
+
+ if ((elem == NULL) || (attrValue == NULL) || (dictionary == NULL)){
+ return NW_STAT_BAD_INPUT_PARAM;
+ }
+
+ if (NW_DOM_Node_getNodeType(elem) != NW_DOM_ELEMENT_NODE) {
+ return NW_STAT_DOM_NODE_TYPE_ERR;
+ }
+
+ tinyTree = NW_TinyTree_Node_findTree(elem);
+ tree = NW_TinyDom_getTree(tinyTree);
+
+ status = NW_DOM_ElementNode_removeAttributeByToken(elem, token);
+ if ((status == NW_STAT_SUCCESS) || (status == NW_STAT_NOT_FOUND)) {
+ attr = NW_TinyDom_createAttributeByToken(tree, (NW_Uint8)token, attrValue);
+ return NW_DOM_Node_appendChild(elem, attr);
+ }
+ return status;
+}
+
+/**
+ * If the attribute with the given name exists then a its value will
+ * be changed to input value, otherwise a new attribute will be created
+ * LIMITATION: If the given attribute was already present when the document
+ * was parsed the first time, it can not be removed. In this case a new
+ * attribute is added, and you will have 2 attributes with same name
+ * Returns
+ * NW_STAT_BAD_INPUT_PARAM - If input args are NULL
+ * NW_STAT_DOM_NODE_TYPE_ERR - If it is not an element node
+ * NW_STAT_SUCCESS
+ *
+ */
+EXPORT_C NW_Status_t
+NW_DOM_ElementNode_setAttributeByAttrVal(
+ NW_DOM_ElementNode_t *elem,
+ NW_String_t *attrName,
+ NW_DOM_AttrVal_t *attrValue)
+{
+ NW_Status_t status;
+ NW_TinyTree_t* tinyTree;
+ NW_TinyDom_Tree_t *tree;
+ NW_TinyTree_Node_t *attr = NULL;
+ NW_DOM_DocumentNode_t *doc = NW_DOM_Node_getOwnerDocument(elem);
+ NW_WBXML_Dictionary_t *dictionary = NW_DOM_DocumentNode_getDictionary(doc);
+ NW_Uint32 encoding = NW_DOM_DocumentNode_getCharacterEncoding(doc);
+ NW_Int32 fqToken;
+
+ if ((elem == NULL) || (attrName == NULL) ||
+ (attrValue == NULL) || (dictionary == NULL)){
+ return NW_STAT_BAD_INPUT_PARAM;
+ }
+
+ if (NW_DOM_Node_getNodeType(elem) != NW_DOM_ELEMENT_NODE)
+ return NW_STAT_DOM_NODE_TYPE_ERR;
+
+ status = NW_DOM_ElementNode_removeAttribute(elem, attrName);
+ if ((status != NW_STAT_SUCCESS) && (status != NW_STAT_NOT_FOUND)) {
+ return status;
+ }
+ tinyTree = NW_TinyTree_Node_findTree(elem);
+ tree = NW_TinyDom_getTree(tinyTree);
+
+ fqToken = NW_WBXML_Dictionary_getAttributeToken(dictionary, attrName, encoding, NW_TRUE);
+ if (fqToken == -1){
+ attr = NW_TinyDom_createAttributeByName(tree, attrName, attrValue);
+ } else {
+ attr = NW_TinyDom_createAttributeByToken(tree, (NW_Uint8)fqToken, attrValue);
+ }
+ return NW_DOM_Node_appendChild(elem, attr);
+}
+
+EXPORT_C NW_Status_t
+NW_DOM_ElementNode_setAttributeByAttributeHandle(NW_DOM_ElementNode_t* elem,
+ NW_DOM_AttributeHandle_t* handle)
+{
+ if ((elem == NULL)
+ || (handle == NULL)) {
+ return NW_STAT_BAD_INPUT_PARAM;
+ }
+ if (NW_DOM_Node_getNodeType(elem) != NW_DOM_ELEMENT_NODE) {
+ return NW_STAT_DOM_NODE_TYPE_ERR;
+ }
+ if (handle->node == NULL) {
+ return NW_STAT_FAILURE;
+ }
+ return NW_DOM_Node_appendChild(elem, handle->node);
+}
+
+/**
+ * Removes given attribute
+ * Limited Use: You can only remove attributes that you
+ * explicitly created and added to the element. None of the
+ * attributes in the originally parsed document can not be removed
+ * Returns
+ * NW_STAT_BAD_INPUT_PARAM - If input args are NULL
+ * NW_STAT_NOT_FOUND - if attribute is not found
+ * NW_STAT_DOM_NODE_TYPE_ERR - If it is not an element node
+ * NW_STAT_SUCCESS
+ */
+NW_Status_t
+NW_DOM_ElementNode_removeAttributeByToken(
+ NW_DOM_ElementNode_t *elem, NW_Uint16 attributeToken)
+{
+ NW_DOM_AttributeHandle_t attrHandle;
+ NW_Status_t status;
+
+ if ((elem == NULL) || (attributeToken == 0))
+ return NW_STAT_BAD_INPUT_PARAM;
+
+ if (NW_DOM_Node_getNodeType(elem) != NW_DOM_ELEMENT_NODE)
+ return NW_STAT_DOM_NODE_TYPE_ERR;
+
+ status = NW_DOM_ElementNode_getAttributeHandleByToken(elem, attributeToken, &attrHandle);
+ if ((status != NW_STAT_SUCCESS))
+ return status;
+
+ /*
+ * If the attribute was a newly added one it is deleted,
+ * but SUCCESS is returned in both cases
+ */
+ if (attrHandle.node != NULL)
+ NW_TinyTree_deleteNode(attrHandle.node);
+
+ return NW_STAT_SUCCESS;
+}
+
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/dom/src/node.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/dom/src/node.c Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,538 @@
+/*
+* Copyright (c) 2000 - 2001 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include "cxml_internal.h"
+#include
+#include
+#include
+
+/**
+ * GENERAL NODE METHODS - applicable to all node types
+ * These methods will be repeated for other Node types also
+ **/
+
+/*
+ * RETURN
+ * NW_STAT_SUCCESS
+ * NW_STAT_OUT_OF_MEMORY - If memory could not be allocated for storage
+ * NW_STAT_WBXML_ERROR_CHARSET_UNSUPPORTED - If encoding is not valid
+ * NW_STAT_DOM_NODE_TYPE_ERR - If node type is not a standard node type
+ * NW_STAT_DOM_NO_STRING_RETURNED - If the storage was not assigned to NW_DOM_String
+ *
+ * MODIFIED nodeName
+ */
+
+EXPORT_C NW_Status_t
+NW_DOM_Node_getNodeName(NW_DOM_Node_t *node, NW_String_t *nodeName)
+{
+ NW_Uint16 type;
+ NW_String_UCS2Buff_t *name = NULL;
+ NW_DOM_DocumentNode_t *docNode;
+ NW_Uint32 encoding;
+
+ NW_ASSERT(node != NULL);
+ NW_ASSERT(nodeName != NULL);
+
+ type = NW_DOM_Node_getNodeType(node);
+ if (type == 0){
+ return NW_STAT_DOM_NODE_TYPE_ERR;
+ }
+
+ switch (type) {
+ case NW_DOM_ELEMENT_NODE:
+ return NW_DOM_ElementNode_getTagName(node, nodeName);
+
+ case NW_DOM_PROCESSING_INSTRUCTION_NODE:/* Not supported */
+ return NW_STAT_DOM_NO_STRING_RETURNED;
+
+ case NW_DOM_TEXT_NODE:
+ name = (NW_String_UCS2Buff_t *) L"#text";
+ break;
+
+ case NW_DOM_DOCUMENT_NODE:
+ name = (NW_String_UCS2Buff_t *) L"#document";
+ break;
+
+ case NW_DOM_COMMENT_NODE:
+ name = (NW_String_UCS2Buff_t *) L"#comment";
+ break;
+
+ case NW_DOM_CDATA_SECTION_NODE:
+ name = (NW_String_UCS2Buff_t *) L"#cdata-section";
+ break;
+ default:
+ return NW_STAT_DOM_NO_STRING_RETURNED;
+ }
+
+ docNode = NW_DOM_Node_getOwnerDocument(node);
+ if (docNode == NULL) {
+ return NW_STAT_DOM_NO_STRING_RETURNED;
+ }
+ encoding = NW_DOM_DocumentNode_getCharacterEncoding(docNode);
+ return NW_String_UCS2BuffToString(name, nodeName, encoding);
+ }
+
+/*
+ * returns NW_DOM_NodeType
+ * Returns 0 if Node type is not one of the recognized nodes
+ */
+
+EXPORT_C NW_Uint16
+NW_DOM_Node_getNodeType(NW_DOM_Node_t *node)
+{
+ NW_Uint16 type;
+
+ NW_ASSERT(node != NULL);
+
+ type = (NW_Uint16)(NW_TinyDom_Node_getType(node) & 0x0f);
+
+ switch(type) {
+
+ case T_DOM_NODE_DOC:
+ return NW_DOM_DOCUMENT_NODE;
+
+ case T_DOM_NODE_TAG:
+ return NW_DOM_ELEMENT_NODE;
+
+ case T_DOM_NODE_TEXT:
+ return NW_DOM_TEXT_NODE;
+
+ case T_DOM_NODE_PI:
+ return NW_DOM_PROCESSING_INSTRUCTION_NODE;
+
+ case T_DOM_NODE_COMMENT:
+ return NW_DOM_COMMENT_NODE;
+
+ case T_DOM_NODE_CDATASECTION:
+ return NW_DOM_CDATA_SECTION_NODE;
+
+ default:
+ return 0;
+}
+}
+
+/*
+ * Returns fully qualified node token (including dictionary id)
+ * Returns 0 for invalid node
+ */
+EXPORT_C NW_Uint16
+NW_DOM_Node_getNodeToken(NW_DOM_Node_t *node)
+{
+
+ NW_ASSERT(node != NULL);
+
+ if (NW_DOM_Node_getNodeType(node) == NW_DOM_ELEMENT_NODE){
+ return NW_DOM_ElementNode_getTagToken(node);
+ }
+ return 0;
+}
+
+/*
+ * Returns NW_TRUE if the document is of WBXML type
+ * otherwise returns NW_FALSE
+ */
+
+NW_Bool
+NW_DOM_Node_isWBXML(NW_DOM_Node_t *node)
+{
+ NW_Uint16 type;
+
+ NW_ASSERT(node != NULL);
+
+ type = (NW_Uint16)(NW_TinyDom_Node_getType(node) & 0x8000);
+
+ if (type == T_DOM_NODE_XML){
+ return NW_FALSE;
+ }
+ return NW_TRUE;
+}
+
+/*
+ * Finds parent node of the given node
+ * returns NULL for DOCUMENT_NODE
+ */
+
+EXPORT_C NW_DOM_Node_t *
+NW_DOM_Node_getParentNode(NW_DOM_Node_t *node)
+{
+ NW_ASSERT (node != NULL);
+
+ if (NW_DOM_Node_getNodeType(node) == NW_DOM_DOCUMENT_NODE)
+ return NULL;
+
+ return NW_TinyTree_findParent(node);
+}
+
+/*
+ * Following 3 methods return valid values only
+ * for ELEMENT_NODE and DOCUMENT_NODE, since these are the
+ * only nodes that have children. For other nodes, the value is
+ * either NULL or 0
+ */
+
+EXPORT_C NW_DOM_Node_t *
+NW_DOM_Node_getFirstChild(NW_DOM_Node_t *node)
+{
+ NW_DOM_Node_t *child;
+
+ NW_ASSERT(node != NULL);
+
+ child = NW_TinyTree_findFirstChild(node);
+
+ if(child)
+ {
+ if(NW_TinyDom_Node_getType(child) == T_DOM_NODE_ATTR)
+ return NW_DOM_Node_getNextSibling(child);
+ else
+ return child;
+ }
+ return NULL;
+}
+
+EXPORT_C NW_DOM_Node_t *
+NW_DOM_Node_getLastChild(NW_DOM_Node_t *node)
+{
+ NW_DOM_Node_t *currentNode = NULL;
+ NW_DOM_Node_t *previousNode = NULL;
+
+ NW_ASSERT(node != NULL);
+
+ currentNode = NW_DOM_Node_getFirstChild(node);
+ while (currentNode != NULL)
+ {
+ previousNode = currentNode;
+ currentNode = NW_DOM_Node_getNextSibling(currentNode);
+ }
+ return previousNode;
+}
+
+EXPORT_C NW_Bool
+NW_DOM_Node_hasChildNodes(NW_DOM_Node_t *node)
+{
+
+ NW_ASSERT(node != NULL);
+
+ if (NW_DOM_Node_getFirstChild(node))
+ return NW_TRUE;
+ return NW_FALSE;
+}
+
+EXPORT_C NW_DOM_Node_t *
+NW_DOM_Node_getNextSibling(NW_DOM_Node_t *node)
+{
+ NW_DOM_Node_t *sibling;
+
+ NW_ASSERT(node != NULL);
+
+ sibling = NW_TinyTree_findNextSibling(node);
+
+ if (sibling == NULL){
+ return NULL;
+ }
+
+ while ((sibling != NULL) && (NW_TinyDom_Node_getType(sibling) == T_DOM_NODE_ATTR)){
+ sibling = NW_TinyTree_findNextSibling(sibling);
+ }
+ return sibling;
+}
+
+EXPORT_C NW_DOM_Node_t *
+NW_DOM_Node_getPreviousSibling(NW_DOM_Node_t *node)
+{
+ NW_DOM_Node_t *sibling;
+ NW_ASSERT(node != NULL);
+
+ sibling = NW_TinyTree_findPreviousSibling(node);
+
+ if (sibling == NULL)
+ return NULL;
+
+ while ((sibling != NULL) && (NW_TinyDom_Node_getType(sibling) == T_DOM_NODE_ATTR)){
+ sibling = NW_TinyTree_findPreviousSibling(sibling);
+ }
+
+ return sibling;
+}
+
+EXPORT_C NW_DOM_DocumentNode_t *
+NW_DOM_Node_getOwnerDocument(NW_DOM_Node_t *node)
+{
+ NW_TinyTree_t *tiny_tree;
+
+ NW_ASSERT(node != NULL);
+
+ if (NW_DOM_Node_getNodeType(node) == NW_DOM_DOCUMENT_NODE){
+ return node;
+ }
+
+ tiny_tree = NW_TinyTree_Node_findTree(node);
+
+ return NW_TinyTree_getRoot(tiny_tree);
+}
+
+/*********************
+ * NODE LIST ITERATOR
+ **********************/
+
+/*
+ * Returns NULL if unable to allocate memory
+ */
+
+NW_DOM_NodeIterator_t *
+NW_DOM_NodeIterator_new(void)
+{
+ return (NW_DOM_NodeIterator_t *) NW_Mem_Malloc(sizeof (NW_DOM_NodeIterator_t));
+}
+
+/*
+ * Initializes the Node handle which uses the given node
+ * as the starting point to iterate down the tree
+ * Returns NW_STAT_SUCCESS
+ * NW_STAT_BAD_INPUT_PARAM
+ */
+
+NW_Status_t
+NW_DOM_NodeIterator_initialize(NW_DOM_NodeIterator_t *handle,
+ NW_DOM_Node_t *node,
+ NW_Uint16 token)
+{
+ NW_ASSERT (handle != NULL);
+ NW_ASSERT (node != NULL);
+
+ NW_TinyTree_NodeIterator_init(node, &handle->nodeIter);
+ handle->token = token;
+ return NW_STAT_SUCCESS;
+}
+
+/*
+ * Deletes the handle
+ * Returns NW_STAT_SUCCESS
+ */
+
+NW_Status_t
+NW_DOM_NodeIterator_delete(NW_DOM_NodeIterator_t *handle)
+{
+
+ NW_ASSERT(handle != NULL);
+
+ NW_Mem_Free (handle);
+
+ return NW_STAT_SUCCESS;
+}
+
+/*
+ * Returns the next node
+ */
+
+NW_DOM_Node_t *
+NW_DOM_NodeIterator_nextNode(NW_DOM_NodeIterator_t *handle)
+{
+ NW_DOM_Node_t* node = NULL;
+ NW_Uint16 token = 0;
+
+ NW_ASSERT(handle != NULL);
+
+ do {
+
+ node = NW_TinyTree_NodeIterator_iterate(&handle->nodeIter);
+
+ if (node == NULL){
+ return NULL;
+ }
+
+ token = NW_DOM_Node_getNodeToken(node);
+
+ } while (token != handle->token);
+
+ return node;
+}
+
+
+
+/**
+ * Inserts newChild before the refChild
+ * Returns one of:
+ * NW_STAT_BAD_INPUT_PARAM
+ * NW_STAT_SUCCESS
+ * NW_STAT_NOT_FOUND - If reChild is not a child of given node
+ * NW_STAT_DOM_WRONG_DOC_ERR - If newChild was created from a
+ * different document than the one that created the node
+ * NW_STAT_DOM_HEIRARCHY_REQ_ERR - If node is of the type that
+ * does not allow children of the type of newChild node
+ */
+EXPORT_C NW_Status_t
+NW_DOM_Node_insertBefore(
+ NW_DOM_Node_t *node,
+ NW_DOM_Node_t *newChild,
+ NW_DOM_Node_t *refChild)
+{
+ NW_TinyTree_Node_t *child = NULL;
+ NW_DOM_DocumentNode_t *doc = NULL;
+ NW_DOM_DocumentNode_t *newDoc = NULL;
+
+ if ((node == NULL) || (newChild == NULL) || (refChild == NULL))
+ return NW_STAT_BAD_INPUT_PARAM;
+
+ doc = NW_DOM_Node_getOwnerDocument(node);
+ newDoc = NW_DOM_Node_getOwnerDocument(newChild);
+
+ if ((doc == NULL) || (newDoc == NULL))
+ return NW_STAT_BAD_INPUT_PARAM;
+
+ if (doc != newDoc)
+ return NW_STAT_DOM_WRONG_DOC_ERR;
+
+ /* Only Element and Document nodes can have children */
+ if ((NW_DOM_Node_getNodeType(node) != NW_DOM_ELEMENT_NODE) &&
+ (NW_DOM_Node_getNodeType(node) != NW_DOM_DOCUMENT_NODE)) {
+ return NW_STAT_DOM_HEIRARCHY_REQUEST_ERR;
+ }
+
+ child = NW_DOM_Node_getFirstChild (node);
+ while (child)
+ {
+ if (child == refChild)
+ {
+ NW_TinyTree_attachBefore(child, newChild);
+ return NW_STAT_SUCCESS;
+ }
+ child = NW_DOM_Node_getNextSibling(child);
+ }
+ /* The refChild is not a child of node */
+ return NW_STAT_NOT_FOUND;
+}
+
+/**
+ * Replaces oldChild with the newChild and removes old child
+ * Returns one of:
+ * NW_STAT_BAD_INPUT_PARAM
+ * NW_STAT_SUCCESS
+ * NW_STAT_NOT_FOUND - If oldChild is not a child of given node
+ * NW_STAT_DOM_WRONG_DOC_ERR - If newChild was created from a
+ * different document than the one that created the node
+ * NW_STAT_DOM_HEIRARCHY_REQ_ERR - If node is of the type that
+ * does not allow children of the type of newChild node
+ */
+
+EXPORT_C NW_Status_t
+NW_DOM_Node_replaceChild(NW_DOM_Node_t *node, NW_DOM_Node_t *newChild, NW_DOM_Node_t *oldChild)
+{
+ NW_TinyTree_Node_t *child = NULL;
+ NW_DOM_DocumentNode_t *doc = NULL;
+ NW_DOM_DocumentNode_t *newDoc = NULL;
+
+ if ((node == NULL) || (oldChild == NULL) || (newChild == NULL))
+ return NW_STAT_BAD_INPUT_PARAM;
+
+ doc = NW_DOM_Node_getOwnerDocument(node);
+ newDoc = NW_DOM_Node_getOwnerDocument(newChild);
+
+ if ((doc == NULL) || (newDoc == NULL))
+ return NW_STAT_BAD_INPUT_PARAM;
+
+ if (doc != newDoc)
+ return NW_STAT_DOM_WRONG_DOC_ERR;
+
+ /* Only Element and Document nodes can have children */
+ if ((NW_DOM_Node_getNodeType(node) != NW_DOM_ELEMENT_NODE) &&
+ (NW_DOM_Node_getNodeType(node) != NW_DOM_DOCUMENT_NODE)) {
+ return NW_STAT_DOM_HEIRARCHY_REQUEST_ERR;
+ }
+
+ child = NW_DOM_Node_getFirstChild (node);
+ while (child)
+ {
+ if (child == oldChild)
+ {
+ NW_TinyTree_attachBefore(oldChild, newChild);
+ return NW_DOM_Node_removeChild(node, oldChild);
+ }
+ child = NW_DOM_Node_getNextSibling(child);
+ }
+ /* The refChild is not a child of node */
+ return NW_STAT_NOT_FOUND;
+}
+
+/*
+ * Removes the oldChild
+ * Returns one of:
+ * NW_STAT_BAD_INPUT_PARAM
+ * NW_STAT_SUCCESS
+ * NW_STAT_NOT_FOUND - If oldChild is not a child of given node
+ */
+EXPORT_C NW_Status_t
+NW_DOM_Node_removeChild(NW_DOM_Node_t *node, NW_DOM_Node_t *oldChild)
+{
+ NW_TinyTree_Node_t *child = NULL;
+
+ if ((node == NULL) || (oldChild == NULL))
+ return NW_STAT_BAD_INPUT_PARAM;
+
+ child = NW_DOM_Node_getFirstChild (node);
+ while (child)
+ {
+ if (child == oldChild)
+ {
+ NW_TinyTree_deleteNode(oldChild);
+ return NW_STAT_SUCCESS;
+ }
+ child = NW_DOM_Node_getNextSibling(child);
+ }
+
+ /* The refChild is not a child of node */
+ return NW_STAT_NOT_FOUND;
+}
+
+/*
+ * Appends a new child
+ * Returns one of:
+ * NW_STAT_BAD_INPUT_PARAM
+ * NW_STAT_SUCCESS
+ * NW_STAT_DOM_WRONG_DOC_ERR - If newChild was created from a
+ * different document than the one that created the node
+ * NW_STAT_DOM_HEIRARCHY_REQ_ERR - If node is of the type that
+ * does not allow children of the type of newChild node
+ */
+EXPORT_C NW_Status_t
+NW_DOM_Node_appendChild(NW_DOM_Node_t *node, NW_DOM_Node_t *newChild)
+{
+ NW_DOM_DocumentNode_t *doc = NULL;
+ NW_DOM_DocumentNode_t *newDoc = NULL;
+
+ if (( node == NULL) || (newChild == NULL))
+ return NW_STAT_BAD_INPUT_PARAM;
+
+ doc = NW_DOM_Node_getOwnerDocument(node);
+ newDoc = NW_DOM_Node_getOwnerDocument(newChild);
+
+ if ((doc == NULL) || (newDoc == NULL))
+ return NW_STAT_BAD_INPUT_PARAM;
+
+ if (doc != newDoc)
+ return NW_STAT_DOM_WRONG_DOC_ERR;
+
+ /* Only Element and Document nodes can have children */
+ if ((NW_DOM_Node_getNodeType(node) != NW_DOM_ELEMENT_NODE) &&
+ (NW_DOM_Node_getNodeType(node) != NW_DOM_DOCUMENT_NODE)) {
+ return NW_STAT_DOM_HEIRARCHY_REQUEST_ERR;
+ }
+
+ return(NW_TinyTree_attachChild(node, newChild));
+}
+
+
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/dom/src/text.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/dom/src/text.c Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,646 @@
+/*
+* Copyright (c) 2000 - 2001 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include "cxml_internal.h"
+#include
+#include
+#include
+
+/*
+ * Returns
+ * NW_STAT_DOM_NODE_TYPE_ERR - not a text node
+ * NW_STAT_SUCCESS
+ *
+ */
+
+EXPORT_C NW_Status_t
+NW_DOM_TextNode_getTextItemIterator(NW_DOM_TextNode_t *node,
+ NW_DOM_TextItemIterator_t *iterator)
+{
+ NW_TinyTree_t *tiny_tree;
+
+ NW_ASSERT(node != NULL);
+ NW_ASSERT(iterator != NULL);
+
+ if ((NW_DOM_Node_getNodeType(node) != NW_DOM_TEXT_NODE)
+ && (NW_DOM_Node_getNodeType(node) != NW_DOM_COMMENT_NODE)
+ && (NW_DOM_Node_getNodeType(node) != NW_DOM_CDATA_SECTION_NODE)) {
+ return NW_STAT_DOM_NODE_TYPE_ERR;
+ }
+
+ tiny_tree = NW_TinyTree_Node_findTree(node);
+ NW_TinyDom_TextHandle_init(iterator,
+ NW_TinyDom_getParser(tiny_tree),
+ NW_TinyTree_Node_getSourceOffset(node));
+
+ return NW_STAT_SUCCESS;
+}
+
+/*
+ * Returns
+ * NW_STAT_DOM_NODE_TYPE_ERR - not a text node
+ * NW_STAT_OUT_OF_MEMORY - unable to allocate memory for string storage
+ * NW_STAT_DOM_NO_STRING_RETURNED - If string storage is not assigned
+ * NW_STAT_SUCCESS
+ *
+ * MODIFIED valueString - the value of the node
+ */
+
+EXPORT_C NW_Status_t
+NW_DOM_TextNode_getData(NW_DOM_TextNode_t *node,
+ NW_String_t *valueString)
+{
+ NW_Status_t status;
+ NW_DOM_TextItemIterator_t iterator;
+ NW_String_t str;
+ NW_DOM_TextItem_t item;
+ NW_DOM_DocumentNode_t *docNode;
+ NW_Uint32 encoding;
+
+ NW_ASSERT(node != NULL);
+ NW_ASSERT(valueString != NULL);
+
+ docNode = NW_DOM_Node_getOwnerDocument(node);
+ encoding = NW_DOM_DocumentNode_getCharacterEncoding(docNode);
+
+ if (NW_DOM_Node_getNodeType(node) != NW_DOM_TEXT_NODE){
+ return NW_STAT_DOM_NODE_TYPE_ERR;
+ }
+
+ /* Initializes the handle with values*/
+
+ status = NW_DOM_TextNode_getTextItemIterator(node, &iterator);
+ if (status != NW_STAT_SUCCESS){
+ return status;
+ }
+
+ valueString->length = 0;
+ valueString->storage = NULL;
+ NW_String_setUserOwnsStorage(valueString);
+
+ while (NW_DOM_TextItemIterator_getNextTextItem(&iterator, &item)
+ == NW_STAT_WBXML_ITERATE_MORE){
+
+ status = NW_DOM_TextItem_toString(&item, &str, encoding);
+
+ if (status != NW_STAT_SUCCESS){
+ return status;
+ }
+
+ if ((valueString->length == 0) || (valueString->storage == NULL)){
+ status = NW_String_deepCopy(valueString, &str);
+ }
+ else{
+ status = NW_String_concatenate(valueString, &str, encoding);
+ }
+
+ if (status != NW_STAT_SUCCESS){
+ NW_String_deleteStorage(&str);
+ if (status == NW_STAT_OUT_OF_MEMORY)
+ {
+ return NW_STAT_OUT_OF_MEMORY;
+ }
+ else
+ {
+ return NW_STAT_DOM_NO_STRING_RETURNED;
+ }
+ }
+ }
+
+ NW_String_deleteStorage(&str);
+ return NW_STAT_SUCCESS;
+}
+
+
+/*
+ * This method creates a new TextNode and replaces the previous one
+ * Returns NW_STAT_BAD_INPUT_PARAM
+ * NW_STAT_SUCCESS
+ */
+
+EXPORT_C NW_Status_t
+NW_DOM_TextNode_setDataFromTextItem(NW_DOM_TextNode_t** node,
+ NW_DOM_TextItem_t *val)
+{
+ NW_DOM_Node_t *parent = NW_DOM_Node_getParentNode(*node);
+ NW_DOM_DocumentNode_t *doc = NW_DOM_Node_getOwnerDocument(*node);
+ NW_DOM_TextNode_t *newNode = NULL;
+ NW_Status_t status;
+
+ if ((node == NULL) || (val == NULL) || (parent == NULL) || (doc == NULL))
+ return NW_STAT_BAD_INPUT_PARAM;
+
+ newNode = NW_DOM_DocumentNode_createTextNodeWithTextItem(doc, val);
+ if (newNode == NULL)
+ return NW_STAT_BAD_INPUT_PARAM;
+
+ status = NW_DOM_Node_replaceChild(parent, newNode, *node);
+ if (status != NW_STAT_SUCCESS)
+ return status;
+ *node = newNode;
+ return NW_STAT_SUCCESS;
+}
+
+
+EXPORT_C NW_Status_t
+NW_DOM_TextNode_addDataFromTextItem(NW_DOM_TextNode_t* node,
+ NW_DOM_TextItem_t *val)
+{
+ NW_TinyTree_t* tinyTree;
+ NW_TinyDom_Tree_t* domTree;
+ NW_DOM_DocumentNode_t *docNode;
+ NW_Uint32 encoding;
+
+ if ((node == NULL) || (val == NULL))
+ return NW_STAT_BAD_INPUT_PARAM;
+
+ tinyTree = NW_TinyTree_Node_findTree(node);
+ docNode = NW_DOM_Node_getOwnerDocument(node);
+ if ((tinyTree == NULL) || (docNode == NULL)) {
+ return NW_STAT_FAILURE;
+ }
+ domTree = NW_TinyDom_getTree(tinyTree);
+ if (domTree == NULL) {
+ return NW_STAT_FAILURE;
+ }
+ encoding = NW_DOM_DocumentNode_getCharacterEncoding(docNode);
+
+ return NW_TinyDom_addDataFromTextItem(tinyTree, domTree, node,
+ val, encoding);
+}
+
+/*
+ * This method creates a new TextNode and replaces the previous one
+ * Returns
+ * Returns NW_STAT_BAD_INPUT_PARAM
+ * NW_STAT_SUCCESS
+ */
+
+EXPORT_C NW_Status_t
+NW_DOM_TextNode_setData(NW_DOM_TextNode_t** node, NW_String_t *val)
+{
+ NW_DOM_Node_t *parent = NW_DOM_Node_getParentNode(*node);
+ NW_DOM_DocumentNode_t *doc = NW_DOM_Node_getOwnerDocument(*node);
+ NW_DOM_TextNode_t *newNode = NULL;
+ NW_Status_t status;
+
+ if ((node == NULL) || (val == NULL) || (parent == NULL) || (doc == NULL))
+ return NW_STAT_BAD_INPUT_PARAM;
+
+ newNode = NW_DOM_DocumentNode_createTextNode(doc, val);
+
+ if (newNode == NULL){
+ /* TBD is this correct? maybe it is out-of-memory? */
+ return NW_STAT_BAD_INPUT_PARAM;
+ }
+ /* TBD replaceChild is buggy because it may return the child as the status! */
+ status = NW_DOM_Node_replaceChild(parent, newNode, *node);
+
+ if (status != NW_STAT_SUCCESS){
+ return status;
+ }
+ /* TBD isn't there a memory leak when the old child is not deleted? */
+
+ *node = newNode;
+ return NW_STAT_SUCCESS;
+}
+
+
+/**
+ * TextItem methods
+ **/
+
+
+NW_DOM_TextItem_t *
+NW_DOM_TextItem_new(void)
+{
+ return (NW_DOM_TextItem_t *) NW_Mem_Malloc(sizeof (NW_DOM_TextItem_t));
+}
+
+/*
+ * Initializes a Text Item of type NW_DOM_TEXT_ITEM_STRING
+ * Returns NW_STAT_SUCCESS
+ */
+
+EXPORT_C NW_Status_t
+NW_DOM_TextItem_initFromString (NW_DOM_TextItem_t *item,
+ NW_String_t * string)
+{
+ NW_ASSERT(item != NULL);
+ NW_ASSERT(string != NULL);
+
+ item->type = NW_WBXML_ATTR_COMPONENT_STRING;
+ item->component.string = *string;
+ return NW_STAT_SUCCESS;
+}
+
+/**
+ * Initializes a Text Item of type NW_DOM_TEXT_ITEM_ENTITY
+ * Returns NW_STAT_SUCCESS
+ */
+
+EXPORT_C NW_Status_t
+NW_DOM_TextItem_initFromEntity (NW_DOM_TextItem_t *item, NW_Uint32 entity)
+{
+
+ NW_ASSERT(item != NULL);
+
+ item->type = NW_WBXML_ATTR_COMPONENT_ENTITY;
+ item->component.entity = entity;
+ return NW_STAT_SUCCESS;
+}
+
+
+/*
+ Initializes a Text Item of type NW_DOM_TEXT_ITEM_EXTENSION
+ Returns NW_STAT_SUCCESS or NW_STAT_FAILURE if args are not valid.
+
+ Makes a shallow copy of str.
+ */
+EXPORT_C NW_Status_t
+NW_DOM_TextItem_initFromExtension (NW_DOM_TextItem_t *item,
+ NW_Uint16 token,
+ NW_String_t *str)
+{
+ /* Text items and AttrVals are nearly the same thing. */
+ return NW_DOM_AttrVal_initFromExtension(item, token, str);
+}
+
+/*
+ Initializes a Text Item of type NW_DOM_TEXT_ITEM_EXTENSION for the
+ particular case of EXT_T_[0,1,2] where the associated integer value
+ is not a reference into the string table.
+
+ Returns NW_STAT_SUCCESS or NW_STAT_FAILURE if args are not valid.
+*/
+EXPORT_C NW_Status_t
+NW_DOM_TextItem_initFromExtensionInt (NW_DOM_TextItem_t *item,
+ NW_Uint16 token,
+ NW_Uint32 x)
+{
+ /* Text items and AttrVals are nearly the same thing. */
+ return NW_DOM_AttrVal_initFromExtensionInt(item, token, x);
+}
+
+
+/*
+ * Initializes a Text Item of type NW_DOM_TEXT_ITEM_OPAQUE
+ * Returns NW_STAT_SUCCESS
+ */
+
+EXPORT_C NW_Status_t
+NW_DOM_TextItem_initFromOpaque (NW_DOM_TextItem_t *item,
+ NW_Uint32 length,
+ NW_Byte* data)
+{
+ NW_ASSERT(item != NULL);
+ NW_ASSERT(data != NULL);
+
+ item->type = NW_WBXML_ATTR_COMPONENT_OPAQUE;
+ item->component.opaque.length = length;
+ item->component.opaque.data = data;
+
+ return NW_STAT_SUCCESS;
+}
+
+
+NW_Status_t
+NW_DOM_TextItem_delete(NW_DOM_TextItem_t *textItem)
+{
+ NW_ASSERT(textItem != NULL);
+
+ NW_Mem_Free(textItem);
+
+ return NW_STAT_SUCCESS;
+}
+
+/*
+ * Returns the type of Text Item
+ */
+
+EXPORT_C NW_DOM_TextItemType_t
+NW_DOM_TextItem_getType(NW_DOM_TextItem_t *item)
+{
+
+ NW_ASSERT(item != NULL);
+
+ switch(item->type)
+ {
+ case NW_WBXML_ATTR_COMPONENT_EXT:
+ return NW_DOM_TEXT_ITEM_EXTENSION;
+ case NW_WBXML_ATTR_COMPONENT_STRING:
+ return NW_DOM_TEXT_ITEM_STRING;
+ case NW_WBXML_ATTR_COMPONENT_ENTITY:
+ return NW_DOM_TEXT_ITEM_ENTITY;
+ case NW_WBXML_ATTR_COMPONENT_OPAQUE:
+ return NW_DOM_TEXT_ITEM_OPAQUE;
+ default:
+ return 0;
+ }
+}
+
+/*
+ * Sets the type of Text Item
+ */
+
+/* TBD This is a very dangerous function and should be made internal
+ use only (i.e., static)! */
+NW_Status_t
+NW_DOM_TextItem_setType(NW_DOM_TextItem_t *item,
+ NW_DOM_TextItemType_t type)
+{
+ NW_ASSERT(item != NULL);
+
+ switch(type)
+ {
+ case NW_DOM_TEXT_ITEM_EXTENSION:
+ item->type = NW_WBXML_ATTR_COMPONENT_EXT;
+ break;
+ case NW_DOM_TEXT_ITEM_STRING:
+ item->type = NW_WBXML_ATTR_COMPONENT_STRING;
+ break;
+ case NW_DOM_TEXT_ITEM_OPAQUE:
+ item->type = NW_WBXML_ATTR_COMPONENT_OPAQUE;
+ break;
+ case NW_DOM_TEXT_ITEM_ENTITY:
+ item->type = NW_WBXML_ATTR_COMPONENT_ENTITY;
+ break;
+ default:
+ return NW_STAT_BAD_INPUT_PARAM;
+ }
+ return NW_STAT_SUCCESS;
+}
+
+/*
+ * Returns
+ * NW_STAT_WBXML_ERROR_CHARSET_UNSUPPORTED - if encoding is not supported
+ * NW_STAT_DOM_NO_STRING_RETURNED
+ * NW_STAT_SUCCESS
+ *
+ * MODIFIED - string - the String representation of item
+ */
+
+EXPORT_C NW_Status_t
+NW_DOM_TextItem_toString(NW_DOM_TextItem_t *item,
+ NW_String_t *string,
+ NW_Uint32 encoding)
+{
+ NW_Status_t status;
+
+ NW_ASSERT(item != NULL);
+ NW_ASSERT(string != NULL);
+
+ NW_String_initialize(string, NULL, 0);
+
+ if ((NW_String_charsetValid(encoding)) != NW_STAT_SUCCESS){
+ return NW_STAT_WBXML_ERROR_CHARSET_UNSUPPORTED;
+ }
+
+ switch (NW_DOM_TextItem_getType(item))
+ {
+ case NW_DOM_TEXT_ITEM_STRING:
+ {
+ NW_Byte *storage = item->component.string.storage;
+ status = NW_String_initialize(string, storage, encoding);
+ if(status == NW_STAT_SUCCESS){
+ return NW_STAT_SUCCESS;
+ }
+ else{
+ return NW_STAT_DOM_NO_STRING_RETURNED;
+ }
+ }
+ case NW_DOM_TEXT_ITEM_ENTITY:
+ status = NW_String_entityToString(item->component.entity,
+ string, encoding);
+ if(status == NW_STAT_SUCCESS){
+ return NW_STAT_SUCCESS;
+ }
+ else{
+ return NW_STAT_DOM_NO_STRING_RETURNED;
+ }
+
+ case NW_DOM_TEXT_ITEM_OPAQUE:
+ return NW_STAT_DOM_NO_STRING_RETURNED;
+ case NW_DOM_TEXT_ITEM_EXTENSION:
+ {
+ NW_Uint8 t; /* 8-bit token */
+
+ t = (NW_Uint8)(item->component.ext.token);
+ if ((t == NW_WBXML_EXT_0)
+ || (t == NW_WBXML_EXT_1)
+ || (t == NW_WBXML_EXT_2)) {
+ return NW_STAT_DOM_NO_STRING_RETURNED;
+ }
+ if ((item->component.ext.type
+ == NW_TINYDOM_EXTENSION_TYPE_EXT_T_INTEGER)
+ && ((t == NW_WBXML_EXT_T_0)
+ || (t == NW_WBXML_EXT_T_1)
+ || (t == NW_WBXML_EXT_T_2))) {
+ return NW_STAT_DOM_NO_STRING_RETURNED;
+ }
+ if (item->component.ext.value.string.storage == NULL) {
+ return NW_STAT_DOM_NO_STRING_RETURNED;
+ }
+ /* struct assignment, shallow copy */
+ *string = item->component.ext.value.string;
+ return NW_STAT_SUCCESS;
+ }
+ default:
+ return NW_STAT_DOM_NO_STRING_RETURNED;
+ }
+}
+
+
+EXPORT_C NW_Uint32
+NW_DOM_TextItem_getEntity(NW_DOM_TextItem_t *item)
+{
+ NW_ASSERT(item != NULL);
+
+ if (NW_DOM_TextItem_getType(item) != NW_DOM_TEXT_ITEM_ENTITY){
+ return 0;
+ }
+
+ return item->component.entity;
+}
+
+/*
+ * If TextItem is of type NW_DOM_TEXT_ITEM_STRING returns NW_STAT_SUCCESS
+ * and modifies string.
+ */
+
+EXPORT_C NW_Status_t
+NW_DOM_TextItem_getString(NW_DOM_TextItem_t *item,
+ NW_String_t *string)
+{
+ NW_ASSERT(item != NULL);
+ NW_ASSERT(string != NULL);
+
+ if (NW_DOM_TextItem_getType(item) != NW_DOM_TEXT_ITEM_STRING){
+ return NW_STAT_BAD_INPUT_PARAM;
+ }
+
+ return NW_String_copy(string, &item->component.string);
+}
+
+EXPORT_C NW_Status_t
+NW_DOM_TextItem_getExtensionToken(NW_DOM_TextItem_t* pItem,
+ NW_Uint16* pX)
+{
+ /* Text items and AttrVals are nearly the same thing. */
+ return NW_DOM_AttrVal_getExtensionToken(pItem, pX);
+}
+
+/* If TextItem is of type NW_DOM_TEXT_ITEM_EXTENSION and extension
+ isn't EXT_T_[0,1,2] in non string table reference form, returns token
+ otherwise returns 0 and returns str->length = 0, str->storage = NULL.
+
+ All returned strings are shallow copies and the only proper way to
+ free these is to call NW_String_delete(pStr). */
+EXPORT_C NW_Uint16
+NW_DOM_TextItem_getExtension(NW_DOM_TextItem_t *item,
+ NW_String_t *str)
+{
+ NW_Uint16 fqToken;
+ NW_Uint8 t; /* 8-bit token */
+
+ NW_ASSERT(item != NULL);
+ NW_ASSERT(str != NULL);
+
+ NW_String_initialize(str, NULL, 0);
+
+ if (NW_DOM_TextItem_getType(item) != NW_DOM_TEXT_ITEM_EXTENSION) {
+ return 0;
+ }
+
+ /* TBD If it could be gauranteed that the extension was constructed
+ correctly then it would be enough to just unconditionally
+ shallowCopy. */
+
+ fqToken = (NW_Uint16)(item->component.ext.token);
+ t = (NW_Uint8)fqToken;
+
+ if (((t == NW_WBXML_EXT_T_0)
+ || (t == NW_WBXML_EXT_T_1)
+ || (t == NW_WBXML_EXT_T_2))
+ && (item->component.ext.type
+ == NW_TINYDOM_EXTENSION_TYPE_EXT_T_INTEGER)) {
+ /* This function is not for this case: use "getExtensionInt" form. */
+ return 0;
+ }
+
+ if ((t != NW_WBXML_EXT_0) && (t != NW_WBXML_EXT_1) && (t != NW_WBXML_EXT_2)) {
+ /* By fiat we do nothing with the single byte extension tokens. A
+ more correct version might be to callback to the client to
+ request a mapping to a client determined string.
+
+ In the normal case where EXT_T refers to the string table, both
+ the EXT_T and EXT_I forms are represented by an explicit pointer
+ to the string value since for the EXT_T form we don't have a
+ pointer to the string table anyway. */
+ NW_String_shallowCopy(str, &item->component.ext.value.string);
+ }
+ return fqToken;
+}
+
+EXPORT_C NW_Status_t
+NW_DOM_TextItem_getExtensionInt(NW_DOM_TextItem_t* item,
+ NW_Uint32* x)
+{
+ NW_Uint16 fqToken;
+ NW_Uint8 t; /* 8-bit token */
+
+ NW_ASSERT(item != NULL);
+ NW_ASSERT(x != NULL);
+
+ if ((NW_DOM_TextItem_getType(item) != NW_DOM_TEXT_ITEM_EXTENSION)
+ || ((item->component.ext.type
+ != NW_TINYDOM_EXTENSION_TYPE_EXT_T_INTEGER)))
+ {
+ return NW_STAT_FAILURE;
+ }
+
+ fqToken = (NW_Uint16)(item->component.ext.token);
+ t = (NW_Uint8)fqToken;
+ if ((t == NW_WBXML_EXT_T_0)
+ || (t == NW_WBXML_EXT_T_1)
+ || (t == NW_WBXML_EXT_T_2)) {
+ *x = item->component.ext.value.x;
+ return NW_STAT_SUCCESS;
+ }
+ return NW_STAT_FAILURE;
+}
+
+EXPORT_C NW_Byte *
+NW_DOM_TextItem_getOpaque(NW_DOM_TextItem_t *item,
+ NW_Uint32 *opaqueLen)
+{
+ NW_ASSERT(item != NULL);
+
+ if (NW_DOM_TextItem_getType(item) != NW_DOM_TEXT_ITEM_OPAQUE){
+ return NULL;
+ }
+
+ *opaqueLen = item->component.opaque.length;
+ return item->component.opaque.data;
+}
+
+
+/*
+ * TEXT NODE HANDLE
+ */
+
+NW_DOM_TextItemIterator_t *
+NW_DOM_TextItemIterator_new(void)
+{
+ return (NW_DOM_TextItemIterator_t *)
+ NW_Mem_Malloc(sizeof (NW_DOM_TextItemIterator_t));
+}
+
+
+NW_Status_t
+NW_DOM_TextItemIterator_delete(NW_DOM_TextItemIterator_t *handle)
+{
+ NW_ASSERT(handle != NULL);
+
+ NW_Mem_Free (handle);
+
+ return NW_STAT_SUCCESS;
+}
+
+/*
+ * Returns NW_STAT_WBXML_ITERATE_MORE
+ * NW_STAT_WBXML_ITERATE_DONE
+ *
+ * MODIFIED textItem
+ */
+
+EXPORT_C NW_Status_t
+NW_DOM_TextItemIterator_getNextTextItem(NW_DOM_TextItemIterator_t *handle,
+ NW_DOM_TextItem_t *textItem)
+{
+ NW_TinyTree_Offset_t offset;
+
+ NW_ASSERT(handle != NULL);
+ NW_ASSERT(textItem != NULL);
+
+ offset = NW_TinyDom_TextHandle_iterate(handle, textItem);
+ if (offset == 0){
+ return NW_STAT_WBXML_ITERATE_DONE;
+ }
+ return NW_STAT_WBXML_ITERATE_MORE;
+}
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/dom/src/wbxml_types.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/dom/src/wbxml_types.c Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,616 @@
+/*
+* Copyright (c) 2000 - 2001 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include "cxml_internal.h"
+#include
+#include "nw_dom_wbxmltypes.h"
+
+/** Extension **/
+
+/*
+ * Creates and inits new extension with a given token and string
+ */
+
+/* TODO: this is unlike other new methods which do not init
+ Ask Deepika about this???? */
+
+
+NW_DOM_Extension_t *
+NW_DOM_Extension_new(NW_Uint32 token,
+ NW_String_t *str)
+{
+ NW_DOM_Extension_t *ext =
+ (NW_DOM_Extension_t *)NW_Mem_Malloc(sizeof(NW_DOM_Extension_t));
+
+ if (ext == NULL){
+ return NULL;
+ }
+
+ NW_DOM_Extension_initialize(ext, token, str);
+ return ext;
+}
+
+/*
+ * Initializes an extension with a token and string
+ * Returns NW_STAT_SUCCESS or NW_STAT_FAILURE
+ */
+
+NW_Status_t
+NW_DOM_Extension_initialize(NW_DOM_Extension_t *ext,
+ NW_Uint32 token,
+ NW_String_t *str)
+{
+ NW_Status_t s = NW_STAT_FAILURE;
+
+ if (ext) {
+ ext->token = token;
+ ext->value.string = *str;
+ s = NW_STAT_SUCCESS;
+}
+ return s;
+}
+
+/*
+ * Returns token of extension
+ */
+
+NW_Uint32
+NW_DOM_Extension_getToken(NW_DOM_Extension_t *e)
+{
+
+ NW_ASSERT(e != NULL);
+
+ return e->token;
+}
+
+/** Opaque **/
+
+/**
+ * Creates a new Opaque type with a given data and length
+ */
+
+/* TODO: Why does this also init ???? */
+
+NW_DOM_Opaque_t *
+NW_DOM_Opaque_new(NW_Uint32 length, NW_Byte* data)
+{
+ NW_DOM_Opaque_t *opaque =
+ (NW_DOM_Opaque_t *) NW_Mem_Malloc(sizeof (NW_DOM_Opaque_t));
+
+ if (opaque == NULL){
+ return NULL;
+ }
+
+ NW_DOM_Opaque_initialize(opaque, length, data);
+
+ return opaque;
+}
+
+/*
+ * Initializes Opaque data type
+ * Returns NW_DOMSTAT_BAD_INPUT_PARAM
+ * NW_DOMSTAT_SUCCESS
+ */
+NW_Status_t
+NW_DOM_Opaque_initialize(NW_DOM_Opaque_t *opaque, NW_Uint32 length, NW_Byte* data)
+{
+ NW_Status_t s = NW_STAT_FAILURE;
+
+ if (opaque) {
+ opaque->data = data;
+ opaque->length = length;
+ s = NW_STAT_SUCCESS;
+ }
+ return s;
+}
+
+NW_Status_t
+NW_DOM_Opaque_delete(NW_DOM_Opaque_t *opaque)
+{
+ NW_ASSERT(opaque != NULL);
+
+ if (NW_DOM_Opaque_getUserOwnsData(opaque)){
+ if (opaque->data != NULL){
+ NW_Mem_Free (opaque->data);
+ }
+ }
+
+ NW_Mem_Free(opaque);
+ return NW_STAT_SUCCESS;
+}
+
+
+/*
+combined WBXML attribute value and text components
+ */
+
+
+NW_Status_t
+NW_DOM_WbxmlComponent_setType(NW_WbxmlComponent_t AttributeValueOrText,
+ NW_TinyDom_AttrVal_t* pV,
+ NW_Uint32 type)
+{
+ NW_Status_t s = NW_STAT_BAD_INPUT_PARAM;
+
+ if (pV
+ && (type < NW_WBXML_ATTR_COMPONENT_INVALID)
+ && !((AttributeValueOrText == NW_WBXML_TEXT_COMPONENT)
+ && (type == NW_WBXML_ATTR_COMPONENT_TOKEN))) {
+ pV->type = type;
+ s = NW_STAT_SUCCESS;
+ }
+ return s;
+}
+
+NW_Status_t
+NW_DOM_WbxmlComponent_initFromString(NW_TinyDom_AttrVal_t* pV,
+ NW_String_t * pString)
+{
+ NW_Status_t s = NW_STAT_BAD_INPUT_PARAM;
+
+ if (pV
+ && pString) {
+ pV->type = NW_WBXML_ATTR_COMPONENT_STRING;
+ pV->component.string = *pString;
+ s = NW_STAT_SUCCESS;
+ }
+ return s;
+}
+
+NW_Status_t
+NW_DOM_WbxmlComponent_initFromEntity(NW_TinyDom_AttrVal_t* pV,
+ NW_Uint32 entity)
+{
+ NW_Status_t s = NW_STAT_BAD_INPUT_PARAM;
+
+ if (pV) {
+ pV->type = NW_WBXML_ATTR_COMPONENT_ENTITY;
+ pV->component.entity = entity;
+ s = NW_STAT_SUCCESS;
+ }
+ return s;
+}
+
+/*
+ Initializes a WBXML component of type NW_WBXML_ATTR_COMPONENT_EXT
+ Returns NW_STAT_SUCCESS or NW_STAT_FAILURE if args are not valid.
+
+ Makes a shallow copy of str.
+ */
+NW_Status_t
+NW_DOM_WbxmlComponent_initFromExtension(NW_TinyDom_AttrVal_t* val,
+ NW_Uint16 token,
+ NW_String_t* str)
+{
+ NW_Uint8 t; /* 8-bit token */
+
+ NW_ASSERT(val != NULL);
+ NW_ASSERT(token != 0);
+
+ val->type = NW_WBXML_ATTR_COMPONENT_INVALID;
+ t = (NW_Uint8)token;
+ if ((t == NW_WBXML_EXT_0)
+ || (t == NW_WBXML_EXT_1)
+ || (t == NW_WBXML_EXT_2)
+ || (t == NW_WBXML_EXT_T_0)
+ || (t == NW_WBXML_EXT_T_1)
+ || (t == NW_WBXML_EXT_T_2)
+ || (t == NW_WBXML_EXT_I_0)
+ || (t == NW_WBXML_EXT_I_1)
+ || (t == NW_WBXML_EXT_I_2)) {
+ if ((t != NW_WBXML_EXT_0)
+ && (t != NW_WBXML_EXT_1)
+ && (t != NW_WBXML_EXT_2)
+ && (str->storage == NULL)) {
+ return NW_STAT_FAILURE;
+ }
+ val->type = NW_WBXML_ATTR_COMPONENT_EXT;
+ val->component.ext.type = NW_TINYDOM_EXTENSION_TYPE_NORMAL;
+ val->component.ext.token = token;
+ if ((t == NW_WBXML_EXT_0)
+ || (t == NW_WBXML_EXT_1)
+ || (t == NW_WBXML_EXT_2)) {
+ NW_String_initialize(&(val->component.ext.value.string), NULL, 0);
+ } else {
+ /* struct assignment, shallow copy */
+ val->component.ext.value.string = *str;
+ }
+ return NW_STAT_SUCCESS;
+ }
+ return NW_STAT_FAILURE;
+}
+
+NW_Status_t
+NW_DOM_WbxmlComponent_initFromExtensionInt(NW_TinyDom_AttrVal_t* val,
+ NW_Uint16 token,
+ NW_Uint32 x)
+{
+ NW_Uint8 t = (NW_Uint8)token;
+
+ NW_ASSERT(val != NULL);
+
+ if ((t == NW_WBXML_EXT_T_0)
+ || (t == NW_WBXML_EXT_T_1)
+ || (t == NW_WBXML_EXT_T_2)) {
+ val->type = NW_WBXML_ATTR_COMPONENT_EXT;
+ val->component.ext.type = NW_TINYDOM_EXTENSION_TYPE_EXT_T_INTEGER;
+ val->component.ext.token = token;
+ val->component.ext.value.x = x;
+ return NW_STAT_SUCCESS;
+ }
+ return NW_STAT_FAILURE;
+}
+
+NW_Status_t
+NW_DOM_WbxmlComponent_initFromOpaque(NW_TinyDom_AttrVal_t* pV,
+ NW_Uint32 byteCount,
+ NW_Uint8* pData)
+{
+ NW_Status_t s = NW_STAT_BAD_INPUT_PARAM;
+
+ if (pV) {
+ pV->type = NW_WBXML_ATTR_COMPONENT_OPAQUE;
+ pV->component.opaque.length = byteCount;
+ pV->component.opaque.data = pData;
+ s = NW_STAT_SUCCESS;
+ }
+ return s;
+}
+
+NW_Status_t
+NW_DOM_WbxmlComponent_initFromToken(NW_TinyDom_AttrVal_t* pV,
+ NW_Uint32 token)
+{
+ NW_Status_t s = NW_STAT_BAD_INPUT_PARAM;
+
+ if (pV) {
+ pV->type = NW_WBXML_ATTR_COMPONENT_TOKEN;
+ pV->component.value_token = token;
+ s = NW_STAT_SUCCESS;
+ }
+ return s;
+}
+
+NW_Uint32
+NW_DOM_WbxmlComponent_getEntity(NW_TinyDom_AttrVal_t* pV)
+{
+ NW_Uint32 x = 0;
+ if (pV) {
+ x = pV->component.entity;
+ }
+ return x;
+}
+
+NW_Status_t
+NW_DOM_WbxmlComponent_getString(NW_TinyDom_AttrVal_t* pV,
+ NW_String_t* pString)
+{
+ NW_Status_t s = NW_STAT_BAD_INPUT_PARAM;
+
+ if (pV
+ && (pV->type == NW_WBXML_ATTR_COMPONENT_STRING)) {
+ s = NW_String_copy(pString, &(pV->component.string));
+ }
+ return s;
+}
+
+
+NW_Status_t
+NW_DOM_WbxmlComponent_getExtensionToken(NW_TinyDom_AttrVal_t* pV,
+ NW_Uint16* pToken)
+{
+ NW_Status_t s = NW_STAT_BAD_INPUT_PARAM;
+
+ if (pV
+ && pToken
+ && (pV->type == NW_WBXML_ATTR_COMPONENT_EXT)) {
+ *pToken = (NW_Uint16)(pV->component.ext.token);
+ s = NW_STAT_SUCCESS;
+ }
+ return s;
+}
+
+/* If component is of type NW_WBXML_ATTR_COMPONENT_EXT, and extension
+ isn't EXT_T_[0,1,2] in non string table reference form, then returns token.
+ Otherwise, returns 0 and returns str->length = 0, str->storage = NULL.
+
+ All returned strings are shallow copies and the only proper way to
+ free these is to call NW_String_delete(pStr). */
+NW_Uint16
+NW_DOM_WbxmlComponent_getExtension(NW_TinyDom_AttrVal_t* val,
+ NW_String_t* str)
+{
+ NW_Uint16 fqToken;
+ NW_Uint8 t; /* 8-bit token */
+
+ NW_ASSERT (val != NULL);
+ NW_ASSERT (str != NULL);
+
+ NW_String_initialize(str, NULL, 0);
+
+ if (val->type != NW_WBXML_ATTR_COMPONENT_EXT) {
+ return 0;
+ }
+
+ /* TBD If it could be gauranteed that the extension was constructed
+ correctly then it would be enough to just unconditionally
+ shallowCopy. */
+
+ fqToken = (NW_Uint16)(val->component.ext.token);
+ t = (NW_Uint8)fqToken;
+
+ if (((t == NW_WBXML_EXT_T_0)
+ || (t == NW_WBXML_EXT_T_1)
+ || (t == NW_WBXML_EXT_T_2))
+ && (val->component.ext.type
+ == NW_TINYDOM_EXTENSION_TYPE_EXT_T_INTEGER)) {
+ /* This function is not for this case: use "getExtensionInt" form. */
+ return 0;
+ }
+
+ if ((t != NW_WBXML_EXT_0) && (t != NW_WBXML_EXT_1) && (t != NW_WBXML_EXT_2)) {
+ /* By fiat we do nothing with the single byte extension tokens. A
+ more correct version might be to callback to the client to
+ request a mapping to a client determined string.
+
+ In the normal case where EXT_T refers to the string table, both
+ the EXT_T and EXT_I forms are represented by an explicit pointer
+ to the string value since for the EXT_T form we don't have a
+ pointer to the string table anyway. */
+ NW_String_shallowCopy(str, &val->component.ext.value.string);
+ }
+ return fqToken;
+ }
+
+NW_Status_t
+NW_DOM_WbxmlComponent_getExtensionInt(NW_TinyDom_AttrVal_t* val,
+ NW_Uint32* x)
+{
+ NW_Uint16 fqToken;
+ NW_Uint8 t; /* 8-bit token */
+
+ NW_ASSERT(val != NULL);
+ NW_ASSERT(x != NULL);
+
+ if ((val->type != NW_WBXML_ATTR_COMPONENT_EXT)
+ || ((val->component.ext.type
+ != NW_TINYDOM_EXTENSION_TYPE_EXT_T_INTEGER)))
+ {
+ return NW_STAT_FAILURE;
+ }
+
+ fqToken = (NW_Uint16)(val->component.ext.token);
+ t = (NW_Uint8)fqToken;
+ if ((t == NW_WBXML_EXT_T_0)
+ || (t == NW_WBXML_EXT_T_1)
+ || (t == NW_WBXML_EXT_T_2)) {
+ *x = val->component.ext.value.x;
+ return NW_STAT_SUCCESS;
+ }
+ return NW_STAT_FAILURE;
+}
+
+NW_Uint8*
+NW_DOM_WbxmlComponent_getOpaque(NW_TinyDom_AttrVal_t* pV,
+ NW_Uint32 *pOpaqueByteCount)
+{
+ if (pV
+ && pOpaqueByteCount
+ && (pV->type == NW_WBXML_ATTR_COMPONENT_OPAQUE)) {
+ *pOpaqueByteCount = pV->component.opaque.length;
+ return pV->component.opaque.data;
+ }
+ if (pOpaqueByteCount) {
+ *pOpaqueByteCount = 0;
+ }
+ return NULL;
+}
+
+NW_Uint16
+NW_DOM_WbxmlComponent_getToken(NW_TinyDom_AttrVal_t* pV)
+{
+ if (pV
+ && (pV->type == NW_WBXML_ATTR_COMPONENT_TOKEN)) {
+ return (NW_Uint16)pV->component.value_token;
+ }
+ return 0;
+}
+
+/* Returns
+
+ NW_STAT_WBXML_ERROR_CHARSET_UNSUPPORTED - if encoding is not supported
+
+ NW_STAT_DOM_NO_STRING_RETURNED
+
+ NW_STAT_SUCCESS
+
+ MODIFIED - string - the String representation of item */
+NW_Status_t
+NW_DOM_WbxmlComponent_toString(NW_TinyDom_AttrVal_t* pV,
+ NW_String_t *string,
+ NW_Uint32 encoding)
+{
+ NW_Status_t status;
+
+ if (!pV
+ || !string) {
+ return NW_STAT_DOM_NO_STRING_RETURNED;
+ }
+
+ NW_String_initialize(string, NULL, 0);
+
+ if ((NW_String_charsetValid(encoding)) != NW_STAT_SUCCESS) {
+ return NW_STAT_WBXML_ERROR_CHARSET_UNSUPPORTED;
+ }
+
+ switch (pV->type)
+ {
+ case NW_WBXML_ATTR_COMPONENT_TOKEN:
+ status = NW_String_tokenToString(pV->component.value_token, string, encoding);
+ if(status != NW_STAT_SUCCESS){
+ return NW_STAT_DOM_NO_STRING_RETURNED;
+ }
+ return NW_STAT_SUCCESS;
+ case NW_WBXML_ATTR_COMPONENT_STRING:
+ {
+ NW_Byte *storage = pV->component.string.storage;
+ status = NW_String_initialize(string, storage, encoding);
+ if(status != NW_STAT_SUCCESS) {
+ return NW_STAT_DOM_NO_STRING_RETURNED;
+ }
+ return NW_STAT_SUCCESS;
+ }
+ case NW_WBXML_ATTR_COMPONENT_ENTITY:
+ status = NW_String_entityToString(pV->component.entity,
+ string, encoding);
+ if(status != NW_STAT_SUCCESS){
+ return NW_STAT_DOM_NO_STRING_RETURNED;
+ }
+ return NW_STAT_SUCCESS;
+ case NW_WBXML_ATTR_COMPONENT_OPAQUE:
+ return NW_STAT_DOM_NO_STRING_RETURNED;
+ case NW_WBXML_ATTR_COMPONENT_EXT:
+ {
+ NW_Uint8 t; /* 8-bit token */
+
+ t = (NW_Uint8)(pV->component.ext.token);
+ if ((t == NW_WBXML_EXT_0)
+ || (t == NW_WBXML_EXT_1)
+ || (t == NW_WBXML_EXT_2)) {
+ return NW_STAT_DOM_NO_STRING_RETURNED;
+ }
+ if ((pV->component.ext.type
+ == NW_TINYDOM_EXTENSION_TYPE_EXT_T_INTEGER)
+ && ((t == NW_WBXML_EXT_T_0)
+ || (t == NW_WBXML_EXT_T_1)
+ || (t == NW_WBXML_EXT_T_2))) {
+ return NW_STAT_DOM_NO_STRING_RETURNED;
+ }
+ if (pV->component.ext.value.string.storage == NULL) {
+ return NW_STAT_DOM_NO_STRING_RETURNED;
+ }
+ /* struct assignment, shallow copy */
+ *string = pV->component.ext.value.string;
+ return NW_STAT_SUCCESS;
+ }
+ default:
+ return NW_STAT_DOM_NO_STRING_RETURNED;
+ }
+}
+
+/* converts an entire component sequence (via iterator on text or attrval) to string
+
+returns either NW_STAT_SUCCESS or NW_STAT_DOM_NO_STRING_RETURNED if something fails */
+NW_Status_t
+NW_DOM_WbxmlComponent_sequenceToString(NW_WbxmlComponent_t AttributeValueOrText,
+ NW_TinyDom_AttributeHandle_t* pIterator,
+ NW_Uint32 encoding,
+ NW_String_t* pOutString)
+{
+ NW_TinyDom_AttrVal_t component;
+ NW_String_t tempString;
+ NW_Status_t s = NW_STAT_SUCCESS; /* if no sequence, then declare success! */
+
+ NW_Mem_memset(&component, 0, sizeof(NW_TinyDom_AttrVal_t));
+
+ while ((AttributeValueOrText == NW_WBXML_TEXT_COMPONENT) ?
+ NW_TinyDom_TextHandle_iterate(pIterator, &component)
+ : NW_TinyDom_AttributeHandle_iterateValues(pIterator, &component)) {
+
+ s = NW_DOM_WbxmlComponent_toString(&component, &tempString, encoding);
+ if (s != NW_STAT_SUCCESS) {
+ break;
+ }
+ if ((pOutString->length == 0) || (pOutString->storage == NULL)) {
+ s = NW_String_deepCopy(pOutString, &tempString);
+ } else {
+ s = NW_String_concatenate(pOutString, &tempString, encoding);
+ }
+ NW_String_deleteStorage(&tempString);
+ if (s != NW_STAT_SUCCESS) {
+ break;
+ }
+ }
+ if (s != NW_STAT_SUCCESS) {
+ NW_String_deleteStorage(pOutString);
+ if (s == NW_STAT_OUT_OF_MEMORY)
+ {
+ s = NW_STAT_OUT_OF_MEMORY;
+ }
+ else
+ {
+ s = NW_STAT_DOM_NO_STRING_RETURNED;
+ }
+ }
+ return s;
+}
+
+
+
+/*
+ * Returns length of opaque data
+ */
+
+NW_Uint32
+NW_DOM_Opaque_getLength(NW_DOM_Opaque_t *opaque)
+{
+ NW_ASSERT(opaque != NULL);
+
+ return opaque->length & 0x7FFFFFFF;
+}
+
+/*
+ * Returns data from opaque
+ */
+
+NW_Byte *
+NW_DOM_Opaque_getData(NW_DOM_Opaque_t *opaque)
+{
+ NW_ASSERT(opaque != NULL);
+ return opaque->data;
+}
+
+
+/*
+ * Returns true if user owns data storage and can
+ * deallocate it
+ */
+NW_Bool
+NW_DOM_Opaque_getUserOwnsData(NW_DOM_Opaque_t *opaque)
+{
+ NW_ASSERT(opaque != NULL);
+
+ /* The MSB of NW_Byte length if set represents that the
+ string is from storage buffer, so BufferOwns String */
+ if((opaque->length & 0x80000000) == 0){
+ return NW_FALSE;
+ }
+ return NW_TRUE;
+}
+
+NW_Status_t
+NW_DOM_Opaque_setUserOwnsData(NW_DOM_Opaque_t *opaque)
+{
+ NW_ASSERT(opaque != NULL);
+
+ /* The MSB of NW_Byte length if set represents that the
+ string is from storage buffer, so BufferOwns String */
+
+ opaque->length = opaque->length | 0x80000000;
+ return NW_STAT_SUCCESS;
+}
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/encoder/include/nw_encoder_tinydom2wbxml.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/encoder/include/nw_encoder_tinydom2wbxml.h Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,291 @@
+/*
+* Copyright (c) 2000 - 2001 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/** ----------------------------------------------------------------------- **
+ @package: NW_Encoder
+
+ @synopsis: default
+
+ @description: Maps TinyDom types onto WBXMLWriter functions.
+
+ ** ----------------------------------------------------------------------- **/
+
+#ifndef NW_TINYDOM2WBXML_H
+#define NW_TINYDOM2WBXML_H
+
+#include
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+/** ----------------------------------------------------------------------- **
+ @function: NW_Encoder_writeAttrVal
+
+ @synopsis: Write attribute.
+
+ @scope: public
+
+ @parameters:
+ [in] NW_WBXML_Writer_t* pW
+ The writer.
+
+ [in] NW_DOM_AttrVal_t* val
+ The attirbute value.
+
+ [in] NW_Uint32 encoding
+ Charset as IANA MIBenum.
+
+ @description: Write attribute.
+
+ @returns: NW_Status_t
+ Status of operation.
+
+ [NW_STAT_SUCCESS]
+ Attribute written.
+
+ [NW_STAT_BAD_INPUT_PARAM]
+ Required value is null or invalid token.
+
+ [NW_STAT_OUT_OF_MEMORY]
+ Couldn't allocate memory.
+
+ [NW_STAT_FAILURE]
+ General error.
+
+ ** ----------------------------------------------------------------------- **/
+NW_Status_t
+NW_Encoder_writeAttrVal(NW_WBXML_Writer_t* pW,
+ NW_DOM_AttrVal_t *val,
+ NW_Uint32 encoding);
+
+/** ----------------------------------------------------------------------- **
+ @function: NW_Encoder_writeAttributeByToken
+
+ @synopsis: Write attribute specified token.
+
+ @scope: public
+
+ @parameters:
+ [in] NW_WBXML_Writer_t* pW
+ The writer.
+
+ [in] NW_Uint16 attrFqToken
+ The fully qualified token.
+
+ [in] NW_TinyDom_AttrVal_t* val
+ Value to write.
+
+ [in] NW_Uint32 encoding
+ Encoding to use.
+
+ @description: Write attribute specified token.
+
+ @returns: NW_Status_t
+ Status of operation.
+
+ [NW_STAT_SUCCESS]
+ Attribute written.
+
+ [NW_STAT_BAD_INPUT_PARAM]
+ Required value is null or invalid token.
+
+ [NW_STAT_OUT_OF_MEMORY]
+ Couldn't allocate memory.
+
+ [NW_STAT_FAILURE]
+ General error.
+
+ ** ----------------------------------------------------------------------- **/
+NW_Status_t
+NW_Encoder_writeAttributeByToken(NW_WBXML_Writer_t* pW,
+ NW_Uint16 attrFqToken,
+ NW_TinyDom_AttrVal_t* val,
+ NW_Uint32 encoding);
+
+
+/** ----------------------------------------------------------------------- **
+ @function: NW_Encoder_writeAttributeByName
+
+ @synopsis: Writes an Attribute by name plus AttrVal.
+
+ @scope: public
+
+ @parameters:
+ [in] NW_WBXML_Writer_t* pW
+ The writer.
+
+ [in] NW_String_t* attrName
+ The attribute name to use.
+
+ [in] NW_TinyDom_AttrVal_t* val
+ The value to write.
+
+ [in] NW_Uint32 encoding
+ The encoding to use.
+
+ @description: Writes an Attribute by name plus AttrVal.
+
+ @returns: NW_Status_t
+ Status of operation.
+
+ [NW_STAT_SUCCESS]
+ Attribute written.
+
+ [NW_STAT_BAD_INPUT_PARAM]
+ Required value is NULL or invalid.
+
+ [NW_STAT_FAILURE]
+ Not found.
+
+ [NW_STAT_OUT_OF_MEMORY]
+ Memory couldn't be allocated.
+
+ ** ----------------------------------------------------------------------- **/
+NW_Status_t
+NW_Encoder_writeAttributeByName(NW_WBXML_Writer_t* pW,
+ NW_String_t* attrName,
+ NW_TinyDom_AttrVal_t* val,
+ NW_Uint32 encoding);
+
+
+/** ----------------------------------------------------------------------- **
+ @function: NW_Encoder_writeElementByToken
+
+ @synopsis: Write element by token.
+
+ @scope: public
+
+ @parameters:
+ [in] NW_WBXML_Writer_t* pW
+ The writer.
+
+ [in] NW_Uint16 elementToken
+ The token to write.
+
+ @description: Write element by token.
+
+ @returns: NW_Status_t
+ Status of operation.
+
+ [NW_STAT_SUCCESS]
+ Attribute written.
+
+ [NW_STAT_BAD_INPUT_PARAM]
+ Required value is NULL or invalid.
+
+ [NW_STAT_FAILURE]
+ Not found.
+
+ [NW_STAT_OUT_OF_MEMORY]
+ Memory couldn't be allocated.
+
+ ** ----------------------------------------------------------------------- **/
+NW_Status_t
+NW_Encoder_writeElementByToken(NW_WBXML_Writer_t* pW,
+ NW_Uint16 elementToken);
+
+
+/** ----------------------------------------------------------------------- **
+ @function: NW_Encoder_writeElementByName
+
+ @synopsis: Write element by name.
+
+ @scope: public
+
+ @parameters:
+ [in] NW_WBXML_Writer_t* pW
+ The writer.
+
+ [in] NW_String_t* elementName
+ Name of element to write.
+
+ [in] NW_Uint32 encoding
+ Encoding to use.
+
+ @description: Write element by name.
+
+ @returns: NW_Status_t
+ Status of operation.
+
+ [NW_STAT_SUCCESS]
+ Attribute written.
+
+ [NW_STAT_BAD_INPUT_PARAM]
+ Required value is NULL or invalid.
+
+ [NW_STAT_FAILURE]
+ Not found.
+
+ [NW_STAT_OUT_OF_MEMORY]
+ Memory couldn't be allocated.
+
+ ** ----------------------------------------------------------------------- **/
+NW_Status_t
+NW_Encoder_writeElementByName(NW_WBXML_Writer_t* pW,
+ NW_String_t* elementName,
+ NW_Uint32 encoding);
+
+
+/** ----------------------------------------------------------------------- **
+ @function: NW_Encoder_writeText
+
+ @synopsis: Write text.
+
+ @scope: public
+
+ @parameters:
+ [in] NW_WBXML_Writer_t* pW
+ The writer.
+
+ [in] NW_TinyDom_Text_t* text
+ default
+
+ [in] NW_Uint32 encoding
+ default
+
+ @description: Write text.
+
+ @returns: NW_Status_t
+ Status of operation.
+
+ [NW_STAT_SUCCESS]
+ Attribute written.
+
+ [NW_STAT_BAD_INPUT_PARAM]
+ Required value is NULL or invalid.
+
+ [NW_STAT_FAILURE]
+ Not found.
+
+ [NW_STAT_OUT_OF_MEMORY]
+ Memory couldn't be allocated.
+
+ ** ----------------------------------------------------------------------- **/
+NW_Status_t
+NW_Encoder_writeText(NW_WBXML_Writer_t* pW,
+ NW_TinyDom_Text_t* text,
+ NW_Uint32 encoding);
+
+#ifdef __cplusplus
+} // extern "C" {
+#endif /* __cplusplus */
+
+/* NW_TINYDOM2WBXML_H */
+#endif
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/encoder/src/StringTable.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/encoder/src/StringTable.c Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,721 @@
+/*
+* Copyright (c) 2000 - 2001 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include "cxml_internal.h"
+
+/* ------------------------------------------------------------------------- *
+ private methods
+ * ------------------------------------------------------------------------- */
+
+/* ------------------------------------------------------------------------- */
+static
+NW_Status_t
+NW_Encoder_StringItem_initialize(NW_Encoder_StringItem_t *strItem,
+ NW_String_t *str)
+{
+ NW_Status_t status = NW_STAT_SUCCESS;
+
+ if (strItem == NULL){
+ return NW_STAT_BAD_INPUT_PARAM;
+ }
+
+ if(str == NULL)
+ {
+ return NW_STAT_BAD_INPUT_PARAM;
+ }
+
+
+ strItem->data.storage = CXML_Mem_Malloc(str->length + 1);
+
+ if(strItem->data.storage == NULL)
+ {
+ return NW_STAT_OUT_OF_MEMORY;
+ }
+
+ NW_Mem_memcpy(strItem->data.storage,str->storage,str->length);
+
+ strItem->data.storage[str->length] = '\0';
+
+ if (status == NW_STAT_SUCCESS)
+ {
+ strItem->frequency = 1;
+ strItem->data.length = str->length;
+ }
+ else
+ {
+ status = NW_STAT_OUT_OF_MEMORY;
+ }
+
+ return status;
+}
+
+/*
+ * Finds string contained in an item (AttrValItem or Text Item)
+ * An item can be string, extension, entity, opaque, or token
+ * Only extension and string may contain strings
+ * Returns NW_STAT_BAD_INPUT_PARAM
+ * NW_STAT_SUCCESS
+ */
+/* ------------------------------------------------------------------------- */
+static
+NW_Status_t
+NW_Encoder_StringTable_getItemString(NW_Encoder_StringTable_t *strTable,
+ NW_DOM_AttrVal_t *item)
+{
+ NW_Uint32 ignoreVal;
+
+ if ((strTable == NULL) || (item == NULL)){
+ return NW_STAT_BAD_INPUT_PARAM;
+ }
+
+ switch(item->type) {
+ case NW_DOM_ATTR_VAL_STRING:
+ return NW_Encoder_StringTable_append(strTable, &item->component.string,
+ NW_FALSE, &ignoreVal);
+
+ case NW_DOM_ATTR_VAL_EXTENSION:
+ {
+ NW_Uint8 t; /* 8-bit token */
+
+ t = (NW_Uint8)(item->component.ext.token);
+ if ((item->component.ext.type == NW_TINYDOM_EXTENSION_TYPE_NORMAL)
+ && ((t == NW_WBXML_EXT_T_0)
+ || (t == NW_WBXML_EXT_T_1)
+ || (t == NW_WBXML_EXT_T_2))) {
+ return NW_Encoder_StringTable_append(strTable,
+ &(item->component.ext.value.string),
+ NW_FALSE, &ignoreVal);
+ }
+ break;
+ }
+ default:
+ break;
+ }
+ return NW_STAT_SUCCESS;
+}
+
+/**
+ * Finds strings in an attribute - iterates over attribute values
+ * Returns NW_STAT_BAD_INPUT_PARAM
+ * NW_STAT_SUCCESS
+ */
+/* ------------------------------------------------------------------------- */
+static
+NW_Status_t
+NW_Encoder_StringTable_getAttributeStrings(NW_Encoder_StringTable_t *strTable,
+ NW_DOM_AttributeHandle_t *attrHandle)
+{
+ NW_Status_t status;
+ NW_DOM_AttrVal_t attrVal;
+ NW_Uint16 token;
+ NW_Uint16 fqToken;
+
+ if ((strTable == NULL) || (attrHandle == NULL)){
+ return NW_STAT_BAD_INPUT_PARAM;
+ }
+
+ fqToken = NW_DOM_AttributeHandle_getToken(attrHandle);
+ NW_ASSERT(fqToken);
+ token = (NW_Uint16)(fqToken & NW_WBXML_MASK_TOKEN);
+ if (token == NW_WBXML_LITERAL)
+ {
+ NW_Uint32 ignoreVal;
+ NW_String_t attributeName;
+
+ status = NW_DOM_AttributeHandle_getName(attrHandle, &attributeName);
+ if (status != NW_STAT_SUCCESS){
+ return status;
+ }
+ status = NW_Encoder_StringTable_append(strTable, &attributeName, NW_TRUE,
+ &ignoreVal);
+ }
+
+ while (NW_DOM_AttributeHandle_getNextVal(attrHandle, &attrVal) == NW_STAT_WBXML_ITERATE_MORE)
+ {
+ status = NW_Encoder_StringTable_getItemString(strTable, &attrVal);
+ if (status != NW_STAT_SUCCESS){
+ return status;
+ }
+ }
+
+ return NW_STAT_SUCCESS;
+}
+
+/**
+ * Finds strings in an Element Node
+ * Returns NW_STAT_BAD_INPUT_PARAM
+ * NW_STAT_SUCCESS
+ */
+/* ------------------------------------------------------------------------- */
+static
+NW_Status_t
+NW_Encoder_StringTable_getElementStrings(NW_Encoder_StringTable_t *strTable,
+ NW_DOM_ElementNode_t *e)
+{
+ NW_Status_t status;
+ NW_DOM_AttributeListIterator_t listIterator;
+ NW_DOM_AttributeHandle_t attrHandle;
+ NW_Uint32 fqToken;
+ NW_Uint8 token;
+
+ if ((strTable == NULL) || (e == NULL)){
+ return NW_STAT_BAD_INPUT_PARAM;
+ }
+
+ fqToken = NW_DOM_ElementNode_getTagToken(e);
+ if (fqToken == 0){
+ return NW_STAT_FAILURE;
+ }
+
+ token = (NW_Uint8)(fqToken & NW_WBXML_MASK_TOKEN);
+
+ /* put element in table if it is LITERAL tag */
+ if (token == NW_WBXML_LITERAL)
+ {
+ NW_String_t elementName;
+ NW_Uint32 ignoreVal;
+
+ if (NW_DOM_ElementNode_getTagName(e, &elementName) != NW_STAT_SUCCESS){
+ return NW_STAT_FAILURE;
+ }
+ status = NW_Encoder_StringTable_append(strTable, &elementName, NW_TRUE,
+ &ignoreVal);
+ if (status != NW_STAT_SUCCESS){
+ return status;
+ }
+ }
+
+ /* go through attribute strings */
+ if (NW_DOM_ElementNode_hasAttributes(e))
+ {
+ status = NW_DOM_ElementNode_getAttributeListIterator(e, &listIterator);
+ if (status != NW_STAT_SUCCESS){
+ return status;
+ }
+ while (NW_DOM_AttributeListIterator_getNextAttribute(&listIterator, &attrHandle) == NW_STAT_WBXML_ITERATE_MORE)
+ {
+ status = NW_Encoder_StringTable_getAttributeStrings(strTable, &attrHandle);
+ if (status != NW_STAT_SUCCESS){
+ return status;
+ }
+ }
+ }
+ return NW_STAT_SUCCESS;
+}
+
+/**
+ * Finds strings in a TextNode
+ * Returns NW_STAT_BAD_INPUT_PARAM
+ * NW_STAT_SUCCESS
+ */
+/* ------------------------------------------------------------------------- */
+static
+NW_Status_t
+NW_Encoder_StringTable_getTextStrings(NW_Encoder_StringTable_t *strTable,
+ NW_DOM_TextNode_t *textNode)
+{
+ NW_DOM_TextItemIterator_t textIter;
+ NW_DOM_TextItem_t item;
+ NW_Status_t status;
+
+ if ((strTable == NULL) || (textNode == NULL))
+ {
+ return NW_STAT_BAD_INPUT_PARAM;
+ }
+
+ (void) NW_DOM_TextNode_getTextItemIterator(textNode, &textIter);
+ while (NW_DOM_TextItemIterator_getNextTextItem(&textIter, &item) == NW_STAT_WBXML_ITERATE_MORE)
+ {
+ status = NW_Encoder_StringTable_getItemString(strTable, &item);
+ if (status != NW_STAT_SUCCESS){
+ return status;
+ }
+ }
+ return NW_STAT_SUCCESS;
+}
+
+/**
+ * Finds strings in a Node (Recursive in nature)
+ * So it finds strings in entire tree
+ * Returns NW_STAT_BAD_INPUT_PARAM
+ * NW_STAT_SUCCESS
+ */
+/* ------------------------------------------------------------------------- */
+static
+NW_Status_t
+NW_Encoder_StringTable_getNodeStrings(NW_Encoder_StringTable_t *strTable,
+ NW_DOM_Node_t *node,
+ NW_WBXML_Dictionary_t *dictionary)
+{
+ NW_Uint32 type;
+
+ type = NW_DOM_Node_getNodeType(node);
+
+ if ((strTable == NULL) || (node == NULL)){
+ return NW_STAT_BAD_INPUT_PARAM;
+ }
+
+ switch (type)
+ {
+ case NW_DOM_ELEMENT_NODE:
+ {
+ NW_Encoder_StringTable_getElementStrings(strTable, node);
+ if (NW_DOM_Node_getFirstChild(node))
+ {
+ NW_Encoder_StringTable_getNodeStrings(strTable, NW_DOM_Node_getFirstChild(node), dictionary);
+ }
+
+ if (NW_DOM_Node_getNextSibling(node))
+ {
+ NW_Encoder_StringTable_getNodeStrings(strTable, NW_DOM_Node_getNextSibling(node), dictionary);
+ }
+ }
+ break;
+
+ case NW_DOM_TEXT_NODE:
+ NW_Encoder_StringTable_getTextStrings(strTable, node);
+
+ if (NW_DOM_Node_getNextSibling(node))
+ {
+ NW_Encoder_StringTable_getNodeStrings (strTable, NW_DOM_Node_getNextSibling(node), dictionary);
+ }
+
+ break;
+
+ case NW_DOM_PROCESSING_INSTRUCTION_NODE:
+/* PiPrint (node, encoding); */
+
+ if (NW_DOM_Node_getNextSibling(node))
+ {
+ NW_Encoder_StringTable_getNodeStrings (strTable, NW_DOM_Node_getNextSibling(node), dictionary);
+ }
+
+ break;
+
+ default:
+ if (NW_DOM_Node_getNextSibling(node))
+ {
+ NW_Encoder_StringTable_getNodeStrings (strTable, NW_DOM_Node_getNextSibling(node), dictionary);
+ }
+ }
+ return NW_STAT_SUCCESS;
+}
+
+/**
+ * Finds all the string in document
+ * Returns NW_STAT_BAD_INPUT_PARAM
+ * NW_STAT_OUT_OF_MEMORY
+ * NW_STAT_SUCCESS
+ */
+/* ------------------------------------------------------------------------- */
+static
+NW_Status_t
+NW_Encoder_StringTable_findDocStrings(NW_Encoder_StringTable_t *strTable,
+ NW_DOM_DocumentNode_t *doc,
+ NW_WBXML_Dictionary_t *dictionary)
+{
+ NW_String_t docType;
+ NW_DOM_ElementNode_t *elem;
+ NW_Status_t status;
+
+ if ((strTable == NULL) || (doc == NULL)){
+ return NW_STAT_BAD_INPUT_PARAM;
+ }
+
+ if (NW_DOM_DocumentNode_getPublicIdAsNumber(doc) == 0)
+ {
+ NW_Uint32 ignoreVal;
+ status = NW_DOM_DocumentNode_getPublicId(doc, &docType);
+ if (status != NW_STAT_SUCCESS){
+ return status;
+ }
+ status = NW_Encoder_StringTable_append(strTable, &docType, NW_TRUE,
+ &ignoreVal);
+ if (status != NW_STAT_SUCCESS){
+ return status;
+ }
+ }
+ elem = NW_DOM_DocumentNode_getDocumentElement(doc);
+ status = NW_Encoder_StringTable_getNodeStrings(strTable, elem, dictionary);
+ return status;
+}
+
+/* ------------------------------------------------------------------------- *
+ public methods
+ * ------------------------------------------------------------------------- */
+
+/*
+ * Creates a new String Table
+ */
+/* ------------------------------------------------------------------------- */
+EXPORT_C
+NW_Encoder_StringTable_t *
+NW_Encoder_StringTable_new()
+{
+ NW_Encoder_StringTable_t* strTable;
+
+ strTable = (NW_Encoder_StringTable_t*)
+ NW_Mem_Malloc(sizeof(NW_Encoder_StringTable_t));
+ if (strTable != NULL){
+ strTable->vector = CXML_Vector_Construct(sizeof(NW_Encoder_StringItem_t), 4);
+ if(strTable->vector == NULL)
+ {
+ NW_Mem_Free(strTable);
+ return NULL;
+ }
+ }
+
+ return strTable;
+}
+
+/*
+ * Deletes a String Table
+ */
+/* ------------------------------------------------------------------------- */
+
+EXPORT_C void
+NW_Encoder_StringTable_delete(NW_Encoder_StringTable_t* strTable)
+{
+ CXML_Vector_t* vectorObj = NULL;
+ NW_Encoder_StringItem_t* strItem = NULL;
+ CXML_Vector_Metric_t index;
+
+ if (strTable == NULL)
+ {
+ return;
+ }
+
+ if(strTable->vector)
+ {
+ vectorObj = strTable->vector;
+ }
+
+ //Free the data memory.
+
+
+ for (index = 0; index < vectorObj->size; index++)
+ {
+ strItem = (NW_Encoder_StringItem_t*) CXML_Vector_AddressAt(vectorObj,index);
+ if(strItem)
+ {
+ if((strItem->data).storage)
+ {
+ NW_Mem_Free ( (strItem->data).storage);
+ }
+ }
+ }/*end for() */
+
+ CXML_Vector_Destruct(strTable->vector);
+ NW_Mem_Free(strTable);
+}
+
+/* returns number of elements in the string table */
+/* ------------------------------------------------------------------------- */
+EXPORT_C CXML_Vector_Metric_t
+NW_Encoder_StringTable_GetSize(NW_Encoder_StringTable_t *strTable)
+{
+ return (NW_Uint32)strTable->vector->size;
+}
+
+/**
+ * Appends new found string in the document to the list. If the string
+ * was already present in the list, then it increases its frequency,
+ * otherwise it creates a new StringItem in the list
+ *
+ * MODIFIED index n= of the string into the table
+ *
+ * Returns NW_STAT_BAD_INPUT_PARAM
+ * NW_STAT_STR_TBL_OVERFLOW
+ * NW_STAT_OUT_OF_MEMORY
+ * NW_STAT_SUCCESS
+ */
+/* ------------------------------------------------------------------------- */
+NW_Status_t
+NW_Encoder_StringTable_append(NW_Encoder_StringTable_t *strTable,
+ NW_String_t *string,
+ NW_Bool literalOrDocType,
+ NW_Uint32 *extensionByteOffset)
+{
+ NW_Encoder_StringItem_t* strItem;
+ NW_Encoder_StringItem_t newStrItem;
+ NW_Uint32 ignoreVal;
+ NW_Status_t status;
+
+ if ((strTable == NULL) || (string == NULL)){
+ return NW_STAT_BAD_INPUT_PARAM;
+ }
+
+ newStrItem.data.storage = NULL;
+
+ /* Also, there can be malformed document. cXML parser wants to limits
+ * non DTD elements or attributes. So check current number of elements
+ * in the parser. This is for security reasons.
+ */
+
+ if((NW_Uint32)strTable->vector->size > CXML_MAX_STRTBL_ITEMS)
+ {
+ return NW_STAT_STR_TBL_OVERFLOW;
+ }
+
+ /* Find if string is already there in the string table. By design
+ if string isn't found, then *extensionByteOffset has value equal to
+ the offset of the new item to add which is just the count of all
+ bytes already in the string table. */
+ strItem = NW_Encoder_StringTable_find(strTable, string, &ignoreVal,
+ extensionByteOffset);
+ if (strItem != NULL) {
+ strItem->frequency++;
+ return NW_STAT_SUCCESS;
+ }
+ /* string not found, create a new entry. We need a duplicating the
+ * strings.
+ */
+
+ status = NW_Encoder_StringItem_initialize(&newStrItem, string);
+
+
+ if (status != NW_STAT_SUCCESS){
+ return status;
+ }
+ if (literalOrDocType){
+ newStrItem.frequency = 2;
+ }
+ CXML_Vector_InsertAt(strTable->vector, &newStrItem,
+ CXML_Vector_AtEnd, NULL);
+
+
+ return NW_STAT_SUCCESS;
+}
+
+/*
+ * Finds a string in the list and returns the corresponding
+ * StringItem, otherwise returns NULL
+ */
+/* ------------------------------------------------------------------------- */
+NW_Encoder_StringItem_t*
+NW_Encoder_StringTable_find(NW_Encoder_StringTable_t *strTable,
+ NW_String_t *string,
+ NW_Uint32 *strIndex,
+ NW_Uint32 *byteOffset)
+{
+ CXML_Vector_Metric_t index;
+
+ if ((strTable == NULL) || (string == NULL)){
+ return NULL;
+ }
+ *strIndex = 0;
+ *byteOffset = 0;
+ for (index = 0;
+ index < strTable->vector->size;
+ index++)
+ {
+ NW_Encoder_StringItem_t *item;
+
+ item = (NW_Encoder_StringItem_t*)
+ CXML_Vector_ElementAt(strTable->vector, index);
+ if (NW_String_equals(string, &item->data))
+ {
+ *strIndex = index;
+ return item;
+ }
+ *byteOffset = *byteOffset + NW_String_getByteCount(&item->data);
+ }
+ return NULL;
+}
+
+/**
+ * Finds the string at a given index
+ */
+/* ------------------------------------------------------------------------- */
+NW_Status_t
+NW_Encoder_StringTable_get(NW_Encoder_StringTable_t *strTable,
+ NW_Uint32 index,
+ NW_String_t* string)
+{
+ NW_Encoder_StringItem_t *strItem;
+
+ strItem = (NW_Encoder_StringItem_t*)
+ CXML_Vector_ElementAt(strTable->vector,
+ (CXML_Vector_Metric_t)index);
+
+ if (strItem){
+ string->storage = strItem->data.storage;
+ string->length = strItem->data.length;
+ return NW_STAT_SUCCESS;
+ }
+ return NW_STAT_FAILURE;
+}
+
+/**
+ * Finds item at a given index
+ */
+/* ------------------------------------------------------------------------- */
+NW_Encoder_StringItem_t*
+NW_Encoder_StringTable_getItemAt(NW_Encoder_StringTable_t *strTable,
+ NW_Uint32 index)
+{
+ return (NW_Encoder_StringItem_t*)
+ CXML_Vector_ElementAt(strTable->vector,
+ (CXML_Vector_Metric_t)index);
+}
+
+/**
+ * Removes a string item
+ */
+/* ------------------------------------------------------------------------- */
+NW_Status_t
+NW_Encoder_StringTable_removeAt(NW_Encoder_StringTable_t *strTable,
+ CXML_Vector_Metric_t index)
+{
+ return CXML_Vector_RemoveAt(strTable->vector, (CXML_Vector_Metric_t)index);
+}
+
+/*
+ * Returns the total number of bytes used for storing all the
+ * strings in the list
+ */
+/* ------------------------------------------------------------------------- */
+EXPORT_C NW_Uint32
+NW_Encoder_StringTable_getTotalBytes(NW_Encoder_StringTable_t *strTable)
+{
+ NW_Uint32 byteLength;
+ CXML_Vector_Metric_t index;
+
+ byteLength = 0;
+
+ for (index = 0;
+ index < strTable->vector->size;
+ index++)
+ {
+ NW_Encoder_StringItem_t *strItem;
+
+ strItem = (NW_Encoder_StringItem_t*)
+ CXML_Vector_ElementAt(strTable->vector, index);
+ byteLength += strItem->data.length;
+ }
+
+ return byteLength;
+}
+
+/* ------------------------------------------------------------------------- */
+EXPORT_C NW_Status_t
+NW_Encoder_StringTable_createFromDOM(NW_Encoder_StringTable_t *strTable,
+ NW_DOM_DocumentNode_t *doc,
+ NW_WBXML_Dictionary_t *dictionary)
+{
+
+ /* make a table of strings in the document */
+ NW_Encoder_StringTable_findDocStrings(strTable, doc, dictionary);
+
+ /* The string table will be freed once at the end. So, don't do
+ * this here. This is causing the memory leak otherwise.
+ */
+ return NW_STAT_SUCCESS;
+}
+
+
+/* callback implementations */
+/* ------------------------------------------------------------------------- */
+EXPORT_C NW_Status_t
+NW_Encoder_StringTable_getStringTableOffset(void* pStringTableObject,
+ NW_Uint32 byteCount,
+ const NW_Uint8* pString,
+ NW_Bool* pFound,
+ NW_Uint32* pTableOffset)
+{
+ NW_Encoder_StringItem_t *strItem;
+ NW_Uint32 strIndex;
+ NW_String_t string;
+
+ string.storage = (NW_Byte*)pString;
+ string.length = byteCount;
+
+ strItem = NW_Encoder_StringTable_find((NW_Encoder_StringTable_t*) pStringTableObject,
+ &string, &strIndex, pTableOffset);
+
+ if (strItem == NULL)
+ *pFound = NW_FALSE;
+ else
+ *pFound = NW_TRUE;
+
+ return NW_STAT_SUCCESS;
+}
+
+/* ------------------------------------------------------------------------- */
+EXPORT_C NW_Status_t
+NW_Encoder_StringTable_addToStringTable(void* pStringTableObject,
+ NW_Uint32 byteCount,
+ const NW_Uint8* pString,
+ NW_Uint32* pTableOffset)
+{
+ NW_String_t string;
+
+ string.storage = (NW_Byte*)pString;
+ string.length = byteCount;
+ *pTableOffset = 0;
+ return NW_Encoder_StringTable_append((NW_Encoder_StringTable_t*) pStringTableObject,
+ &string, NW_TRUE, pTableOffset);
+}
+
+/* ------------------------------------------------------------------------- */
+EXPORT_C NW_Status_t
+NW_Encoder_StringTable_StringTableIterateInit(void* pStringTableObject,
+ void* pStringTableIterator)
+{
+ NW_Encoder_StringTableIterator_t *strIterator;
+
+ strIterator = (NW_Encoder_StringTableIterator_t*)pStringTableIterator;
+ strIterator->strTable = (NW_Encoder_StringTable_t*)pStringTableObject;
+ strIterator->currentIndex = 0;
+ return NW_STAT_SUCCESS;
+}
+
+/* at end of string table return byteCount = 0 */
+/* ------------------------------------------------------------------------- */
+EXPORT_C NW_Status_t
+NW_Encoder_StringTable_StringTableIterateNext(void* pStringTableIterator,
+ NW_Uint32* pByteCount,
+ NW_Uint8** ppBuf)
+{
+ NW_Encoder_StringTableIterator_t *strIterator;
+ CXML_Vector_Metric_t size;
+ NW_String_t string;
+ NW_Status_t status;
+
+ strIterator = (NW_Encoder_StringTableIterator_t*)pStringTableIterator;
+ size = NW_Encoder_StringTable_GetSize(strIterator->strTable);
+
+ if (strIterator->currentIndex >= size){
+ return NW_STAT_WBXML_ITERATE_DONE;
+ }
+ status = NW_Encoder_StringTable_get(strIterator->strTable, strIterator->currentIndex, &string);
+ if (status != NW_STAT_SUCCESS){
+ return status;
+ }
+ *pByteCount = string.length;
+ *ppBuf = string.storage;
+ strIterator->currentIndex++;
+ return NW_STAT_WBXML_ITERATE_MORE;
+}
+
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/encoder/src/WBXMLWriter.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/encoder/src/WBXMLWriter.cpp Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,999 @@
+/*
+* Copyright (c) 2000 - 2001 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include "cxml_internal.h"
+#include
+#include
+#include
+#include "cxml_mem.h"
+
+// WLIU_DEBUG: #include "flogger.h"
+ /* a reserved name used for encoding tags and attributes that
+otherwise aren't in the dictionaries. zzzunknown must be in the
+dictionary for both tag names and attribute names */
+#define zzzunknownCharCount 10
+static const NW_Uint8 zzzunknown[] = {'z','z','z','u','n','k','n','o','w','n','\0'};
+#define zzzunknownEncoding HTTP_utf_8
+
+
+static
+NW_Status_t
+NW_WBXML_Writer_Memcpy(NW_WBXML_Writer_t* pW, const NW_Uint8* pBytes,
+ NW_Uint32 writeLength)
+{
+ NW_Status_t s = NW_STAT_SUCCESS;
+ if (writeLength == 0) {
+ return NW_STAT_FAILURE;
+ }
+ if (!pW->sizing) {
+ if (((pW->index + writeLength - 1) >= pW->byteCount)
+ && (pW->growBufCallback != NULL)) {
+ /* try to grow buf */
+ s = (*pW->growBufCallback)(pW, writeLength);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+ }
+ if ((pW->index + writeLength - 1) >= pW->byteCount) {
+ /* grow buf unavailable or didn't alloc enough */
+ return NW_STAT_OUT_OF_MEMORY;
+ }
+ NW_Mem_memcpy(pW->pBuf + pW->index, pBytes, writeLength);
+ }
+ pW->index += writeLength;
+ return s;
+}
+
+typedef struct NW_WBXML_Multibyte_s {
+ NW_Uint8 length; /* encoded length in bytes from 1..5 */
+ NW_Uint8 buf[5];
+} NW_WBXML_Multibyte_t;
+
+/* see the WBXML specification for the definition of this function */
+static
+void
+NW_WBXML_EncodeMultibyte(NW_Uint32 x, NW_WBXML_Multibyte_t* pM)
+{
+ NW_Uint8 i;
+ NW_Uint8 littleEndian[5];
+
+ littleEndian[0] = (NW_Uint8)(x & 0x7f);
+ for (i = 1; i < 5; i++) {
+ x >>= 7; /* unsigned x, no sign extension */
+ littleEndian[i] = (NW_Uint8)(x & 0x7f);
+ if (!x) {
+ break;
+ }
+ }
+ pM->length = i;
+ for (i = 0; i < pM->length; i++) {
+ pM->buf[i] = littleEndian[pM->length - 1 - i];
+ if ((i + 1) < pM->length) {
+ pM->buf[i] |= 0x80;
+ }
+ }
+}
+
+static
+NW_Status_t
+NW_WBXML_Writer_Multibyte(NW_WBXML_Writer_t* pW, NW_Uint32 x)
+{
+ NW_WBXML_Multibyte_t multibyte;
+
+ NW_WBXML_EncodeMultibyte(x, &multibyte);
+ return NW_WBXML_Writer_Memcpy(pW, multibyte.buf,
+ multibyte.length);
+}
+
+typedef enum {
+ NW_WBXML_TAG,
+ NW_WBXML_ATTRIBUTE
+} NW_WBXML_Writer_ItemType;
+
+static
+NW_Status_t
+NW_WBXML_Writer_MaybeSwitchPage(NW_WBXML_Writer_t* pW, NW_Uint8 page,
+ NW_WBXML_Writer_ItemType itemType,
+ NW_Bool* switched)
+{
+ NW_Status_t s = NW_STAT_SUCCESS;
+ NW_Uint8 token = NW_WBXML_SWITCH_PAGE; /* global so on all code pages */
+ NW_Bool changePage = 0;
+
+ *switched = NW_FALSE;
+ switch (itemType) {
+ case NW_WBXML_TAG:
+ changePage = (NW_Bool)(page != pW->tagCodePage);
+ if (changePage) {
+ pW->tagCodePage = page;
+ // WLIU_DEBUG: pW->cp_count++;
+ }
+ break;
+ case NW_WBXML_ATTRIBUTE:
+ changePage = (NW_Bool)(page != pW->attributeCodePage);
+ if (changePage) {
+ pW->attributeCodePage = page;
+ // WLIU_DEBUG: pW->cp_count++;
+ }
+ break;
+ default:
+ s = NW_STAT_FAILURE;
+ break;
+ }
+ if (changePage) {
+ s = NW_WBXML_Writer_Memcpy(pW, &token, 1);
+ // WLIU_DEBUG: RFileLogger::WriteFormat(_L("Browser"), _L("cp_count.txt"), EFileLoggingModeAppend, _L("=== cp_count: %x, pW->index: %x \n"), pW->cp_count, pW->index);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+ s = NW_WBXML_Writer_Memcpy(pW, &page, 1);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+ *switched = NW_TRUE;
+ }
+ return s;
+}
+
+EXPORT_C
+NW_Status_t
+NW_WBXML_Writer_Header(NW_WBXML_Writer_t* pW, NW_Uint8 WBXMLVersion,
+ NW_Uint32 publicIdentifier, NW_Uint32 charsetMIBEnum,
+ NW_Uint32 stringTableByteCount)
+
+{
+ NW_Status_t s;
+ NW_Uint32 byteCount;
+ NW_Uint8* pBuf;
+ NW_Encoder_StringTableIterator_t strTableIterator;
+
+ /* header = version publicid charset stringtable */
+
+ s = NW_WBXML_Writer_Memcpy(pW, &WBXMLVersion, 1);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+ s = NW_WBXML_Writer_Multibyte(pW, publicIdentifier);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+ s = NW_WBXML_Writer_Multibyte(pW, charsetMIBEnum);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+ s = NW_WBXML_Writer_Multibyte(pW, stringTableByteCount);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+ if (stringTableByteCount) {
+ NW_ASSERT(pW->stringTableIterateInit);
+ NW_ASSERT(pW->stringTableIterateNext);
+ s = (*(pW->stringTableIterateInit))(pW->pStringTableObject,
+ &strTableIterator);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+ s = (*(pW->stringTableIterateNext))(&strTableIterator,
+ &byteCount, &pBuf);
+ while (s == NW_STAT_WBXML_ITERATE_MORE){
+ s = NW_WBXML_Writer_Memcpy(pW, pBuf, byteCount);
+ if (s != NW_STAT_SUCCESS){
+ return s;
+ }
+ s = (*(pW->stringTableIterateNext))(&strTableIterator,
+ &byteCount, &pBuf);
+ }
+ if (s != NW_STAT_WBXML_ITERATE_DONE){
+ return NW_STAT_FAILURE;
+ }
+ }
+ return NW_STAT_SUCCESS;
+}
+
+/* if boolean "set" is 1 then "or" with mask, else "and" with ~mask */
+static
+NW_Status_t
+NW_WBXML_Writer_TagFlagOp(NW_WBXML_Writer_t* pW, NW_Uint32 index,
+ NW_Uint8 mask, NW_Bool set)
+{
+ NW_Status_t s = NW_STAT_SUCCESS;
+ if (!pW->sizing) {
+ if (index < pW->byteCount) {
+ if (set) {
+ (pW->pBuf)[index] |= mask;
+ } else {
+ (pW->pBuf)[index] &= ~mask;
+ }
+ } else {
+ s = NW_STAT_FAILURE;
+ }
+ }
+ return s;
+}
+
+EXPORT_C
+NW_Status_t
+NW_WBXML_Writer_TagSetContentFlag(NW_WBXML_Writer_t* pW, NW_Uint32 index)
+{
+ return NW_WBXML_Writer_TagFlagOp(pW, index, NW_WBXML_FLAGS_CONTENT, 1);
+}
+
+EXPORT_C
+NW_Status_t
+NW_WBXML_Writer_TagClearContentFlag(NW_WBXML_Writer_t* pW, NW_Uint32 index)
+{
+ return NW_WBXML_Writer_TagFlagOp(pW, index, NW_WBXML_FLAGS_CONTENT, 0);
+}
+
+EXPORT_C
+NW_Status_t
+NW_WBXML_Writer_TagSetAttributesFlag(NW_WBXML_Writer_t* pW, NW_Uint32 index)
+{
+ return NW_WBXML_Writer_TagFlagOp(pW, index, NW_WBXML_FLAGS_ATTRIBUTES, 1);
+}
+
+NW_Status_t
+NW_WBXML_Writer_TagClearAttributesFlag(NW_WBXML_Writer_t* pW, NW_Uint32 index)
+{
+ return NW_WBXML_Writer_TagFlagOp(pW, index, NW_WBXML_FLAGS_ATTRIBUTES, 0);
+}
+
+NW_Status_t
+NW_WBXML_Writer_TagToken(NW_WBXML_Writer_t* pW, NW_Uint16 fqToken,
+ NW_Uint32* pTagIndex)
+{
+ NW_Status_t s;
+ NW_Uint8 token;
+ NW_Uint8 page;
+ NW_Bool switched = NW_FALSE;
+
+ token = NW_WBXML_Dictionary_extractToken(fqToken);
+ page = NW_WBXML_Dictionary_extractPage(fqToken);
+
+ s = NW_WBXML_Writer_MaybeSwitchPage(pW, page, NW_WBXML_TAG, &switched);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+ *pTagIndex = pW->index;
+ return NW_WBXML_Writer_Memcpy(pW, &token, 1); /* tag token */
+ }
+
+static
+NW_Status_t
+NW_WBXML_Writer_Literal(NW_WBXML_Writer_t* pW, NW_Uint32 stringTableIndex)
+ {
+ NW_Status_t s;
+
+ /* global in WBXML spec, so on all code pages */
+ static const NW_Uint8 literalToken = NW_WBXML_LITERAL;
+
+ s = NW_WBXML_Writer_Memcpy(pW, &literalToken, 1);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+ return NW_WBXML_Writer_Multibyte(pW, stringTableIndex);
+ }
+
+/* This function will write to the extension string Table. The buffer
+ * "pBuf" is not NULL terminated. This can handle any type of encoding.
+ */
+
+
+static
+NW_Status_t
+NW_WBXML_Writer_StringTableLiteral2(NW_WBXML_Writer_t* pW,
+ NW_Uint32 charCount,
+ const NW_Uint8* pBuf,
+ NW_Uint32 encoding)
+{
+ NW_Uint32 byteCount = 0;
+ NW_Uint32 totalByteCount = 0;
+ NW_Ucs2 c;
+ NW_Uint32 numbytes;
+ NW_Uint8* literalName = NULL;
+ NW_Status_t s = NW_STAT_SUCCESS;
+ NW_Uint32 i =0;
+ NW_Uint32 tableIndex = 0;
+
+ if(pBuf == NULL)
+ {
+ return NW_STAT_BAD_INPUT_PARAM;
+ }
+
+ if (pW->addToStringTable != NULL)
+ {
+
+ /*
+ * pBuf is not NULL terminated. So, need to use the following method.
+ */
+
+ numbytes = NW_String_readChar( (NW_Byte*) pBuf,&c,encoding);
+
+ /* Calculate the length of string. Also add the number of characters
+ * required for the NULL termination.
+ */
+
+ byteCount = (numbytes * charCount) ;
+
+ totalByteCount = byteCount + numbytes;
+
+
+ literalName = (NW_Uint8*) NW_Mem_Malloc(totalByteCount);
+
+ if (literalName != NULL)
+ {
+ (void)NW_Mem_memcpy(literalName, pBuf, byteCount );
+
+
+ for(i=0; i < numbytes; i++)
+ {
+ literalName[byteCount+i] = '\0';
+ }
+
+
+ /* During the PASS -1, the Literal is also added to the string table
+ * so the correct index of Literal can be found. The index of the literal
+ * is written in the WBXML buffer. The index is UINT 32 so (index = 01) and
+ * (index == 0x80) is encoded differently in the WBXML integer encoding. So,
+ * string table function calculates the correct index. So, the calling function
+ * should free the string table after PASS-1. Currently, PASS-1 and PASS-2 is
+ * used in the XML parser only.
+ */
+
+
+ s = (*pW->addToStringTable)(pW->pStringTableObject,
+ totalByteCount, literalName,
+ &tableIndex);
+ if (NW_STAT_IS_SUCCESS(s))
+ {
+ s = NW_WBXML_Writer_Literal(pW,tableIndex);
+ if(literalName != NULL)
+ {
+ NW_Mem_Free(literalName);
+ }
+ }
+ }/*end if (literalName != NULL) */
+ else
+ {
+ s = NW_STAT_OUT_OF_MEMORY;
+ }
+ } /*end if(pW->addToStringTable != NULL)*/
+
+return s;
+}/* NW_WBXML_Writer_StringTableLiteral2(..) */
+
+/* Examine the out parameter *pFound to see if the string was found in
+the string table. If it wasn't found, then it can't be written as a literal
+in WBXML. A failure return code means something else went wrong. The key
+part of this function is that it just queries the string table and doesn't
+try to force the string to be added to the string table. */
+static
+NW_Status_t
+NW_WBXML_Writer_StringTableLiteral(NW_WBXML_Writer_t* pW,
+ NW_Uint32 byteCount,
+ const NW_Uint8* pBuf,
+ NW_Bool* pFound)
+{
+ NW_Status_t s;
+ NW_Uint32 tableIndex = 0;
+
+ *pFound = 0;
+ if (pW->getStringTableOffset) {
+ s = (*pW->getStringTableOffset)(pW->pStringTableObject,
+ byteCount, pBuf,
+ pFound, &tableIndex);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+ }
+ if (*pFound) {
+ /* global, so on all code pages */
+ static const NW_Uint8 tableRefToken = NW_WBXML_STR_T;
+
+ s = NW_WBXML_Writer_Memcpy(pW, &tableRefToken, 1);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+ return NW_WBXML_Writer_Multibyte(pW, tableIndex);
+ }
+ /* *pFound indicates whether the string table entry was found so
+ we return success */
+ return NW_STAT_SUCCESS;
+}
+
+/* charCount should not include null termination character if any exists */
+EXPORT_C
+NW_Status_t
+NW_WBXML_Writer_TagString(NW_WBXML_Writer_t* pW, NW_Uint32 encoding,
+ NW_Uint32 charCount, NW_Uint32 byteCount,
+ NW_Uint8* pBuf, NW_Uint32* pTagIndex)
+{
+ NW_Status_t s;
+ NW_Uint16 fqToken;
+
+ (void) byteCount;
+
+ /* try token */
+ s = NW_WBXML_Dictionary_getTagToken2(pW->pTagDictionary, encoding,
+ charCount, pBuf, &fqToken);
+ if (NW_STAT_IS_SUCCESS(s)) {
+ return NW_WBXML_Writer_TagToken(pW, fqToken, pTagIndex);
+ }
+
+ /* try string table reference */
+ if (pW->addToStringTable != NULL)
+ {
+ *pTagIndex = pW->index;
+ s = NW_WBXML_Writer_StringTableLiteral2(pW, charCount, pBuf, encoding);
+ // Return on success or failure (out of memory, etc.) except
+ // NW_STAT_STR_TBL_OVERFLOW.
+ if (s != NW_STAT_STR_TBL_OVERFLOW)
+ {
+ return s;
+ }
+ }
+
+ /* no token, not in string table...try to encode as the unknown tag */
+ s = NW_WBXML_Dictionary_getTagToken2(pW->pTagDictionary, zzzunknownEncoding,
+ zzzunknownCharCount,
+ (NW_Uint8*)&zzzunknown[0],
+ &fqToken);
+ if (NW_STAT_IS_SUCCESS(s))
+ {
+ return NW_WBXML_Writer_TagToken(pW, fqToken, pTagIndex);
+ }
+
+ /* getting here means no token, no string table entry
+ and the reserved unknown tag is missing from the dictionary */
+ NW_ASSERT(s == NW_STAT_SUCCESS); /* force error to be caught here */
+ return s;
+}
+
+static
+NW_Status_t
+NW_WBXML_Writer_InlineString(NW_WBXML_Writer_t* pW,
+ NW_Uint32 encoding,
+ NW_Uint32 byteCount,
+ const NW_Uint8* pTextIn)
+{
+ NW_Uint8* pTextOut = (NW_Uint8*)pTextIn; /* default */
+ NW_Status_t s;
+ NW_Bool nullTerminated;
+ NW_Uint8 token = NW_WBXML_STR_I; /* global so on all code pages */
+
+ nullTerminated = NW_FALSE;
+
+ s = NW_WBXML_Writer_Memcpy(pW, &token, 1);
+ if (NW_STAT_IS_FAILURE(s)) {
+ if (pTextOut != pTextIn) {
+ NW_Mem_Free(pTextOut);
+ }
+ return s;
+ }
+ s = NW_WBXML_Writer_Memcpy(pW, pTextOut, byteCount);
+ if (NW_STAT_IS_FAILURE(s)) {
+ if (pTextOut != pTextIn) {
+ NW_Mem_Free(pTextOut);
+ }
+ return s;
+ }
+ if (pTextOut != pTextIn) {
+ NW_Mem_Free(pTextOut);
+ }
+
+ /* test string to see if written bytes are already null terminated */
+ /* FUTURE MISSING UTILITY SUPPORT
+ this char encoding API isn't implemented yet
+ NW_Char_SimpleString_t n;
+ s = NW_CharEncoding_nullTermination(encoding, &n);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+ test if null termination already written and if not...
+ s = NW_WBXML_Writer_Memcpy(pW, n.buf, n.byteCount);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+ */
+ /* BUG HACK BEGIN
+ Should not assume null termination missing but this works
+ with the XMLP client. Remove this when char encoding
+ null termination utility support is available */
+
+ if (encoding == HTTP_iso_10646_ucs_2){
+ /* just look for any 1 bits in the UCS2 char */
+ NW_Uint8 lastChar = (pTextIn + byteCount)[-1];
+ lastChar |= (pTextIn + byteCount)[-2];
+ if (lastChar == 0){
+ nullTerminated = NW_TRUE;
+ }
+ }
+ else if ((encoding == HTTP_iso_8859_1) ||
+ (encoding == HTTP_utf_8) ||
+ (encoding == HTTP_us_ascii))
+ {
+ NW_Uint8 lastChar = (pTextIn + byteCount)[-1];
+ if (lastChar == 0){
+ nullTerminated = NW_TRUE;
+ }
+ }
+ else{
+ NW_ASSERT(0);
+ }
+ if (!nullTerminated)
+ {
+ token = 0;
+ s = NW_WBXML_Writer_Memcpy(pW, &token, 1);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+ if (encoding == HTTP_iso_10646_ucs_2) {
+ s = NW_WBXML_Writer_Memcpy(pW, &token, 1);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+ }
+ }
+ /* BUG HACK END */
+ return NW_STAT_SUCCESS;
+}
+
+/*
+1. charCount should not include null termination character if any exists
+2. if there is an attribute name but no value use valueCharCount==0,
+ valueByteCount==0 and pValue==NULL
+*/
+EXPORT_C
+NW_Status_t
+NW_WBXML_Writer_AttributeAndValue2(NW_WBXML_Writer_t* pW, NW_Uint32 encoding,
+ NW_Uint32 nameCharCount, NW_Uint8* pName,
+ NW_Uint32 valueCharCount, NW_Uint32 valueByteCount,
+ NW_Uint8* pValue,
+ NW_Uint32* cp_count)
+{
+ /*
+ Note: According to the WBXML specification, attribute codes (tokens) may
+ encode all or a prefix of the attribute value as well as the attribute name.
+ The implementation here is simpler, it assumes that attribute names are
+ encoded separately from attribute values.
+ */
+ NW_Status_t s;
+ NW_Uint16 fqToken;
+ NW_Uint8 token;
+ NW_Uint8 page;
+ NW_Bool switched = NW_FALSE;
+ NW_Bool extStrTbl = NW_FALSE;
+
+ *cp_count = 0;
+ /* Note: This dictionary lookup function is insufficient to look up
+ combined attribute and value. To do that we must be able to pass both
+ the name and value and get both a return token and a character count
+ of the value characters represented by the token so we can tell if there
+ are remaing value characters to write. */
+ s = NW_WBXML_Dictionary_getAttributeNameToken(pW->pAttributeDictionary,
+ encoding,
+ nameCharCount, pName, &fqToken);
+ if (NW_STAT_IS_FAILURE(s)) {
+ /* failure here means that we should encode as the reserved unknown
+ name, so force that */
+ fqToken = NW_WBXML_LITERAL;
+ }
+ token = NW_WBXML_Dictionary_extractToken(fqToken);
+ page = NW_WBXML_Dictionary_extractPage(fqToken);
+
+
+ if ((token & NW_WBXML_MASK_TAG_ID) == NW_WBXML_LITERAL)
+ {
+
+ /* If strig table is supported then the attribute name not found
+ * in the dictionary is stored in string table a LITRAL otherwise
+ * the workaround is to encode the name as a reserved unknown.
+ */
+
+ if (pW->getStringTableOffset)
+ {
+ s = NW_WBXML_Writer_StringTableLiteral2(pW,nameCharCount,pName, encoding);
+
+ if (NW_STAT_IS_FAILURE(s))
+ {
+ return s;
+ }
+ extStrTbl = NW_TRUE;
+ }//end if(pW->getStringTableOffset)
+ else
+ {
+
+ s = NW_WBXML_Dictionary_getAttributeNameToken(pW->pAttributeDictionary,
+ zzzunknownEncoding,
+ zzzunknownCharCount,
+ (NW_Uint8*)&zzzunknown[0],
+ &fqToken);
+ if (NW_STAT_IS_FAILURE(s))
+ {
+ /* failure here means the reserved unknown name is missing from
+ the dictionary */
+ NW_ASSERT(s==NW_STAT_SUCCESS);/*force error to be caught here*/
+ return s;
+ }
+ token = NW_WBXML_Dictionary_extractToken(fqToken);
+ page = NW_WBXML_Dictionary_extractPage(fqToken);
+ }//end else
+ }//end if ((token & NW_WBXML_MASK_TAG_ID) == NW_WBXML_LITERAL)
+
+ //
+ //If attribute name is found in the dictionary only then check for the
+ // Page switching.
+ //
+
+ if(!extStrTbl)
+ {
+
+ s = NW_WBXML_Writer_MaybeSwitchPage(pW, page, NW_WBXML_ATTRIBUTE, &switched);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+ if (switched)
+ *cp_count = *cp_count + 1 ;
+ s = NW_WBXML_Writer_Memcpy(pW, &token, 1); /* attribute name token */
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+ }//end if(!extStrTbl)
+
+
+ if ((valueCharCount == 0) && (pValue != NULL))
+ {
+ token = NW_WBXML_STR_I; /* global so on all code pages */
+
+ s = NW_WBXML_Writer_Memcpy(pW, &token, 1);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+ token = 0;
+ s = NW_WBXML_Writer_Memcpy(pW, &token, 1);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+ if (encoding == HTTP_iso_10646_ucs_2) {
+ s = NW_WBXML_Writer_Memcpy(pW, &token, 1);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+ }
+ }
+ else
+ {
+ if ((valueCharCount != 0) && (pValue != NULL))
+ {
+ s = NW_WBXML_Dictionary_getAttributeValueToken(pW->pAttributeDictionary,
+ encoding,
+ valueCharCount, pValue,
+ &fqToken);
+ if (NW_STAT_IS_FAILURE(s)) {
+ /* failure means couldn't find a token, force to literal */
+ fqToken = NW_WBXML_LITERAL; /* page is irrelevant here */
+ }
+ token = NW_WBXML_Dictionary_extractToken(fqToken);
+ page = NW_WBXML_Dictionary_extractPage(fqToken);
+ if ((token & NW_WBXML_MASK_TAG_ID) == NW_WBXML_LITERAL)
+ {
+ s = NW_WBXML_Writer_InlineString(pW, encoding,
+ valueByteCount, pValue);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+ } else {
+ s = NW_WBXML_Writer_MaybeSwitchPage(pW, page,
+ NW_WBXML_ATTRIBUTE, &switched);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+ if (switched)
+ *cp_count = *cp_count + 1 ;
+ s = NW_WBXML_Writer_Memcpy(pW, &token, 1);/*attr value token*/
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+ }
+ }
+ }
+ return NW_STAT_SUCCESS;
+}
+
+EXPORT_C
+NW_Status_t
+NW_WBXML_Writer_AttributeAndValue(NW_WBXML_Writer_t* pW, NW_Uint32 encoding,
+ NW_Uint32 nameCharCount, NW_Uint8* pName,
+ NW_Uint32 valueCharCount, NW_Uint32 valueByteCount,
+ NW_Uint8* pValue)
+{
+ NW_Uint32 cp_cnt = 0;
+ return NW_WBXML_Writer_AttributeAndValue2(pW, encoding, nameCharCount, pName, valueCharCount,
+ valueByteCount, pValue, &cp_cnt);
+
+}
+
+NW_Status_t
+NW_WBXML_Writer_AttributeNameString(NW_WBXML_Writer_t* pW, NW_Uint32 encoding,
+ NW_Uint32 nameCharCount,
+ NW_Uint32 nameByteCount, NW_Uint8* pName)
+{
+ NW_Status_t s;
+ NW_Uint16 fqToken;
+
+ (void) nameByteCount;
+
+ /* try token */
+ s = NW_WBXML_Dictionary_getAttributeToken2(pW->pAttributeDictionary,
+ encoding, nameCharCount,
+ pName, &fqToken,
+ NW_TRUE /* isName */);
+ if (NW_STAT_IS_SUCCESS(s)) {
+ return NW_WBXML_Writer_AttributeToken(pW, fqToken);
+ }
+
+ /* try string table */
+ if (pW->addToStringTable != NULL) {
+ s = NW_WBXML_Writer_StringTableLiteral2(pW, nameCharCount, pName, encoding);
+ return s;
+
+ }
+ /* no token, no string table so try unknown token */
+ s = NW_WBXML_Dictionary_getAttributeToken2(pW->pAttributeDictionary,
+ zzzunknownEncoding,
+ zzzunknownCharCount,
+ (NW_Uint8*)&zzzunknown[0],
+ &fqToken,
+ NW_TRUE /* isName */);
+ if (NW_STAT_IS_SUCCESS(s)) {
+ return NW_WBXML_Writer_AttributeToken(pW, fqToken);
+ }
+ NW_ASSERT(NW_STAT_IS_SUCCESS(s)); /* force debug to stop here */
+ return NW_STAT_FAILURE;
+}
+
+NW_Status_t
+NW_WBXML_Writer_AttributeToken(NW_WBXML_Writer_t* pW,
+ NW_Uint16 fqToken)
+
+{
+ NW_Status_t s;
+ NW_Uint8 token;
+ NW_Uint8 page;
+ NW_Bool switched = NW_FALSE;
+
+ token = NW_WBXML_Dictionary_extractToken(fqToken);
+ page = NW_WBXML_Dictionary_extractPage(fqToken);
+
+ s = NW_WBXML_Writer_MaybeSwitchPage(pW, page, NW_WBXML_ATTRIBUTE, &switched);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+ return NW_WBXML_Writer_Memcpy(pW, &token, 1); /* attribute token */
+}
+
+NW_Status_t
+NW_WBXML_Writer_Entity(NW_WBXML_Writer_t* pW,
+ NW_Uint32 entity)
+{
+ NW_Status_t s;
+ static const NW_Uint8 entityToken = NW_WBXML_ENTITY;
+
+ s = NW_WBXML_Writer_Memcpy(pW, &entityToken, 1);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+ return NW_WBXML_Writer_Multibyte(pW, entity);
+}
+
+/*
+This is a helper function for the EXT_T_[0,1,2] forms for these extensions.
+*/
+NW_Status_t
+NW_WBXML_Writer_ExtensionUseStringTable(NW_WBXML_Writer_t* pW,
+ NW_Uint16 fqToken,
+ NW_Uint32 byteCount,
+ NW_Uint8* pBuf)
+{
+ NW_Uint32 tableIndex;
+ NW_Status_t s;
+
+ if (pW->addToStringTable != NULL) {
+ s = (*pW->addToStringTable)(pW->pStringTableObject,
+ byteCount, pBuf, &tableIndex);
+ if (NW_STAT_IS_SUCCESS(s)) {
+ return NW_WBXML_Writer_Extension(pW, fqToken, tableIndex, 0, NULL);
+ }
+ }
+ return NW_STAT_FAILURE;
+}
+
+/*
+There are three type of extensions:
+
+1. one of three possible single byte tokens
+ NW_WBXML_EXT_[0,1,2]
+2. an extension token followed by a multibyte encoded NW_Uint32 value
+ NW_WBXML_EXT_T_[0,1,2] multibyte(anonymousValue)
+3. an extension token followed by an in-line string
+ NW_WBXML_EXT_I_[0,1,2] null-terminated-string
+
+This function handles all three cases so you have to pass the appropriate
+arguments for each case:
+
+1. fqToken should be one of NW_WBXML_EXT_[0,1,2] (with any page value)
+ and anonymousValue, byteCount and pBuf should be 0 or NULL
+
+2. fqToken should be one of NW_WBXML_EXT_T_[0,1,2] (with any page value),
+ anonymousValue should be the value to multibyte encode
+ and byteCount and pBuf should be 0 and NULL
+
+3. fqToken should be one of NW_WBXML_EXT_I_[0,1,2] (with any page value),
+ byteCount should be the byte length of the null terminated string
+ pointed to by pBuf
+ and anonymousValue is ignored
+*/
+NW_Status_t
+NW_WBXML_Writer_Extension(NW_WBXML_Writer_t* pW,
+ NW_Uint16 fqToken,
+ NW_Uint32 anonymousValue,
+ NW_Uint32 byteCount,
+ NW_Uint8* pBuf)
+{
+ NW_Status_t s;
+ NW_Uint8 token = (NW_Uint8)(fqToken & NW_WBXML_MASK_TOKEN);
+
+ s = NW_WBXML_Writer_Memcpy(pW, &token, 1);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+
+ switch (token) {
+ case NW_WBXML_EXT_0:
+ case NW_WBXML_EXT_1:
+ case NW_WBXML_EXT_2:
+ NW_ASSERT(byteCount == 0);
+ NW_ASSERT(pBuf == NULL);
+ break;
+ case NW_WBXML_EXT_T_0:
+ case NW_WBXML_EXT_T_1:
+ case NW_WBXML_EXT_T_2:
+ NW_ASSERT(byteCount == 0);
+ NW_ASSERT(pBuf == NULL);
+ s = NW_WBXML_Writer_Multibyte(pW, anonymousValue);
+ break;
+ case NW_WBXML_EXT_I_0:
+ case NW_WBXML_EXT_I_1:
+ case NW_WBXML_EXT_I_2:
+ NW_ASSERT(byteCount > 0);
+ NW_ASSERT(pBuf != NULL);
+ s = NW_WBXML_Writer_Memcpy(pW, pBuf, byteCount);
+ break;
+ default:
+ NW_ASSERT(!"wrong token");
+ return NW_STAT_FAILURE;
+ }
+ return s;
+}
+
+EXPORT_C
+NW_Status_t
+NW_WBXML_Writer_Opaque(NW_WBXML_Writer_t* pW, NW_Uint32 byteCount,
+ NW_Uint8* pBuf)
+{
+ NW_Status_t s;
+ NW_Uint8 token = NW_WBXML_OPAQUE; /* global so on all code pages */
+ s = NW_WBXML_Writer_Memcpy(pW, &token, 1);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+ s = NW_WBXML_Writer_Multibyte(pW, byteCount);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+ s = NW_WBXML_Writer_Memcpy(pW, pBuf, byteCount);
+ return s;
+}
+
+EXPORT_C
+NW_Status_t
+NW_WBXML_Writer_Text(NW_WBXML_Writer_t* pW, NW_Uint32 encoding,
+ NW_Uint32 byteCount, const NW_Uint8* pText)
+{
+ NW_Status_t s;
+ NW_Bool found = 0;
+
+ /* try string table */
+ s = NW_WBXML_Writer_StringTableLiteral(pW, byteCount, pText, &found);
+ if (NW_STAT_IS_FAILURE(s) || found) {
+ return s;
+ }
+ /* back off to inline string */
+ return NW_WBXML_Writer_InlineString(pW, encoding, byteCount, pText);
+}
+
+EXPORT_C
+NW_Status_t
+NW_WBXML_Writer_PI(NW_WBXML_Writer_t* pW)
+{
+ NW_Uint8 piToken = 0x43; /* global, so on all code pages */
+ return NW_WBXML_Writer_Memcpy(pW, &piToken, 1);
+}
+
+
+EXPORT_C
+NW_Status_t
+NW_WBXML_Writer_End(NW_WBXML_Writer_t* pW)
+{
+ NW_Uint8 endToken = NW_WBXML_END; /* global, so on all code pages */
+ return NW_WBXML_Writer_Memcpy(pW, &endToken, 1);
+}
+
+EXPORT_C
+void
+NW_WBXML_Writer_Initialize(NW_WBXML_Writer_t* pW,
+ NW_Uint32 byteCount, NW_Uint8* pBuf,
+ NW_WBXML_Writer_GrowBuf_t growBufCallback,
+ NW_WBXML_Dictionary_t* pTagDictionary,
+ NW_WBXML_Dictionary_t* pAttributeDictionary,
+ NW_WBXML_Writer_GetStringTableOffset_t getStringTableOffset,
+ NW_WBXML_Writer_AddToStringTable_t addToStringTable,
+ void* pStringTableObject,
+ NW_WBXML_Writer_StringTableIterateInit_t stringTableIterateInit,
+ NW_WBXML_Writer_StringTableIterateNext_t stringTableIterateNext,
+ NW_Bool sizing)
+{
+ pW->index = 0;
+ pW->byteCount = byteCount;
+ pW->pBuf = pBuf;
+ pW->growBufCallback = growBufCallback;
+ pW->pTagDictionary = pTagDictionary;
+ pW->pAttributeDictionary = pAttributeDictionary;
+ pW->getStringTableOffset = getStringTableOffset;
+ pW->addToStringTable = addToStringTable;
+ pW->pStringTableObject = pStringTableObject;
+ pW->stringTableIterateInit = stringTableIterateInit;
+ pW->stringTableIterateNext = stringTableIterateNext;
+ pW->tagCodePage = 0;
+ pW->attributeCodePage = 0;
+ pW->sizing = sizing;
+ //WLIU_DEBUG: pW->cp_count = 0;
+}
+
+void
+NW_WBXML_Writer_SetToSizing(NW_WBXML_Writer_t* pW)
+{
+ pW->index = 0;
+ pW->tagCodePage = 0; /* TBD BUG ? will this give correct code pages */
+ pW->attributeCodePage = 0;/* TBD BUG ? will this give correct code pages */
+ pW->sizing = 1;
+ // WLIU_DEBUG: pW->cp_count = 0;
+}
+
+
+void
+NW_WBXML_Writer_SetToWrite(NW_WBXML_Writer_t* pW, NW_Uint32 byteCount, NW_Uint8* pBuf)
+{
+ pW->index = 0;
+ pW->byteCount = byteCount;
+ pW->pBuf = pBuf;
+ pW->tagCodePage = 0; /* TBD BUG ? will this give correct code pages */
+ pW->attributeCodePage = 0;/* TBD BUG ? will this give correct code pages */
+ pW->sizing = 0;
+ // WLIU_DEBUG: pW->cp_count = 0;
+}
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/encoder/src/domencoder.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/encoder/src/domencoder.c Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,513 @@
+/*
+* Copyright (c) 2000 - 2001 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include "cxml_internal.h"
+#include
+#include
+#include
+#include
+#include
+
+/* ------------------------------------------------------------------------- *
+ private methods
+ * ------------------------------------------------------------------------- */
+
+/*
+* Encodes an Attribute Val
+* Returns NW_STAT_BAD_INPUT_PARAM
+* NW_STAT_OUT_OF_MEMORY
+* NW_STAT_SUCCESS
+*/
+/* ------------------------------------------------------------------------- */
+static
+NW_Status_t
+NW_Encoder_encodeAttrVal(NW_Encoder_t * encoder, NW_DOM_AttrVal_t *val)
+{
+ NW_Status_t status;
+
+ if ((encoder == NULL) || (val == NULL)){
+ return NW_STAT_BAD_INPUT_PARAM;
+ }
+ status = NW_STAT_SUCCESS;
+ switch(NW_DOM_AttrVal_getType(val))
+ {
+ case NW_DOM_ATTR_VAL_STRING:
+ {
+ status = NW_WBXML_Writer_Text(&encoder->writer, encoder->encoding,
+ val->component.string.length,
+ val->component.string.storage);
+ break;
+ }
+ case NW_DOM_ATTR_VAL_EXTENSION:
+ {
+ NW_Uint8 t; /* 8-bit token */
+ NW_String_t str;
+
+ t = (NW_Uint8)(val->component.ext.token);
+ if ((t == NW_WBXML_EXT_0)
+ || (t == NW_WBXML_EXT_1)
+ || (t == NW_WBXML_EXT_2)) {
+ status
+ = NW_WBXML_Writer_Extension(&encoder->writer,
+ (NW_Uint16)(val->component.ext.token),
+ 0, 0, NULL);
+ } else if ((t == NW_WBXML_EXT_T_0)
+ || (t == NW_WBXML_EXT_T_1)
+ || (t == NW_WBXML_EXT_T_2)) {
+ NW_ASSERT((val->component.ext.type
+ == NW_TINYDOM_EXTENSION_TYPE_NORMAL)
+ || (val->component.ext.type
+ == NW_TINYDOM_EXTENSION_TYPE_EXT_T_INTEGER));
+ if (val->component.ext.type == NW_TINYDOM_EXTENSION_TYPE_NORMAL) {
+ NW_Uint16 token = NW_DOM_TextItem_getExtension(val, &str);
+ status
+ = NW_WBXML_Writer_ExtensionUseStringTable(&encoder->writer,
+ token,
+ str.length,
+ str.storage);
+ } else {
+ status = NW_WBXML_Writer_Extension(&encoder->writer,
+ (NW_Uint16)(val->component.ext.token),
+ val->component.ext.value.x,
+ 0, NULL);
+ }
+ } else if ((t == NW_WBXML_EXT_I_0)
+ || (t == NW_WBXML_EXT_I_1)
+ || (t == NW_WBXML_EXT_I_2)) {
+ NW_Uint16 token = NW_DOM_TextItem_getExtension(val, &str);
+ status = NW_WBXML_Writer_Extension(&encoder->writer, token,
+ 0, str.length, str.storage);
+ } else {
+ status = NW_STAT_FAILURE;
+ }
+ break;
+ }
+ case NW_DOM_ATTR_VAL_ENTITY:
+ {
+ NW_Uint32 entity;
+ entity = NW_DOM_TextItem_getEntity(val);
+ status = NW_WBXML_Writer_Entity(&encoder->writer, entity);
+ break;
+ }
+ case NW_DOM_ATTR_VAL_OPAQUE:
+ {
+ NW_Uint32 length;
+ NW_Byte *data;
+ data = NW_DOM_AttrVal_getOpaque(val, &length);
+ status = NW_WBXML_Writer_Opaque(&encoder->writer, length, data);
+ break;
+ }
+ case NW_DOM_ATTR_VAL_TOKEN:
+ {
+ NW_Uint16 fqToken = NW_DOM_AttrVal_getToken(val);
+ status = NW_WBXML_Writer_AttributeToken(&encoder->writer, fqToken);
+ break;
+ }
+ default:
+ return NW_STAT_FAILURE;
+ }
+ return status;
+}
+
+/*
+* Encodes an attribute
+* Returns NW_STAT_BAD_INPUT_PARAM
+* NW_STAT_OUT_OF_MEMORY
+* NW_STAT_SUCCESS
+*/
+/* ------------------------------------------------------------------------- */
+static
+NW_Status_t
+NW_Encoder_encodeAttribute(NW_Encoder_t * encoder,
+ NW_DOM_AttributeHandle_t * attrHandle)
+{
+ NW_Status_t status;
+ NW_DOM_AttrVal_t attrVal;
+ NW_Uint16 fqToken = 0;
+ NW_Uint8 token = 0;
+ NW_Ucs2 c;
+ NW_Uint32 numbytes;
+
+ fqToken = NW_DOM_AttributeHandle_getToken(attrHandle);
+
+ if ((encoder == NULL) || (attrHandle == NULL)){
+ return NW_STAT_BAD_INPUT_PARAM;
+ }
+ token = (NW_Uint8)(fqToken & NW_WBXML_MASK_TOKEN);
+
+ if (token == NW_WBXML_LITERAL)
+ {
+ NW_String_t attributeName;
+ if (NW_DOM_AttributeHandle_getName(attrHandle, &attributeName)
+ != NW_STAT_SUCCESS){
+ return NW_STAT_FAILURE;
+ }
+
+ numbytes = NW_String_readChar(attributeName.storage, &c, encoder->encoding);
+
+ status = NW_WBXML_Writer_AttributeNameString(&encoder->writer,
+ encoder->encoding,
+ (attributeName.length - numbytes)/numbytes,
+ attributeName.length,
+ attributeName.storage);
+ }
+ else{
+ status = NW_WBXML_Writer_AttributeToken(&encoder->writer, fqToken);
+ }
+
+ while (NW_DOM_AttributeHandle_getNextVal(attrHandle, &attrVal)
+ == NW_STAT_WBXML_ITERATE_MORE)
+ {
+ status = NW_Encoder_encodeAttrVal(encoder, &attrVal);
+ if (status != NW_STAT_SUCCESS)
+ return status;
+ }
+ return NW_STAT_SUCCESS;
+}
+
+/*
+* Encodes an element node
+* Returns NW_STAT_BAD_INPUT_PARAM
+* NW_STAT_OUT_OF_MEMORY
+* NW_STAT_SUCCESS
+*/
+/* ------------------------------------------------------------------------- */
+static
+NW_Status_t
+NW_Encoder_encodeElementNode(NW_Encoder_t * encoder, NW_DOM_ElementNode_t * e)
+{
+ NW_Status_t status;
+ NW_DOM_AttributeListIterator_t listIterator;
+ NW_DOM_AttributeHandle_t attrHandle;
+ NW_Uint16 fqToken;
+ NW_Uint8 token;
+ NW_Uint32 tagIndex;
+ NW_Int32 charCount;
+
+ if ((encoder == NULL) || (e == NULL)){
+ return NW_STAT_BAD_INPUT_PARAM;
+ }
+ fqToken = NW_DOM_ElementNode_getTagToken(e);
+ token = (NW_Uint8)(fqToken & NW_WBXML_MASK_TOKEN);
+ if (token == NW_WBXML_LITERAL)
+ {
+ NW_String_t elementName;
+
+ if (NW_DOM_ElementNode_getTagName(e, &elementName) != NW_STAT_SUCCESS){
+ return NW_STAT_FAILURE;
+ }
+
+ /*Get the char count */
+
+ charCount = NW_String_charBuffGetLength(elementName.storage,
+ encoder->encoding,
+ &(elementName.length) );
+
+ status = NW_WBXML_Writer_TagString(&encoder->writer, encoder->encoding, charCount,
+ elementName.length, elementName.storage, &tagIndex);
+ /* Do not free literal element here as this will be freed when literal table
+ * will be freed.
+ */
+
+ // NW_String_delete(&elementName);
+ }
+ else{
+ status = NW_WBXML_Writer_TagToken(&encoder->writer, fqToken, &tagIndex);
+ NW_ASSERT(status == NW_STAT_SUCCESS);
+ }
+
+ if (NW_DOM_Node_getFirstChild(e)){
+ status = NW_WBXML_Writer_TagSetContentFlag(&encoder->writer, tagIndex);
+ NW_ASSERT(status == NW_STAT_SUCCESS);
+ }
+ if (NW_DOM_ElementNode_hasAttributes(e)){
+ status = NW_WBXML_Writer_TagSetAttributesFlag(&encoder->writer, tagIndex);
+ NW_ASSERT(status == NW_STAT_SUCCESS);
+ }
+
+ if (status != NW_STAT_SUCCESS){
+ return status;
+ }
+
+ if (NW_DOM_ElementNode_hasAttributes(e))
+ {
+ status = NW_DOM_ElementNode_getAttributeListIterator(e, &listIterator);
+ if (status != NW_STAT_SUCCESS){
+ return status;
+ }
+ while (NW_DOM_AttributeListIterator_getNextAttribute(&listIterator, &attrHandle)
+ == NW_STAT_WBXML_ITERATE_MORE)
+ {
+ NW_Encoder_encodeAttribute(encoder, &attrHandle);
+ }
+ return NW_WBXML_Writer_End(&encoder->writer);
+ }
+ return NW_STAT_SUCCESS;
+}
+
+/*
+* Encodes a TextNode
+* Returns NW_STAT_BAD_INPUT_PARAM
+* NW_STAT_OUT_OF_MEMORY
+* NW_STAT_SUCCESS
+*/
+/* ------------------------------------------------------------------------- */
+static
+NW_Status_t
+NW_Encoder_encodeTextNode (NW_Encoder_t * encoder, NW_DOM_TextNode_t * textNode)
+{
+ NW_DOM_TextItemIterator_t textIter;
+ NW_DOM_TextItem_t item;
+ NW_Status_t status;
+
+ if ((encoder == NULL) || (textNode == NULL))
+ return NW_STAT_BAD_INPUT_PARAM;
+
+ status = NW_DOM_TextNode_getTextItemIterator(textNode, &textIter);
+ while (NW_DOM_TextItemIterator_getNextTextItem(&textIter, &item)
+ == NW_STAT_WBXML_ITERATE_MORE)
+ {
+ status = NW_Encoder_encodeAttrVal(encoder, &item);
+ if (status != NW_STAT_SUCCESS){
+ return status;
+ }
+ }
+ return NW_STAT_SUCCESS;
+}
+
+/*
+* Encodes a Node (recursive)
+* Returns NW_STAT_BAD_INPUT_PARAM
+* NW_STAT_OUT_OF_MEMORY
+* NW_STAT_SUCCESS
+*/
+/* ------------------------------------------------------------------------- */
+static
+NW_Status_t
+NW_Encoder_encodeNode(NW_Encoder_t * encoder, NW_DOM_Node_t *node)
+{
+ NW_Uint32 type = NW_DOM_Node_getNodeType(node);
+
+ if ((encoder == NULL) || (node == NULL))
+ return NW_STAT_BAD_INPUT_PARAM;
+
+ switch (type)
+ {
+ case NW_DOM_ELEMENT_NODE:
+ {
+ NW_Encoder_encodeElementNode(encoder, node);
+ if (NW_DOM_Node_getFirstChild(node))
+ {
+ NW_Encoder_encodeNode(encoder, NW_DOM_Node_getFirstChild(node));
+ /* Encode the tag terminator */
+ NW_WBXML_Writer_End(&encoder->writer);
+ }
+ if (NW_DOM_Node_getNextSibling(node))
+ NW_Encoder_encodeNode(encoder, NW_DOM_Node_getNextSibling(node));
+ }
+ break;
+
+ case NW_DOM_TEXT_NODE:
+ NW_Encoder_encodeTextNode(encoder, node);
+
+ if (NW_DOM_Node_getNextSibling(node)){
+ NW_Encoder_encodeNode (encoder, NW_DOM_Node_getNextSibling(node));
+ }
+ break;
+
+ case NW_DOM_PROCESSING_INSTRUCTION_NODE:
+ /* TODO: Pi Node support code */
+ if (NW_DOM_Node_getNextSibling(node))
+ NW_Encoder_encodeNode (encoder, NW_DOM_Node_getNextSibling(node));
+
+ break;
+
+ default:
+ if (NW_DOM_Node_getNextSibling(node))
+ NW_Encoder_encodeNode (encoder, NW_DOM_Node_getNextSibling(node));
+ }
+ return NW_STAT_SUCCESS;
+}
+
+/*
+* Encodes the header of document (version, publicid, docType, charset,
+* and string table
+* Returns NW_STAT_BAD_INPUT_PARAM
+* NW_STAT_OUT_OF_MEMORY
+* NW_STAT_SUCCESS
+*/
+/* ------------------------------------------------------------------------- */
+NW_Status_t
+NW_Encoder_encodeDocHeader(NW_Encoder_t * encoder, NW_DOM_DocumentNode_t * doc)
+{
+ NW_Uint8 version;
+ NW_Uint32 publicid;
+ NW_Uint32 byteLength;
+
+ version = NW_DOM_DocumentNode_getVersion(doc);
+ publicid = NW_DOM_DocumentNode_getPublicIdAsNumber(doc);
+ if (encoder->enableStringTable == NW_TRUE) {
+ byteLength = NW_Encoder_StringTable_getTotalBytes(encoder->stringTable);
+ } else {
+ byteLength = 0;
+ }
+
+ /* This call also encodes the string table, if any is used. */
+ return NW_WBXML_Writer_Header(&encoder->writer, version, publicid,
+ encoder->encoding, byteLength);
+}
+
+/* ------------------------------------------------------------------------- *
+ public methods
+ * ------------------------------------------------------------------------- */
+
+/*
+* Initializes an encoder
+* Returns NW_STAT_BAD_INPUT_PARAM
+* NW_STAT_OUT_OF_MEMORY
+* NW_STAT_SUCCESS
+*/
+/* ------------------------------------------------------------------------- */
+NW_Status_t
+NW_Encoder_initialize(NW_Encoder_t *encoder, NW_Bool enableStringTable)
+{
+ if (encoder == NULL){
+ return NW_STAT_BAD_INPUT_PARAM;
+ }
+ encoder->encoding = 0;
+ encoder->enableStringTable = enableStringTable;
+ encoder->stringTable = NULL;
+ if (enableStringTable == NW_TRUE) {
+ encoder->stringTable = NW_Encoder_StringTable_new();
+ if (encoder->stringTable == NULL) {
+ return NW_STAT_OUT_OF_MEMORY;
+ }
+ }
+ return NW_STAT_SUCCESS;
+}
+
+/*
+* Encodes the DOM document represented by document node
+* Returns NW_STAT_BAD_INPUT_PARAM
+* NW_STAT_OUT_OF_MEMORY
+* NW_STAT_SUCCESS
+*/
+/* ------------------------------------------------------------------------- */
+EXPORT_C NW_Status_t
+NW_Encoder_encodeWBXML(NW_Encoder_t* encoder,
+ NW_DOM_DocumentNode_t * docNode,
+ NW_Bool enableStringTable,
+ NW_Uint32 *length,
+ NW_Byte **buffer)
+{
+ NW_Status_t status;
+ NW_DOM_ElementNode_t *elem;
+ NW_Uint32 publicid;
+ NW_WBXML_Dictionary_t* dictionary;
+
+ if ((encoder == NULL) || (docNode == NULL)){
+ return NW_STAT_BAD_INPUT_PARAM;
+ }
+
+ status = NW_Encoder_initialize(encoder, enableStringTable);
+ if (status != NW_STAT_SUCCESS){
+ return status;
+ }
+
+ encoder->encoding = NW_DOM_DocumentNode_getCharacterEncoding(docNode);
+ elem = NW_DOM_DocumentNode_getDocumentElement(docNode);
+ publicid = NW_DOM_DocumentNode_getPublicIdAsNumber(docNode);
+
+ /* initialize WBXMLWriter */
+ if (publicid != 0){
+ dictionary = NW_WBXML_Dictionary_getByPublicId(publicid);
+ }
+ else
+ {
+ NW_String_t docType;
+
+ status = NW_DOM_DocumentNode_getPublicId(docNode, &docType);
+ if (status != NW_STAT_SUCCESS){
+ return status;
+ }
+ dictionary = NW_WBXML_Dictionary_getByDocType(&docType, encoder->encoding);
+ }
+ if (enableStringTable == NW_TRUE) {
+ /* assuming that same dictionary is used for both attributes and tags */
+ status = NW_Encoder_StringTable_createFromDOM(encoder->stringTable,
+ docNode,
+ dictionary);
+ if (status != NW_STAT_SUCCESS){
+ return status;
+ }
+ }
+
+ /* Set up the writer for a sizing pass */
+ NW_WBXML_Writer_SetToSizing(&encoder->writer);
+
+ NW_WBXML_Writer_Initialize(&encoder->writer,
+ 0,
+ NULL,
+ NULL,
+ dictionary,
+ dictionary,
+ ((enableStringTable == NW_TRUE) ?
+ NW_Encoder_StringTable_getStringTableOffset :
+ NULL),
+ ((enableStringTable == NW_TRUE) ?
+ NW_Encoder_StringTable_addToStringTable :
+ NULL),
+ ((enableStringTable == NW_TRUE) ?
+ encoder->stringTable :
+ NULL),
+ ((enableStringTable == NW_TRUE) ?
+ NW_Encoder_StringTable_StringTableIterateInit :
+ NULL),
+ ((enableStringTable == NW_TRUE) ?
+ NW_Encoder_StringTable_StringTableIterateNext :
+ NULL),
+ NW_TRUE /* sizing only */);
+
+ status = NW_Encoder_encodeDocHeader(encoder, docNode);
+ if (status != NW_STAT_SUCCESS){
+ return status;
+ }
+ status = NW_Encoder_encodeNode(encoder, elem);
+
+ /* Allocate a buffer of the correct size */
+ *length = (CXML_Vector_Metric_t)NW_WBXML_Writer_GetSize(&encoder->writer);
+ *buffer = (NW_Byte*)NW_Mem_Malloc(*length);
+
+ if (*buffer == NULL){
+ return NW_STAT_OUT_OF_MEMORY;
+ }
+
+ /* Set up the writer for a writing pass */
+ NW_WBXML_Writer_SetToWrite(&encoder->writer, *length, *buffer);
+
+ status = NW_Encoder_encodeDocHeader(encoder, docNode);
+ if (status != NW_STAT_SUCCESS){
+ return status;
+ }
+ status = NW_Encoder_encodeNode(encoder, elem);
+ NW_ASSERT(status == NW_STAT_SUCCESS);
+
+ NW_Encoder_StringTable_delete(encoder->stringTable);
+ return NW_STAT_SUCCESS;
+}
+
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/encoder/src/tinydom2wbxml.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/encoder/src/tinydom2wbxml.c Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,280 @@
+/*
+* Copyright (c) 2000 - 2001 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+
+
+/*****************************************************************
+** File: tinydom2wbxml.c
+**
+** Description: maps TinyDom types onto WBXMLWriter functions
+*****************************************************************/
+
+#include "cxml_internal.h"
+#include "nw_encoder_tinydom2wbxml.h"
+#include
+
+/*
+Writes an AttrVal
+Return NW_STAT_BAD_INPUT_PARAM
+ NW_STAT_OUT_OF_MEMORY
+ NW_STAT_SUCCESS
+*/
+NW_Status_t
+NW_Encoder_writeAttrVal(NW_WBXML_Writer_t* pW, NW_DOM_AttrVal_t *val, NW_Uint32 encoding)
+{
+ if ((val == NULL) || (pW == NULL)) {
+ return NW_STAT_BAD_INPUT_PARAM;
+ }
+
+ switch (NW_DOM_AttrVal_getType(val)) {
+ case NW_DOM_ATTR_VAL_STRING:
+ {
+ NW_String_t *string = &(val->component.string);
+ return NW_WBXML_Writer_Text(pW, encoding,
+ string->length, string->storage);
+ }
+ case NW_DOM_ATTR_VAL_EXTENSION:
+ {
+ NW_Uint8 t; /* 8-bit token */
+ NW_String_t str;
+ NW_Status_t status;
+
+ t = (NW_Uint8)(val->component.ext.token);
+ if ((t == NW_WBXML_EXT_0)
+ || (t == NW_WBXML_EXT_1)
+ || (t == NW_WBXML_EXT_2)) {
+ status
+ = NW_WBXML_Writer_Extension(pW,
+ (NW_Uint16)(val->component.ext.token),
+ 0, 0, NULL);
+ } else if ((t == NW_WBXML_EXT_T_0)
+ || (t == NW_WBXML_EXT_T_1)
+ || (t == NW_WBXML_EXT_T_2)) {
+ NW_ASSERT((val->component.ext.type
+ == NW_TINYDOM_EXTENSION_TYPE_NORMAL)
+ || (val->component.ext.type
+ == NW_TINYDOM_EXTENSION_TYPE_EXT_T_INTEGER));
+ if (val->component.ext.type == NW_TINYDOM_EXTENSION_TYPE_NORMAL) {
+ NW_Uint16 token = NW_DOM_TextItem_getExtension(val, &str);
+ status
+ = NW_WBXML_Writer_ExtensionUseStringTable(pW,
+ token,
+ str.length,
+ str.storage);
+ } else {
+ status = NW_WBXML_Writer_Extension(pW,
+ (NW_Uint16)(val->component.ext.token),
+ val->component.ext.value.x,
+ 0, NULL);
+ }
+ } else if ((t == NW_WBXML_EXT_I_0)
+ || (t == NW_WBXML_EXT_I_1)
+ || (t == NW_WBXML_EXT_I_2)) {
+ NW_Uint16 token = NW_DOM_TextItem_getExtension(val, &str);
+ status = NW_WBXML_Writer_Extension(pW, token,
+ 0, str.length, str.storage);
+ } else {
+ status = NW_STAT_FAILURE;
+ }
+ return status;
+ }
+ case NW_DOM_ATTR_VAL_ENTITY:
+ {
+ NW_Uint32 entity = NW_DOM_TextItem_getEntity(val);
+ return NW_WBXML_Writer_Entity(pW, entity);
+ }
+ case NW_DOM_ATTR_VAL_OPAQUE:
+ {
+ NW_Uint32 length = 0;
+ NW_Byte* data = NW_DOM_AttrVal_getOpaque(val, &length);
+ return NW_WBXML_Writer_Opaque(pW, length, data);
+ }
+ case NW_DOM_ATTR_VAL_TOKEN:
+ {
+ NW_Uint16 fqToken = NW_DOM_AttrVal_getToken(val);
+ return NW_WBXML_Writer_AttributeToken(pW, fqToken);
+ }
+ default:
+ break;
+ }
+
+ return NW_STAT_FAILURE;
+}
+
+/*
+Writes an attrFqToken with AttrVal
+Return NW_STAT_BAD_INPUT_PARAM
+ NW_STAT_OUT_OF_MEMORY
+ NW_STAT_SUCCESS
+ NW_STAT_FAILURE
+*/
+NW_Status_t
+NW_Encoder_writeAttributeByToken(NW_WBXML_Writer_t* pW,
+ NW_Uint16 attrFqToken,
+ NW_TinyDom_AttrVal_t *val,
+ NW_Uint32 encoding)
+{
+ NW_Status_t s;
+ NW_Uint8 token = (NW_Uint8)(attrFqToken & NW_WBXML_MASK_TOKEN);
+
+ if ((token == NW_WBXML_LITERAL) || (val == NULL) || (pW == NULL)) {
+ return NW_STAT_BAD_INPUT_PARAM;
+ }
+
+ s = NW_WBXML_Writer_AttributeToken(pW, attrFqToken);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+
+ /* TODO: Talk to Shaun about it */
+ if ((NW_DOM_AttrVal_getType(val) == NW_DOM_ATTR_VAL_TOKEN) &&
+ (attrFqToken == val->component.value_token))
+ {}
+ else{
+ s = NW_Encoder_writeAttrVal(pW, val, encoding);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+ }
+
+ return NW_WBXML_Writer_End(pW);
+}
+
+/*
+Writes an Attribute by name plus AttrVal
+Return NW_STAT_BAD_INPUT_PARAM
+ NW_STAT_OUT_OF_MEMORY
+ NW_STAT_SUCCESS
+ NW_STAT_FAILURE
+*/
+NW_Status_t
+NW_Encoder_writeAttributeByName(NW_WBXML_Writer_t* pW,
+ NW_String_t *attrName,
+ NW_TinyDom_AttrVal_t *val,
+ NW_Uint32 encoding)
+{
+ NW_Status_t s;
+ NW_Uint32 byteCount;
+ NW_Int32 charCount;
+
+ if ((pW == NULL) || (attrName == NULL) || (val == NULL)) {
+ return NW_STAT_BAD_INPUT_PARAM;
+ }
+
+ charCount = NW_String_charBuffGetLength(attrName->storage,
+ encoding,
+ &byteCount);
+ if (charCount < 0) {
+ return NW_STAT_BAD_INPUT_PARAM;
+ }
+ NW_ASSERT(byteCount == attrName->length);
+ s = NW_WBXML_Writer_AttributeNameString(pW, encoding, (NW_Uint32)charCount,
+ byteCount, attrName->storage);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+
+ s = NW_Encoder_writeAttrVal(pW, val, encoding);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+
+ return NW_WBXML_Writer_End(pW);
+}
+
+/*
+Writes an Element by token
+Return NW_STAT_BAD_INPUT_PARAM
+ NW_STAT_OUT_OF_MEMORY
+ NW_STAT_SUCCESS
+*/
+NW_Status_t
+NW_Encoder_writeElementByToken(NW_WBXML_Writer_t* pW,
+ NW_Uint16 elementToken)
+{
+ NW_Status_t s;
+ NW_Uint32 ignoreIndex;
+
+ if (pW == NULL) {
+ return NW_STAT_BAD_INPUT_PARAM;
+ }
+ s = NW_WBXML_Writer_TagToken(pW, elementToken, &ignoreIndex);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+
+ return NW_WBXML_Writer_End(pW);
+}
+
+/*
+Writes an Element
+Return NW_STAT_BAD_INPUT_PARAM
+ NW_STAT_OUT_OF_MEMORY
+ NW_STAT_SUCCESS
+*/
+NW_Status_t
+NW_Encoder_writeElementByName(NW_WBXML_Writer_t* pW,
+ NW_String_t *elementName,
+ NW_Uint32 encoding)
+{
+ NW_Status_t s;
+ NW_Uint32 ignoreIndex;
+ NW_Uint32 byteCount;
+ NW_Int32 charCount;
+
+ if ((elementName == NULL) || (pW == NULL)) {
+ return NW_STAT_BAD_INPUT_PARAM;
+ }
+
+ charCount = NW_String_charBuffGetLength(elementName->storage,
+ encoding,
+ &byteCount);
+ if (charCount < 0) {
+ return NW_STAT_BAD_INPUT_PARAM;
+ }
+ NW_ASSERT(byteCount == elementName->length);
+ s = NW_WBXML_Writer_TagString(pW, encoding, (NW_Uint32)charCount, byteCount,
+ elementName->storage, &ignoreIndex);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+
+ return NW_WBXML_Writer_End(pW);
+}
+
+/*
+Writes a TextItem
+Return NW_STAT_BAD_INPUT_PARAM
+ NW_STAT_OUT_OF_MEMORY
+ NW_STAT_SUCCESS
+*/
+NW_Status_t
+NW_Encoder_writeText(NW_WBXML_Writer_t* pW,
+ NW_TinyDom_Text_t *text,
+ NW_Uint32 encoding)
+{
+ NW_Status_t s;
+ s = NW_Encoder_writeAttrVal(pW, text, encoding);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+
+ return NW_WBXML_Writer_End(pW);
+}
+
+
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/string/src/char.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/string/src/char.c Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,588 @@
+/*
+* Copyright (c) 2000 - 2001 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/*****************************************************************
+** File: character.c
+** Description:
+*
+* Note: all of the char functions assume that the input buffer points
+* to an array of characters which contains a null somewhere and is
+* correctly encoded for the particular encoding. Bad things can happen
+* if this is not the case. In order to avoid having to check these
+* conditions on every operation, a set of validate functions is provided
+* to pre-test a string where the caller is not sure these conditions
+* are met. It is especially important, when calling character operations
+* on bytecode, to make sure to validate all strings.
+*
+*****************************************************************/
+#include "cxml_internal.h"
+#include
+
+/*
+* TODO: Note that there is some duplication between the Validate*
+* calls and the string length function. The Validate*S could return
+* the length too.
+*/
+
+/*
+* Check that storage points to a valid UTF8 string no longer
+* than length bytes.
+*/
+static NW_Int32
+StringValidUTF8 (NW_Byte * storage, NW_Uint32 length)
+{
+ NW_Uint32 i;
+ NW_Byte bits;
+
+ NW_ASSERT(storage != NULL);
+ NW_ASSERT(length != 0);
+
+ for (i = 0; i < length;)
+ {
+ if (storage[i] == 0)
+ {
+ return 1;
+ }
+ bits = (NW_Byte) (storage[i] >> 4);
+ if (bits < 8)
+ {
+ i++;
+ }
+ else if ((bits == 12) || (bits == 13))
+ {
+ i+=2;
+ }
+ else if (bits == 14)
+ {
+ i += 3;
+ }
+ else if (bits == 15)
+ {
+ i += 4;
+ }
+ else
+ {
+ return 0;
+ }
+ }
+ return 0;
+}
+
+
+/*
+* Check validity of UCS2 string storage
+*/
+static NW_Int32
+StringValidUCS2 (NW_Byte * storage, NW_Uint32 length)
+{
+ NW_Uint32 i;
+
+ NW_ASSERT(storage != NULL);
+ NW_ASSERT(length != 0);
+
+ for (i = 0; i < (length - 1); i += 2)
+ {
+ if (((storage[i] << 8) | storage[i + 1]) == 0)
+ {
+ return 1;
+ }
+ }
+ return 0;
+}
+
+
+/*
+* Check validity of ISO8859 string storage
+*/
+static NW_Int32
+StringValidISO88591 (NW_Byte * storage, NW_Uint32 length)
+{
+
+ NW_Uint32 i;
+
+ NW_ASSERT(storage != NULL);
+ NW_ASSERT(length != 0);
+
+ for (i = 0; i < length; i++)
+ {
+ if (storage[i] == 0)
+ {
+ return 1;
+ }
+ }
+ return 0;
+}
+
+
+/*
+* Check validity of ASCII string storage
+*/
+static NW_Int32
+StringValidUSASCII (NW_Byte * storage, NW_Uint32 length)
+{
+ NW_Uint32 i;
+
+ NW_ASSERT(storage != NULL);
+ NW_ASSERT(length != 0);
+
+ for (i = 0; i < length; i++)
+ {
+ if (storage[i] == 0)
+ {
+ return 1;
+ }
+ }
+ return 0;
+}
+
+
+/*
+* Check the given charset encoding (MIBENUM) and if it
+* is supported.
+*/
+
+NW_Status_t
+NW_String_charsetValid (NW_Uint32 encoding)
+{
+ switch (encoding)
+ {
+ case HTTP_iso_10646_ucs_2:
+ case HTTP_iso_8859_1:
+ case HTTP_utf_8:
+ case HTTP_us_ascii:
+ return NW_STAT_SUCCESS;
+ default:
+ return NW_STAT_WBXML_ERROR_CHARSET_UNSUPPORTED;
+ }
+}
+
+
+/*
+* RETURN -1 if the encoding is not supported
+*/
+NW_Int32
+NW_String_valid(NW_Byte * storage, NW_Uint32 length, NW_Uint32 encoding)
+{
+ if (encoding == HTTP_iso_10646_ucs_2)
+ {
+ return StringValidUCS2 (storage, length);
+ }
+ else if (encoding == HTTP_utf_8)
+ {
+ return StringValidUTF8 (storage, length);
+ }
+ else if (encoding == HTTP_iso_8859_1)
+ {
+ return StringValidISO88591 (storage, length);
+ }
+ else if (encoding == HTTP_us_ascii)
+ {
+ return StringValidUSASCII (storage, length);
+ }
+
+ return -1;
+}
+
+
+/*
+* TODO: The following routines are taken from Rainbow.
+* They should be revisited for better efficiency, etc.
+*/
+
+/*
+* Read one UTF8 character from a buffer and store it as a NW_Ucs2.
+* Returns number of input bytes read.
+*/
+static NW_Int32
+ReadUTF8Char (NW_Byte * buff, NW_Ucs2 * c)
+{
+ switch ((buff[0] >> 4) & 0xf)
+ {
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ /* 1 NW_Byte */
+ *c = (NW_Ucs2) buff[0];
+ return 1;
+
+ case 12:
+ case 13:
+ /* 2 bytes */
+ if ((buff[1] & 0xC0) != 0x80)
+ {
+ return -1;
+ }
+ *c = (NW_Ucs2) (((buff[0] & 0x1F) << 6) | (buff[1] & 0x3F));
+ return 2;
+
+ case 14:
+ /* 3 bytes */
+ if (((buff[1] & 0xC0) != 0x80) && ((buff[2] & 0xC0) != 0x80))
+ {
+ return -1;
+ }
+ *c = (NW_Ucs2) (((buff[0] & 0x0F) << 12) |
+ ((buff[1] & 0x3F) << 6) | ((buff[2] & 0x3F) << 0));
+ return 3;
+
+ //we used not to handle 4-bytes UTF-8 case (only 16 bits handled), the case 15 is newly added, it may cause
+ //problem if in an application the a 4-byte character would convert to ucs2 encoding.
+ case 15:
+ /* 4 bytes */
+
+ if (((buff[1] & 0xC0) != 0x80) && ((buff[2] & 0xC0) != 0x80) && ((buff[3] & 0xC0) != 0x80))
+ {
+ return -1;
+ }
+ *c = (((buff[0] & 0x07) << 18) |
+ ((buff[1] & 0x3F) << 12) |
+ ((buff[2] & 0x3F) << 6) |
+ (buff[3] & 0x3F));
+ return 4;
+
+
+
+ default:
+ return -1; /* Bad format */
+ }
+}
+
+
+/*
+* Write a NW_Ucs2 into a buffer as UTF8. Returns number of bytes written
+*/
+NW_Uint32
+NW_String_writeUTF8Char (NW_Ucs2 c, NW_Byte * buff)
+{
+ if (c <= 0x007F)
+ {
+ /* 0x0000 - 0x007F: 1 NW_Byte UTF-8 encoding. */
+ buff[0] = (NW_Byte) c;
+ return 1;
+ }
+ else if (c > 0x07FF)
+ {
+ /* 0x0800 - 0xFFFF: 3 NW_Byte UTF-8 encoding. */
+ buff[0] = (NW_Byte) (0xE0 | ((c >> 12) & 0x0F));
+ buff[1] = (NW_Byte) (0x80 | ((c >> 6) & 0x3F));
+ buff[2] = (NW_Byte) (0x80 | ((c >> 0) & 0x3F));
+ return 3;
+ }
+ else
+ {
+ /* 0x0080 - 0x07ff: 2 NW_Byte UTF-8 encoding. */
+ buff[0] = (NW_Byte) (0xC0 | ((c >> 6) & 0x1F));
+ buff[1] = (NW_Byte) (0x80 | ((c >> 0) & 0x3F));
+ return 2;
+ }
+}
+
+
+static NW_Int32
+ReadInt16Char (NW_Byte * buff, NW_Ucs2 * c)
+{
+ /* read unaligned native-endian to aligned native-endian */
+ (void) NW_Mem_memcpy(c, buff, sizeof(NW_Ucs2));
+ return sizeof(NW_Ucs2);
+}
+
+static NW_Int32
+ReadISO88591Char (NW_Byte * buff, NW_Ucs2 * c)
+{
+ *c = buff[0];
+ return 1;
+}
+
+static NW_Int32
+ReadUSASCIIChar (NW_Byte * buff, NW_Ucs2 * c)
+{
+ *c = buff[0];
+ return 1;
+}
+
+/*
+* Read one character of some encoding, returning the NW_Ucs2
+* equivalent and the count of raw characters read
+*
+* RETURN -1 if encoding is not supported
+*/
+EXPORT_C NW_Int32
+NW_String_readChar (NW_Byte * buff, NW_Ucs2 * c, NW_Uint32 encoding)
+{
+ NW_Int32 nbytes = 0;
+
+ if (encoding == HTTP_iso_10646_ucs_2)
+ return ReadInt16Char (&buff[nbytes], c);
+ else if (encoding == HTTP_utf_8)
+ return ReadUTF8Char (&buff[nbytes], c);
+ else if (encoding == HTTP_iso_8859_1)
+ return ReadISO88591Char (&buff[nbytes], c);
+ else if (encoding == HTTP_us_ascii)
+ return ReadUSASCIIChar (&buff[nbytes], c);
+
+ return -1;
+}
+
+
+/*
+* Get the length of a character string in some encoding. Returns the number
+* of characters (less the terminating char). The out param byte_count returns
+* the number of bytes of storage scanned (including the terminating char).
+* Note that there is NO validity check here. This should be done first if
+* needed. TODO: Also note that the validity check could return the length
+* directly, thus eliminating the need for call to this function when
+* doint32 validity checkint32.
+*/
+EXPORT_C NW_Int32
+NW_String_charBuffGetLength (void *buffer, NW_Uint32 encoding, NW_Uint32 * byte_count)
+{
+ NW_Int32 chars = 0;
+ NW_Ucs2 c = 1;
+ NW_Int32 retval = 0;
+
+ *byte_count = 0;
+ while (c)
+ {
+ c = 0; /* partial protection against an infinite loop */
+ retval = NW_String_readChar ((NW_Byte *) buffer + *byte_count, &c, encoding);
+ if(retval < 0){
+ return -1;
+ }
+ (*byte_count) += (NW_Uint32) retval;
+ chars++;
+ }
+
+ return chars - 1;
+}
+
+
+/*
+* Conversions among character strings of various types and ucs2.
+* These functions assume that the length in characters of the
+* input buffer has been pre-calculated, so that this operation
+* doesn't have to be performed for every conversion. This works well
+* for String_t which store the character count.
+*
+* RETURN NULL if malloc fails
+*/
+NW_String_UCS2Buff_t *
+NW_String_charToUCS2Buff (NW_Byte * s, NW_Uint32 encoding)
+{
+ NW_String_UCS2Buff_t *storage;
+ NW_Ucs2 c;
+ NW_Int32 i;
+ NW_Int32 count = 0;
+ NW_Int32 length = 0;
+ NW_Uint32 byteCount = 0;
+ NW_Int32 retval = 0;
+
+ if (!NW_String_charsetValid(encoding))
+ {
+ return NULL;
+ }
+
+ length = NW_String_charBuffGetLength(s, encoding, &byteCount);
+ if(length < 0){
+ return NULL;
+ }
+ storage =
+ (NW_String_UCS2Buff_t*)
+ NW_Mem_Malloc(((NW_Uint32)length + 1) * sizeof (NW_String_UCS2Buff_t));
+ if (storage == NULL)
+ {
+ return NULL;
+ }
+
+ for (i = 0; i < length; i++)
+ {
+ retval = NW_String_readChar (s + count, &c, encoding);
+ if(retval < 0){
+ NW_Mem_Free(storage);
+ return NULL;
+ }
+ count += retval;
+ storage[i].bytes[0] = (NW_Byte) ((c & 0xff00) >> 8);
+ storage[i].bytes[1] = (NW_Byte) (c & 0xff);
+ }
+ storage[length].bytes[0] = 0;
+ storage[length].bytes[1] = 0;
+
+ return storage;
+}
+
+
+/*
+* TODO: is this a public or private function ???
+*/
+NW_String_UCS2Buff_t *
+NW_String_UTF8ToUCS2Buff (NW_Byte * s)
+{
+ return NW_String_charToUCS2Buff (s, HTTP_utf_8);
+}
+
+
+/*
+* TODO: is this a public or private function ???
+*/
+NW_String_UCS2Buff_t *
+NW_String_ISO88591ToUCS2Buff (NW_Byte * s)
+{
+ return NW_String_charToUCS2Buff (s, HTTP_iso_8859_1);
+}
+
+
+/*
+* RETURN NULL if malloc fails
+*/
+NW_Byte *
+NW_String_UCS2ToUTF8 (NW_String_UCS2Buff_t * s, NW_Uint32 length)
+{
+ NW_Byte *tstore;
+ NW_Byte *storage;
+ NW_Ucs2 c;
+ NW_Uint32 i;
+ NW_Int32 count = 0;
+ NW_Ucs2 *src = (NW_Ucs2 *)s; /*WMS we should use UCS2 pointer,
+ because s is a structure and the size of a structure is not fixed
+ in ARM processor, the size of NW_String_UCS2Buff_t is 4 byte
+ (address alignment issue) */
+
+ tstore = (NW_Byte *) NW_Mem_Malloc ((length + 1) * 3);
+ if (tstore == NULL)
+ {
+ return NULL;
+ }
+
+ for (i = 0; i < length; i++)
+ {
+ ReadInt16Char ((NW_Byte *) (src + i), &c);
+ count += NW_String_writeUTF8Char (c, tstore + count);
+ }
+ *(tstore + count) = 0;
+ storage = (NW_Byte *) NW_Mem_Malloc (count + 1);
+ if (storage)
+ {
+ NW_Mem_memcpy (storage, tstore, count + 1);
+ }
+ NW_Mem_Free (tstore);
+
+ return storage;
+}
+
+
+/*
+* RETURN NULL if malloc fails
+* byteCount is total allocation size of s as far as conversion is concerned
+*/
+NW_Byte *
+NW_String_UCS2ToISO88591 (NW_String_UCS2Buff_t * s, NW_Uint32 byteCount)
+{
+ NW_Byte *storage = NULL;
+ NW_Ucs2 c;
+ NW_Uint32 i;
+ NW_Ucs2 *src = (NW_Ucs2 *)s; /*WMS we should use UCS2 pointer,
+ because s is a structure and the size of a structure is not fixed
+ in ARM processor, the size of NW_String_UCS2Buff_t is 4 byte
+ (address alignment issue) */
+
+ storage = (NW_Byte *) NW_Mem_Malloc (byteCount + 1);
+ if (storage == NULL)
+ {
+ return NULL;
+ }
+
+ for (i = 0; i < byteCount; i++)
+ {
+ ReadInt16Char ((NW_Byte *) (src + i), &c);
+ storage[i] = (NW_Byte) (c & 0xff);
+ }
+ storage[byteCount] = 0;
+
+ return storage;
+}
+
+/* Ordered comparison of ucs2 strings */
+NW_Int32
+NW_String_UCS2BuffCmp (NW_String_UCS2Buff_t * s1,
+ NW_String_UCS2Buff_t * s2,
+ NW_Bool matchCase)
+{
+ NW_Ucs2 c1, c2;
+ NW_Ucs2 *src1 = (NW_Ucs2 *)s1; /*WMS we should use UCS2 pointer, */
+ NW_Ucs2 *src2 = (NW_Ucs2 *)s2; /*because s is a structure and the size of a structure is not fixed
+ in ARM processor, the size of NW_String_UCS2Buff_t is 4 byte
+ (address alignment issue) */
+
+ while ( ( *src1 ) || ( *src2 ) )
+ {
+ ReadInt16Char ((NW_Byte *) src1++, &c1);
+ ReadInt16Char ((NW_Byte *) src2++, &c2);
+
+ if (matchCase == NW_FALSE) {
+ c1 = CXML_Str_ToLower (c1);
+ c2 = CXML_Str_ToLower (c2);
+ }
+ if (c1 == c2)
+ {
+ continue;
+ }
+ return (c1 < c2) ? -1 : 1;
+ }
+
+ return 0;
+
+}
+
+
+/* Assumes s2 is null terminated, native byte order
+and aligned for 16-bit access */
+NW_Status_t
+NW_String_CmpToNativeAlignedUCS2 (NW_Uint32 encoding, NW_Uint32 charCount,
+ NW_Uint8 * s1, NW_Uint16 * s2,
+ NW_Int32 * r)
+{
+ NW_Uint32 i;
+ NW_Int32 byteCount = 0;
+ NW_Ucs2 c1;
+
+ for (i = 0; i < charCount; i++, s1 += byteCount, s2++) {
+ byteCount = NW_String_readChar (s1, &c1, encoding);
+ if (byteCount < 0) {
+ return NW_STAT_FAILURE;
+ }
+ *r = c1 - *s2;
+ if (*r || (*s2 == 0)) {
+ break;
+ }
+ }
+ /* You can exit the above loop three ways: i == charCount or
+ when i != charCount because one of mismatch or null termination
+ of s2 is encountered. The only one that needs a fixup is if
+ i == charCount but s2 isn't at null termination. */
+
+ /*lint -e{794} Conceivable use of null pointer */
+ if ((i == charCount) && (*s2 != 0)) {
+ *r = -*s2;
+ }
+ return NW_STAT_SUCCESS;
+}
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/string/src/string.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/string/src/string.c Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,881 @@
+/*
+* Copyright (c) 2000 - 2001 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/*****************************************************************
+** File: xml_string.c
+**
+** Description:
+ *
+ * The following routines are an interface to raw strings stored in
+ * various encodings The implementation assumes a few things that
+ * are not necessarily generally true:
+ * - every character read can be converted into a ucs_2 character
+ * - the string terminating character is a null character (not a null
+ * NW_Byte)
+ *
+*****************************************************************/
+#include "cxml_internal.h"
+#include
+#include
+#include
+
+static NW_Status_t
+StringUCS2Init(NW_String_UCS2String_t * string, void *storage)
+{
+ NW_Status_t status = NW_STAT_SUCCESS;
+ NW_Uint32 numBytes = 0;
+
+ string->storage = (NW_Byte*) storage;
+ if (string->storage){
+ if (NW_String_charBuffGetLength(storage, HTTP_iso_10646_ucs_2, &numBytes) < 0) {
+ numBytes = 0;
+ status = NW_STAT_FAILURE;
+ }
+ }
+ string->length = numBytes;
+ return status;
+}
+
+
+/*
+ * TODO: The following functions need to have the allocator passed
+ * as an argument !!
+ */
+
+/*
+ * RETURN NULL if malloc fails
+ */
+EXPORT_C NW_String_t *
+NW_String_new (void)
+{
+ NW_String_t *str =
+ (NW_String_t *) NW_Mem_Malloc (sizeof (NW_String_t));
+ if (str == NULL)
+ return NULL;
+ str->length = 0;
+ str->storage = NULL;
+ return str;
+}
+
+EXPORT_C NW_Status_t
+NW_String_initialize (NW_String_t *string, void *storage, NW_Uint32 encoding)
+{
+ NW_Status_t status;
+ NW_Uint32 numBytes = 0;
+
+ NW_ASSERT(string != NULL);
+
+ if (storage == NULL) {
+ string->storage = NULL;
+ string->length = 0;
+
+ return NW_STAT_SUCCESS;
+ }
+
+ if ((status = NW_String_charsetValid (encoding)) != NW_STAT_SUCCESS)
+ return status;
+
+ string->storage = (NW_Byte*) storage;
+
+ if (string->storage){
+ if (NW_String_charBuffGetLength(storage, encoding, &numBytes) < 0) {
+ return NW_STAT_FAILURE;
+ }
+ }
+ string->length = numBytes;
+
+ return NW_STAT_SUCCESS;
+}
+
+/*
+ * Freeing a string might not free the storage!
+ * String storage is complicated by the fact that
+ * it can be allocated outside the bounds
+ * of the parser. If so, it is not freed here.
+ *
+ */
+
+EXPORT_C void
+NW_String_delete(NW_String_t *s)
+{
+
+ NW_ASSERT(s != NULL);
+
+ if (NW_String_getUserOwnsStorage(s)){
+ NW_Mem_Free (s->storage);
+ }
+
+ NW_Mem_Free (s);
+}
+
+EXPORT_C NW_Status_t
+NW_String_deleteStorage(NW_String_t *s)
+{
+
+ NW_ASSERT(s != NULL);
+
+ if (NW_String_getUserOwnsStorage(s))
+ {
+ if (s->storage != NULL){
+ NW_Mem_Free(s->storage);
+ }
+ }
+ s->storage = NULL;
+ s->length = 0;
+ return NW_STAT_SUCCESS;
+}
+/*
+ * Determine the length of the given string in characters (not
+ * bytes).
+ *
+ * RETURN length in characters or 0 if s is NULL
+ */
+
+EXPORT_C NW_Uint16
+NW_String_getCharCount(NW_String_t *s, NW_Uint32 encoding)
+{
+ NW_Uint16 numChar = 0;
+ NW_Uint32 getNumChar = NW_String_getCharCount32(s,encoding);
+
+ if(getNumChar <= NW_UINT16_MAX)
+ {
+ numChar =(NW_Uint16) getNumChar;
+ }
+
+ return numChar;
+}
+/*
+ * The following function is a duplication of NW_String_getByteCount to
+ * handle big files. For not affecting the components other than
+ * browser, this function is only called inside the browser.).
+ *
+ * INSTEAD OF CALLING NW_String_getByteCount, ALL THE BROWSER CODES SHOULD
+ * CALL THIS DUPLICATE FUNCTION TO GET CHARACTER COUNTS.
+ *
+ */
+
+EXPORT_C NW_Uint32
+NW_String_getCharCount32(NW_String_t *s, NW_Uint32 encoding)
+{
+ NW_Int32 numChars;
+ NW_Uint32 byteCount;
+
+ if (s == NULL)
+ return 0;
+
+ if (s->storage == NULL)
+ return 0;
+
+ numChars = NW_String_charBuffGetLength(s->storage, encoding, &byteCount);
+
+ if ( numChars < 0 ) {
+ numChars = 0;
+ }
+
+ return NW_UINT32_CAST( numChars );
+}
+
+EXPORT_C NW_Uint32
+NW_String_getByteCount (NW_String_t *s)
+{
+ NW_Uint32 uint32Len;
+
+ if (s == NULL)
+ return 0;
+
+ /* The MSB of NW_Byte length if set represents that the
+ string is from storage buffer, so BufferOwns String */
+ uint32Len = (s->length) & 0x7FFFFFFF;
+ return uint32Len;
+}
+
+/*
+ * Returns NULL or valid storage
+ */
+EXPORT_C NW_Byte *
+NW_String_getStorage(NW_String_t *str)
+{
+ if (str == NULL)
+ return NULL;
+
+ return str->storage;
+}
+
+/*
+ * Boolean comparison. This function assumes encodings to be
+ * the same. It does not attempt to convert strings of different
+ * encodings for comparison, since we want to treat encoding as
+ * implicit for xml strings.
+ *
+ * RETURN 1 if the strings are equal; 0 if the strings are not equal
+ */
+
+EXPORT_C NW_Int32
+NW_String_equals(const NW_String_t *s1, const NW_String_t *s2)
+{
+ if ( (s1 == NULL) || (s2 == NULL) )
+ return 0;
+
+ if (s1 == s2)
+ return 1;
+
+ if (NW_String_getByteCount((NW_String_t *) s1) != NW_String_getByteCount((NW_String_t *) s2))
+ return 0;
+ /*
+ * Assumes that strings are zero terminated, so a substring
+ * can't share storage with the super string
+ */
+ if (s1->storage == s2->storage)
+ return 1;
+
+ /* Same length, different storage, compare NW_Byte-by-NW_Byte */
+
+ if (NW_Mem_memcmp (((NW_String_t *) s1)->storage, ((NW_String_t *) s2)->storage,
+ NW_String_getByteCount((NW_String_t *) s1)))
+ return 0;
+
+ return 1;
+}
+
+EXPORT_C NW_Bool
+NW_String_getUserOwnsStorage(NW_String_t * s)
+{
+ NW_Uint32 i;
+ if (s == NULL)
+ return 0;
+
+ /* The MSB of NW_Byte length if set represents that the
+ string is from storage buffer, so BufferOwns String */
+ i = s->length & 0x80000000;
+ if (i== 0)
+ return NW_FALSE;
+ return NW_TRUE;
+}
+
+
+EXPORT_C NW_Status_t
+NW_String_setUserOwnsStorage(NW_String_t * s)
+{
+
+ NW_ASSERT(s != NULL);
+
+ /* The MSB of NW_Byte length if set represents that the
+ string is from storage buffer, so BufferOwns String */
+ s->length = s->length | 0x80000000;
+ return NW_STAT_SUCCESS;
+}
+
+EXPORT_C NW_Status_t
+NW_String_clearUserOwnsStorage(NW_String_t * s)
+{
+
+ NW_ASSERT(s != NULL);
+
+ /* The MSB of NW_Byte length if set represents that the
+ string is from storage buffer, so BufferOwns String */
+ s->length = s->length & 0x7fffffff;
+ return NW_STAT_SUCCESS;
+}
+
+
+/*
+ * Conversion routines
+ */
+
+/*
+ * RETURN NW_STAT_SUCCESS
+ * NW_STAT_OUT_OF_MEMORY
+ *
+ * MODIFIED ret_string
+ */
+NW_Status_t
+NW_String_stringToUCS2 (NW_String_UCS2String_t ** ret_string, NW_String_t * s, NW_Uint32 input_encoding)
+{
+ NW_String_UCS2Buff_t *storage;
+
+ if (*ret_string == NULL)
+ *ret_string = NW_String_new();
+
+ if (*ret_string == NULL)
+ return NW_STAT_OUT_OF_MEMORY;
+
+ if (input_encoding == HTTP_iso_10646_ucs_2)
+ return NW_String_copy(*ret_string, s);
+
+ if ((input_encoding == HTTP_utf_8) ||
+ (input_encoding == HTTP_us_ascii) ||
+ (input_encoding == HTTP_iso_8859_1))
+ {
+ NW_Status_t status;
+ storage = NW_String_charToUCS2Buff (s->storage, input_encoding);
+
+ if (storage == NULL){
+ return NW_STAT_OUT_OF_MEMORY;
+ }
+
+ status = NW_String_initialize(*ret_string, (void *)storage, HTTP_iso_10646_ucs_2);
+ if (status == NW_STAT_SUCCESS){
+ return NW_String_setUserOwnsStorage(*ret_string);
+ }
+ else{
+ NW_String_delete(*ret_string);
+ NW_Mem_Free(storage);
+ return status;
+ }
+ }
+ NW_String_delete(*ret_string);
+ return NW_STAT_WBXML_ERROR_CHARSET_UNSUPPORTED;
+}
+
+/*
+ * RETURN NW_STAT_SUCCESS
+ * NW_STAT_OUT_OF_MEMORY
+ * NW_STAT_WBXML_ERROR_CHARSET_UNSUPPORTED
+ *
+ * MODIFIED ret_string
+ */
+static
+NW_Status_t
+NW_String_stringFromUCS2 (NW_String_t ** ret_string, NW_String_UCS2String_t * s, NW_Uint32 output_encoding)
+{
+ NW_Byte *storage;
+ NW_String_UCS2Buff_t *ucs2Storage = (NW_String_UCS2Buff_t *) (s->storage);
+ NW_Uint32 byteLength = NW_String_getByteCount(s);
+ NW_Status_t status;
+
+ if (*ret_string == NULL)
+ *ret_string = NW_String_new();
+
+ if (*ret_string == NULL)
+ return NW_STAT_OUT_OF_MEMORY;
+
+ if (output_encoding == HTTP_iso_10646_ucs_2)
+ return NW_String_copy(*ret_string, s);
+
+ if ( (output_encoding == HTTP_utf_8) || (output_encoding == HTTP_us_ascii) )
+ {
+ storage = NW_String_UCS2ToUTF8 (ucs2Storage, byteLength);
+ }
+ else if (output_encoding == HTTP_iso_8859_1)
+ {
+ storage = NW_String_UCS2ToISO88591 (ucs2Storage, byteLength);
+ }
+ else {
+ NW_String_delete(*ret_string);
+ return NW_STAT_WBXML_ERROR_CHARSET_UNSUPPORTED;
+ }
+ if (storage == NULL)
+ return NW_STAT_OUT_OF_MEMORY;
+
+ status = NW_String_initialize(*ret_string, storage, output_encoding);
+ if(status == NW_STAT_SUCCESS){
+ return NW_String_setUserOwnsStorage(*ret_string);
+ }
+ else{
+ NW_String_delete(*ret_string);
+ NW_Mem_Free(storage);
+ return status;
+ }
+}
+
+
+/*
+ * Convert a NW_String_t (in any of the supported character
+ * set encodings) to a UCS2Buff string.
+ *
+ * NOTE: caller is responsible for freeing the pointer returned
+ * by this function
+ *
+ * NOTE: returned array is null-terminated.
+ *
+ * RETURN NULL if malloc fails
+ */
+NW_String_UCS2Buff_t *
+NW_String_stringToUCS2Buff (NW_String_t * string, NW_Uint32 encoding)
+{
+ NW_Byte *b = string->storage;
+ if (!NW_String_charsetValid(encoding))
+ return NULL;
+
+ return NW_String_charToUCS2Buff(b, encoding);
+}
+
+/*
+ * RETURN NW_STAT_SUCCESS
+ * NW_STAT_OUT_OF_MEMORY
+ * NW_WBXML_ERROR_CHARSET_UNSUPPORTED
+ *
+ * MODIFIED ret_string
+ */
+EXPORT_C NW_Status_t
+NW_String_UCS2BuffToString(NW_String_UCS2Buff_t *buff, NW_String_t *str, NW_Uint32 encoding)
+{
+ NW_Status_t status;
+ NW_String_UCS2String_t* ucs2String = NW_String_new();
+
+ if (ucs2String == NULL) {
+ return NW_STAT_OUT_OF_MEMORY;
+ }
+
+ status = StringUCS2Init(ucs2String, (void *)buff);
+ if (status == NW_STAT_SUCCESS) {
+ status = NW_String_stringFromUCS2 (&str, ucs2String, encoding);
+ }
+ /* Freeing only the NW_String_t and not the storage, since we
+ used the input storage */
+ NW_Mem_Free(ucs2String);
+ return status;
+}
+
+
+/*
+ * Returns
+ * NW_STAT_WBXML_ERROR_CHARSET_UNSUPPORTED - If unsupported encoding
+ * NW_STAT_OUT_OF_MEMORY - If memory for string storage could not be allocated
+ * NW_STAT_WBXML_NO_NAME
+ * NW_STAT_SUCCESS
+ */
+EXPORT_C NW_Status_t
+NW_String_ucs2CharToString(NW_String_t *string, NW_Ucs2 *u, NW_Uint32 encoding)
+{
+ NW_Byte *storage;
+ NW_String_t *ucs2_string = NW_String_new();
+ NW_Status_t status;
+ NW_Ucs2 *p = u;
+ NW_Uint32 len = 0;
+
+ NW_ASSERT(string != NULL);
+ NW_ASSERT(u != NULL);
+
+ if (ucs2_string == NULL){
+ return NW_STAT_OUT_OF_MEMORY;
+ }
+
+ while (*p!= 0)
+ {
+ len++;
+ p++;
+ }
+
+ if (NW_String_charsetValid(encoding) != NW_STAT_SUCCESS) {
+ NW_String_delete(ucs2_string);
+ return NW_STAT_WBXML_ERROR_CHARSET_UNSUPPORTED;
+ }
+ /* Create the storage and copy the bytes */
+
+ if ((storage = (NW_Byte*) NW_Mem_Malloc ((len + 1) * sizeof(NW_String_UCS2Buff_t))) == NULL){
+ return NW_STAT_OUT_OF_MEMORY;
+ }
+
+#if 0
+ {
+ NW_Int32 index = 0;
+
+ while(*u != 0)
+ {
+ storage[index++] = (NW_Byte)(*u >> 8);
+ storage[index++] = (NW_Byte)(*u & 0x00ff);
+ u++;
+ }
+
+ storage[index++] = (NW_Byte)0;
+ storage[index] = (NW_Byte)0;
+ }
+#else
+ NW_Mem_memcpy(storage, u, (len + 1) * sizeof(NW_String_UCS2Buff_t));
+#endif
+
+ status = NW_String_initialize(ucs2_string, storage, HTTP_iso_10646_ucs_2);
+ if (status != NW_STAT_SUCCESS){
+ NW_Mem_Free(storage);
+ NW_String_delete(ucs2_string);
+ return status;
+ }
+ NW_String_setUserOwnsStorage(ucs2_string);
+
+ status = NW_String_stringFromUCS2(&string, ucs2_string, encoding);
+ NW_String_delete(ucs2_string);
+
+ return status;
+}
+
+/*
+ * Conversion to string
+ */
+EXPORT_C NW_Status_t
+NW_String_entityToString(NW_Uint32 entity, NW_String_t *str, NW_Uint32 encoding)
+{
+ NW_Status_t status;
+ NW_Ucs2 *s;
+ NW_Ucs2 e;
+
+ if ((s = (NW_Ucs2*) NW_Mem_Malloc(2 * sizeof(NW_Ucs2))) == NULL)
+ return NW_STAT_OUT_OF_MEMORY;
+
+ e = (NW_Ucs2) entity;
+ s[0] = e;
+ s[1] = 0;
+
+ status = NW_String_ucs2CharToString(str, s, encoding);
+ NW_Mem_Free(s);
+
+ return status;
+}
+
+
+NW_Status_t
+NW_String_byteToString(NW_Byte *s, NW_String_t *str, NW_Uint32 encoding)
+{
+ return NW_String_initialize(str, s, encoding);
+}
+
+EXPORT_C NW_Status_t
+NW_String_tokenToString(NW_Uint32 token, NW_String_t *str, NW_Uint32 encoding)
+{
+ NW_String_UCS2Buff_t *t;
+
+ /* Get the tag from the dictionary */
+ if ((t = NW_WBXML_Dictionary_getTagByFqToken (token)) == NULL)
+ /*
+ * This can happen if the token is not defined or if the dictonary
+ for this token's codepage is not defined. So, make a string
+ *from the token.
+ */
+ return NW_STAT_FAILURE;
+
+ return NW_String_UCS2BuffToString(t, str, encoding);
+}
+
+
+/*
+ * String manipulation functions
+ */
+
+/* Duplicates storage
+ * Returns
+ * NW_STAT_BAD_INPUT_PARAM
+ * NW_STAT_OUT_OF_MEMORY
+ * NW_STAT_SUCCESS
+ */
+NW_Status_t
+NW_String_copy(NW_String_t *dest, NW_String_t *source)
+{
+
+ NW_ASSERT(dest != NULL);
+ NW_ASSERT(source != NULL);
+
+ if (!NW_String_getUserOwnsStorage(source))
+ return NW_String_shallowCopy(dest, source);
+
+ return NW_String_deepCopy(dest, source);
+}
+
+EXPORT_C NW_Status_t
+NW_String_shallowCopy(NW_String_t *dest, NW_String_t *source)
+{
+
+ NW_ASSERT(dest != NULL);
+ NW_ASSERT(source != NULL);
+
+ dest->storage = source->storage;
+ dest->length = source->length;
+ return NW_STAT_SUCCESS;
+}
+
+EXPORT_C NW_Status_t
+NW_String_deepCopy(NW_String_t *dest, NW_String_t *source)
+{
+ NW_Uint32 len;
+
+ NW_ASSERT(dest != NULL);
+ NW_ASSERT(source != NULL);
+
+ len = NW_String_getByteCount(source);
+
+ dest->storage = (NW_Byte *) NW_Mem_Malloc (len);
+
+ if (dest->storage == NULL){
+ return NW_STAT_OUT_OF_MEMORY;
+ }
+ NW_Mem_memcpy(dest->storage, source->storage, len);
+ dest->length = len;
+ /* Since we allocated the new storage, we own it */
+ NW_String_setUserOwnsStorage(dest);
+ return NW_STAT_SUCCESS;
+}
+
+EXPORT_C NW_Status_t
+NW_String_concatenate(NW_String_t *dest, NW_String_t *source, NW_Uint32 encoding)
+{
+ NW_Byte *storage = NULL;
+ NW_Uint32 destLength = 0;
+ NW_Uint32 sourceLength = 0;
+
+ NW_ASSERT(dest != NULL);
+ NW_ASSERT(source != NULL);
+ NW_ASSERT(source->storage != NULL);
+
+ destLength = NW_String_getByteCount(dest);
+ sourceLength = NW_String_getByteCount(source);
+ NW_ASSERT(sourceLength != 0);
+
+ /* get rid of the tailing NULL from dest string, in case of ucs2,
+ two bytes need to be removed. */
+ if ( (encoding == HTTP_iso_10646_ucs_2) &&
+ (destLength > 1) &&
+ (dest->storage[(destLength-1)] == 0) &&
+ (dest->storage[ (destLength-2) ] == 0) )
+ {
+ destLength--;
+ destLength--;
+ }
+ else if ((encoding == HTTP_utf_8) ||
+ (encoding == HTTP_us_ascii) ||
+ (encoding == HTTP_iso_8859_1))
+ {
+ if ( (destLength > 0) && (dest->storage[destLength-1] == 0) ) {
+ destLength--;
+ }
+ }
+
+ storage = (NW_Byte*) NW_Mem_Malloc (destLength +sourceLength);
+ if (storage == NULL)
+ return NW_STAT_OUT_OF_MEMORY;
+
+ if ((dest->storage != NULL) && (destLength > 0))
+ {
+ NW_Mem_memcpy(storage, dest->storage, destLength);
+ NW_Mem_memcpy(storage + destLength, source->storage, sourceLength);
+ }
+ else
+ {
+ NW_Mem_memcpy(storage, source->storage, sourceLength);
+ }
+ NW_String_deleteStorage(dest);
+ dest->storage = storage;
+ dest->length = destLength +sourceLength;
+ /* Since we allocated the new storage, we own it */
+ NW_String_setUserOwnsStorage(dest);
+ return NW_STAT_SUCCESS;
+}
+
+NW_Byte *
+NW_String_findChar(NW_String_t *string, NW_Int32 character, NW_Uint32 encoding)
+{
+ NW_Byte *storage;
+ NW_Uint32 length;
+ NW_Uint32 index, numbytes;
+ NW_Ucs2 c;
+
+ if (string == NULL)
+ return NULL;
+
+ length = NW_String_getCharCount(string, encoding);
+ storage = string->storage;
+
+ for (index= 0; indexstorage;
+ NW_Status_t status;
+ NW_Int32 retval = 0;
+ NW_Uint32 numBytes = 0;
+
+ if (b == NULL)
+ {
+ *data = NULL;
+ }
+ else
+ {
+ numChars = NW_String_charBuffGetLength(b, encoding, &numBytes);
+ if(numChars < 0){
+ return NW_STAT_FAILURE;
+ }
+
+ /* allocate the memory and point to it with *data */
+ status = NW_String_ucs2CharInit(data, (NW_Uint32)numChars+1);
+
+ if (status != NW_STAT_SUCCESS){
+ return status;
+ }
+
+ /* copy the characters out of string->storage onto *data */
+ for (i=0; c != 0; i++) {
+ retval = NW_String_readChar((NW_Byte *) b + count, &c, encoding);
+ if(retval < 0){
+ NW_Mem_Free( *data );
+ *data = NULL;
+ return NW_STAT_FAILURE;
+ }
+ count += (NW_Uint32)retval;
+ (*data)[i] = c;
+ }
+
+ /* finally null terminate the string storage */
+ (*data)[numChars] = 0;
+ }
+ return NW_STAT_SUCCESS;
+}
+/*
+NW_Status_t
+NW_String_UCS2BuffToUCS2Char(NW_String_UCS2Buff_t *buff, NW_Ucs2 **data)
+{
+ NW_Int32 numChars = 0;
+ NW_Uint32 count;
+ NW_Status_t status;
+
+ NW_ASSERT(buff != NULL);
+ NW_ASSERT(data != NULL);
+
+ numChars = NW_String_charBuffGetLength(buff, HTTP_iso_10646_ucs_2, &count);
+ if (numChars < 0) {
+ return NW_STAT_FAILURE;
+ }
+ // Create the storage and copy the bytes
+ status = NW_String_ucs2CharInit(data, (NW_Uint32)numChars+1);
+ if (status != NW_STAT_SUCCESS) {
+ return status;
+ }
+ (void)NW_Mem_memcpy(*data, buff, (NW_Uint32) numChars * sizeof(NW_Ucs2));
+ (*data)[numChars] = 0;
+
+ return NW_STAT_SUCCESS;
+}
+*/
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/tinydom/src/tiny_dom.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/tinydom/src/tiny_dom.c Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,1673 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include "cxml_internal.h"
+#include
+#include
+#include
+#include
+#include "nw_wbxml_parsei.h"
+
+/*Parser flags */
+
+/* Top four bits are pass state */
+#define T_PARSE_PASS_MASK 0xF0000000
+#define T_PARSE_PASS_1 0x00000000
+#define T_PARSE_PASS_2 0x10000000
+#define T_PARSE_PASS_3 0x20000000
+
+/* Next 8 bits are for parser states */
+#define T_PARSE_S_MASK 0x07F00000
+#define T_PARSE_S_TAG_START 0x00000000
+#define T_PARSE_S_ATTR_START 0x00100000
+#define T_PARSE_S_ATTR_VALS 0x00200000
+#define T_PARSE_S_CONTENT 0x00300000
+#define T_PARSE_F_EXT 0x08000000 /* Extension substate flag */
+
+ /* Remaining 20 bits are flags */
+#define T_PARSE_FLAG_TEXT 0x00000001
+#define T_PARSE_FLAG_ATTR 0x00000002
+
+/*
+* Implements the tiny dom parser. This includes the methods to build a
+* tiny dom tree, and the underlying support routines to access the
+* "virtual elements" of the tree. The only thing that currently gets
+* in the way of a clean parser interface are several references to the
+* underlying parser state here. The underlying parser needs to be
+* fixed so it is never necessary to pass this. Several TODOs in this
+* file indicate places where references to parser state should be
+* removed.
+*/
+
+static
+NW_Uint32
+GET_PASS(NW_TinyDom_Parser_t* parser){
+ return parser->state & T_PARSE_PASS_MASK;
+}
+
+static
+void
+SET_PASS(NW_TinyDom_Parser_t* parser, NW_Uint32 pass){
+ parser->state &= ~T_PARSE_PASS_MASK;
+ parser->state |= pass;
+}
+
+static
+NW_Uint32
+GET_STATE(NW_TinyDom_Parser_t* parser){
+ return parser->state & T_PARSE_S_MASK;
+}
+
+static
+void
+SET_STATE(NW_TinyDom_Parser_t* parser, NW_Uint32 state){
+ parser->state &= ~T_PARSE_S_MASK;
+ parser->state |= state;
+}
+
+/* Callbacks to handle parsing passes:
+*
+* Tiny dom uses multiple passes to implement the tree lazily. The
+* first two build the tree. Later, lazy deserialization invokes
+* further passes over parts of the source.
+*
+* Pass 1 counts nodes and allocates space, pass 2 builds the
+* tree. However, there is much common behavior for both passes, since
+* accurate counting of nodes requires running the parser state
+* machine. Common behavior is implemented in common callbacks, while
+* pass-specific behavior is mostly implemented in pass-specific
+* callbacks.
+*
+* The tree built by passes 1 & 2 contains a node for every tag. If a tag
+* has attributes, the tree contains a node for the first attribute,
+* attached as the first child of the node. For text content, the tree
+* contains a node for the first text element in each sequence of text
+* elements. The goal of the tree design is to make it easy to find
+* elements for deserialization while using the minimum amount of
+* storage.
+*
+* The deserialization API invokes parser methods that know how to
+* parse one of the node types stored in the tree (tags, attributes,
+* text). The API sets the parser offset using the node offset,
+* identifies the node type using the node type flags, and then calls
+* the appropriate parser method to parse a section of the source.
+*
+* When called for deserialization the parser generates events as usual:
+* these are handled by the pass 3 handlers which build the appropriate
+* data structures for the API to return.
+*
+* This may seem like a rather byzantine mechanism for
+* deserialization, but the goal is to use exactly the same parsing
+* code for all operations on the source. This makes it easy to change
+* or replace parsing code. Also, all of the parsing logic is kept in
+* the parser module: the dom module (this one) has no knowledge of
+* parsing. This makes it easy to attach the dom module to different
+* parsers (one for wbxml, one for xml).
+*
+* A note on buffer usage: tiny trees use segmented expandable buffers
+* (ebuffers) so that the tree can be read and written in minimum memory.
+* When building a tree from an existing buffer (passes 1 & 2), the whole
+* buffer is contained in the ebuffer segment 0. This means that the
+* offsets we store in the tree nodes (which are indexes into the ebuffer)
+* are the same as the parser offsets in the buffer. However, for
+* deserialization (pass 3), we may be reading a tree that was constructed
+* or modified via the dom api. This may have multiple segments and a given
+* node offset may refer to an address in any segment. Therefore, when setting
+* the parser offset from a node source offset, we first need to translate
+* the node source offset into a segment + offset form, and use this to set
+* the parser.
+*/
+
+
+static
+NW_Status_t
+Pass_1_StartDocument_CB (NW_WBXML_Parser_t *parser,
+ NW_WBXML_Document_t *doc,
+ void *context)
+{
+
+ NW_TinyDom_Parser_t *tiny_parser = (NW_TinyDom_Parser_t*)context;
+
+ NW_REQUIRED_PARAM(parser);
+ NW_REQUIRED_PARAM(doc);
+
+ SET_STATE(tiny_parser, T_PARSE_S_CONTENT);
+ tiny_parser->state &= ~T_PARSE_FLAG_TEXT; /* prepare for text */
+ tiny_parser->node_count = 1;
+ return NW_STAT_SUCCESS;
+
+}
+
+static
+NW_Status_t
+Pass_2_StartDocument_CB (NW_WBXML_Parser_t *parser,
+ NW_WBXML_Document_t *doc,
+ void *context)
+{
+ NW_TinyDom_Parser_t *tiny_parser = (NW_TinyDom_Parser_t*)context;
+
+ NW_REQUIRED_PARAM(parser);
+ NW_REQUIRED_PARAM(doc);
+
+ tiny_parser->dom_tree->root_node = NW_TinyTree_setRoot(&(tiny_parser->dom_tree->tree), 0);
+
+ if (tiny_parser->dom_tree->root_node != NULL){
+ tiny_parser->current_node = tiny_parser->dom_tree->root_node;
+ NW_TinyTree_Node_setUserFlags(tiny_parser->current_node, T_DOM_NODE_DOC);
+ SET_STATE(tiny_parser, T_PARSE_S_CONTENT);
+ tiny_parser->state &= ~T_PARSE_FLAG_TEXT; /* prepare for text */
+ return NW_STAT_SUCCESS;
+ }
+ else{
+ return NW_STAT_OUT_OF_MEMORY;
+ }
+}
+
+/* Private utility function to do NW_Byte reordering of ucs2 strings */
+/* TODO: move this to our string library */
+
+static
+void
+NW_String_Ucs2_ntoh(NW_String_t *string){
+ NW_Uint32 i;
+ NW_Ucs2 character;
+
+ for(i = 0; i < string->length; i+=2){
+ character = (NW_Ucs2)((string->storage[i] << 8) | string->storage[i+1]);
+ (void) NW_Mem_memcpy (&string->storage[i], &character, sizeof (character));
+ }
+}
+
+/*
+ * This callback sets the parser pass and takes care of any NW_Byte reordering
+ * that needs to be done on the string table. For some encodings (such as ucs2)
+ * this allows applications to reference strings from the original storage.
+ */
+
+/* TODO: TODO: Add a flag to document to check if this has already been done
+ (in case the same buffer is parsed over again from the beginning.)
+ */
+
+
+static
+NW_Status_t
+Pass_1_EndDocument_CB (NW_WBXML_Parser_t *parser,
+ void *context)
+{
+
+ NW_TinyDom_Parser_t *tiny_parser = (NW_TinyDom_Parser_t*)context;
+ //NW_String_t string;
+ //NW_WBXML_Document_t *doc = tiny_parser->dom_tree->doc;
+
+ NW_REQUIRED_PARAM(parser);
+
+ // WLIU: all byte order conversions are moved to pass 2.
+ //if(doc->charset == HTTP_iso_10646_ucs_2){
+ /* TODO: redefine string table as an NW_String_t ?? */
+ //string.storage = doc->strtbl.data;
+ //string.length = doc->strtbl.length;
+ //NW_String_Ucs2_ntoh(&string);
+ //}
+ SET_PASS(tiny_parser, T_PARSE_PASS_2);
+ return NW_STAT_SUCCESS;
+}
+
+
+static
+NW_Status_t
+Pass_2_EndDocument_CB (NW_WBXML_Parser_t *parser,
+ void *context)
+{
+
+ NW_TinyDom_Parser_t *tiny_parser = (NW_TinyDom_Parser_t*)context;
+
+ NW_REQUIRED_PARAM(parser);
+
+ SET_PASS(tiny_parser, T_PARSE_PASS_3);
+ return NW_STAT_SUCCESS;
+}
+
+static
+NW_Status_t
+Pass_1_Tag_Start_CB (NW_WBXML_Parser_t *parser,
+ void *context)
+{
+
+ NW_TinyDom_Parser_t *tiny_parser = (NW_TinyDom_Parser_t*)context;
+
+ NW_REQUIRED_PARAM(parser);
+
+ tiny_parser->node_count++;
+ return NW_STAT_SUCCESS;
+}
+
+
+static
+NW_Status_t
+Pass_2_Tag_Start_CB (NW_WBXML_Parser_t *parser,
+ void *context)
+{
+ NW_Status_t status = NW_STAT_SUCCESS;
+ NW_TinyDom_Parser_t *tiny_parser = (NW_TinyDom_Parser_t*)context;
+
+ //Atleast there should be root node, before any tag
+
+ if(tiny_parser->current_node != NULL)
+ {
+ tiny_parser->current_node =
+ NW_TinyTree_createChild(&(tiny_parser->dom_tree->tree),
+ tiny_parser->current_node,
+ (NW_TinyTree_Offset_t)parser->offset);
+
+ if (tiny_parser->current_node != NULL)
+ {
+ NW_TinyTree_Node_setUserFlags(tiny_parser->current_node, T_DOM_NODE_TAG);
+ status = NW_STAT_SUCCESS;
+ }
+ else
+ {
+ status = NW_STAT_FAILURE;
+ }
+ }//endif(tiny_parser->current_node != NULL)
+ else
+ {
+ status = NW_STAT_FAILURE;
+ }
+
+ return status;
+}//end Pass_2_Tag_Start_CB(..)
+
+
+static
+NW_Status_t
+Tag_Start_CB (NW_WBXML_Parser_t *parser,
+ void *context)
+
+{
+ NW_TinyDom_Parser_t *tiny_parser = (NW_TinyDom_Parser_t*)context;
+ NW_Status_t s = NW_STAT_FAILURE;
+
+ switch(GET_PASS(tiny_parser)){
+ case T_PARSE_PASS_1:
+ s = Pass_1_Tag_Start_CB(parser, context);
+ break;
+ case T_PARSE_PASS_2:
+ s = Pass_2_Tag_Start_CB(parser, context);
+ break;
+ default:
+ NW_ASSERT(NW_FALSE);
+ }
+ SET_STATE(tiny_parser, T_PARSE_S_TAG_START);
+ tiny_parser->state &= ~T_PARSE_FLAG_TEXT; /* No longer accumulating text */
+ tiny_parser->state &= ~T_PARSE_FLAG_ATTR; /* Turn off attribute flag */
+ return s;
+}
+
+static
+NW_Status_t
+Pass_2_Pi_CB (NW_WBXML_Parser_t *parser,
+ void *context)
+{
+ /* This is exactly like pass 2 tag start except for the node user flag. */
+ NW_TinyDom_Parser_t *tiny_parser = (NW_TinyDom_Parser_t*)context;
+ NW_Status_t s = Tag_Start_CB(parser, context);
+
+ if (s == NW_STAT_SUCCESS) {
+ NW_TinyTree_Node_setUserFlags(tiny_parser->current_node, T_DOM_NODE_PI);
+ }
+ return s;
+}
+
+static
+NW_Status_t
+Tag_End_CB (NW_WBXML_Parser_t *parser,
+ void *context)
+{
+ NW_Status_t status = NW_STAT_SUCCESS;
+ NW_TinyDom_Parser_t *tiny_parser = (NW_TinyDom_Parser_t*)context;
+ NW_Int32 lastvalid;
+ NW_REQUIRED_PARAM(parser);
+
+ lastvalid = NW_TinyDom_getLastValid(tiny_parser->dom_tree);
+ if(GET_PASS(tiny_parser)== T_PARSE_PASS_2)
+ {
+ /* for the dom tree appending, we won't handle close tag which is beyond last valid mark */
+ if (lastvalid == -1 || (NW_Int32)parser->offset <= lastvalid)
+ {
+ if(tiny_parser->current_node != NULL)
+ {
+ tiny_parser->current_node = NW_TinyTree_findParent(tiny_parser->current_node);
+ }
+ else
+ {
+ status = NW_STAT_FAILURE;
+ }
+ }
+ }
+
+ if(status == NW_STAT_SUCCESS)
+ {
+ SET_STATE(tiny_parser, T_PARSE_S_CONTENT);
+ tiny_parser->state &= ~T_PARSE_FLAG_TEXT; /* No longer accumulating text */
+ }
+ return status;
+}//end Tag_End_CB (..)
+
+/*
+* The first attribute is added as (first) child of the current node.
+* This makes it easy to find attributes for later deserialization
+*/
+
+static
+NW_Status_t
+Attr_Start_CB (NW_WBXML_Parser_t *parser,
+ void *context)
+{
+ NW_Status_t status = NW_STAT_SUCCESS;
+
+ NW_TinyTree_Node_t* attr_node;
+ NW_TinyDom_Parser_t *tiny_parser = (NW_TinyDom_Parser_t*)context;
+
+ switch(GET_STATE(tiny_parser)){
+ case T_PARSE_S_TAG_START:
+ case T_PARSE_S_ATTR_START:
+ case T_PARSE_S_ATTR_VALS:
+ if((tiny_parser->state & T_PARSE_FLAG_ATTR) != T_PARSE_FLAG_ATTR){
+ tiny_parser->state |= T_PARSE_FLAG_ATTR;
+ switch (GET_PASS(tiny_parser)){
+ case T_PARSE_PASS_1:
+ tiny_parser->node_count++;
+ break;
+ case T_PARSE_PASS_2:
+ attr_node = NW_TinyTree_createChild(&(tiny_parser->dom_tree->tree),
+ tiny_parser->current_node,
+ (NW_TinyTree_Offset_t)parser->offset);
+ if (attr_node != NULL){
+ NW_TinyTree_Node_setUserFlags(attr_node, T_DOM_NODE_ATTR);
+ }
+ else{
+ status = NW_STAT_OUT_OF_MEMORY;
+ }
+ break;
+ default:
+ NW_ASSERT(NW_FALSE);
+ status = NW_STAT_FAILURE;
+ }
+ }
+ SET_STATE(tiny_parser, T_PARSE_S_ATTR_START);
+ break;
+ default:
+ status = NW_STAT_FAILURE;
+ }
+ return status;
+}
+
+static
+NW_Status_t
+Attr_Val_CB (NW_WBXML_Parser_t *parser,
+ void *context)
+{
+
+ NW_TinyDom_Parser_t *tiny_parser = (NW_TinyDom_Parser_t*)context;
+
+ NW_REQUIRED_PARAM(parser);
+
+ switch(GET_STATE(tiny_parser)){
+ case T_PARSE_S_ATTR_START:
+ case T_PARSE_S_ATTR_VALS:
+ SET_STATE(tiny_parser,T_PARSE_S_ATTR_VALS);
+ return NW_STAT_SUCCESS;
+ default:
+ return NW_STAT_FAILURE;
+ }
+}
+
+static
+NW_Status_t
+Content_CB (NW_WBXML_Parser_t *parser,
+ void *context)
+{
+
+ NW_TinyDom_Parser_t *tiny_parser = (NW_TinyDom_Parser_t*)context;
+
+ SET_STATE(tiny_parser, T_PARSE_S_CONTENT);
+ /* We need to save the current offset to use if we need a text node. Ugh! */
+ tiny_parser->content_offset = (NW_TinyTree_Offset_t)parser->offset;
+ return NW_STAT_SUCCESS;
+}
+
+/* Count code page switches */
+
+static
+NW_Status_t
+Pass_1_CodePage_CB (NW_WBXML_Parser_t *parser,
+ void *context)
+{
+ NW_TinyDom_Parser_t *tiny_parser = (NW_TinyDom_Parser_t*)context;
+
+ NW_REQUIRED_PARAM(parser);
+
+ tiny_parser->cp_count++;
+ return NW_STAT_SUCCESS;
+}
+
+
+/*
+* The first text element in a series of text elements is added as
+* a child to the current element. This may be followed by several more
+* text elements in the source buffer.
+*/
+
+static
+NW_Status_t
+Text_CB (NW_WBXML_Parser_t *parser,
+ NW_Uint32 val,
+ void *context)
+{
+ NW_Status_t status = NW_STAT_SUCCESS;
+
+ NW_TinyTree_Node_t* text_node;
+ NW_TinyDom_Parser_t *tiny_parser = (NW_TinyDom_Parser_t*)context;
+
+ NW_REQUIRED_PARAM(parser);
+ NW_REQUIRED_PARAM(val);
+
+ /*We're getting content but aren't yet accumulating text */
+ if((GET_STATE(tiny_parser)==T_PARSE_S_CONTENT)
+ &&((tiny_parser->state & T_PARSE_FLAG_TEXT) != T_PARSE_FLAG_TEXT)){
+
+ switch(GET_PASS(tiny_parser)){
+ case T_PARSE_PASS_1:
+ tiny_parser->node_count++;
+ break;
+ case T_PARSE_PASS_2:
+ /* Attach text as child to current node. */
+
+ if(tiny_parser->current_node != NULL)
+ {
+ text_node = NW_TinyTree_createChild(&(tiny_parser->dom_tree->tree),
+ tiny_parser->current_node,
+ tiny_parser->content_offset);
+ if (text_node != NULL){
+ NW_TinyTree_Node_setUserFlags(text_node, T_DOM_NODE_TEXT);
+ }
+ else{
+ status = NW_STAT_FAILURE;
+ }
+ }
+ else
+ {
+ status = NW_STAT_FAILURE;
+ }
+ break;
+ default:
+ NW_ASSERT(NW_FALSE);
+ status = NW_STAT_FAILURE;
+ }
+ tiny_parser->state |= T_PARSE_FLAG_TEXT;
+ }
+ return status;
+}
+
+
+
+static
+NW_Status_t
+Pass_1_InlineString_CB (NW_WBXML_Parser_t *parser,
+ NW_Uint32 len,
+ void *context)
+{
+
+ return Text_CB(parser, len, context);
+
+}
+
+/*
+ * Pass 2 text callback to adjust the NW_Byte ordering of inline strings if needed.
+ * For some string encodings (such as ucs2) this allows the application to reference
+ * them directly from the original storage //TODO: Add a flag to buffer
+ */
+
+static
+NW_Status_t
+Pass_2_InlineString_CB (NW_WBXML_Parser_t *parser,
+ NW_Uint32 len,
+ void *context)
+{
+
+ NW_String_t string;
+ NW_TinyDom_Parser_t *tiny_parser = (NW_TinyDom_Parser_t*)parser->context;
+
+
+ if(tiny_parser->dom_tree->doc->charset == HTTP_iso_10646_ucs_2)
+ {
+ NW_WBXML_Parser_getStringInline(parser, tiny_parser->dom_tree->doc,
+ &string);
+ NW_String_Ucs2_ntoh(&string);
+ }
+
+ return Text_CB(parser, len, context);
+}
+
+
+
+static
+NW_Status_t
+Extension_CB (NW_WBXML_Parser_t *parser,
+ void *context){
+
+ return Text_CB(parser, 0, context);
+
+}
+
+
+static const NW_WBXML_EventHandler_t Pass_1_Handler = {
+ Pass_1_StartDocument_CB,
+ Pass_1_EndDocument_CB,
+ Tag_Start_CB, /* PI treated exactly like tag start in pass 1 */
+ 0,
+ Tag_Start_CB,
+ Tag_End_CB,
+ Attr_Start_CB,
+ Attr_Val_CB,
+ Content_CB,
+ Pass_1_CodePage_CB,
+ Extension_CB,
+ 0,
+ 0,
+ Pass_1_InlineString_CB,
+ Text_CB,
+ Text_CB,
+ Text_CB,
+ Text_CB,
+ 0 /*TODO: Add exception callback */
+};
+
+static const NW_WBXML_EventHandler_t Pass_2_Handler = {
+ Pass_2_StartDocument_CB,
+ Pass_2_EndDocument_CB,
+ Pass_2_Pi_CB,
+ Tag_End_CB, /* PI end treated exactly like tag end in pass 2 */
+ Tag_Start_CB,
+ Tag_End_CB,
+ Attr_Start_CB,
+ Attr_Val_CB,
+ Content_CB,
+ 0,
+ Extension_CB,
+ 0,
+ 0,
+ Pass_2_InlineString_CB,
+ Text_CB,
+ Text_CB,
+ Text_CB,
+ Text_CB,
+ 0
+};
+
+void
+NW_TinyDom_Tree_construct(NW_TinyDom_Tree_t* dom_tree,
+ NW_WBXML_Parser_t* parser,
+ NW_WBXML_Document_t* doc,
+ NW_WBXML_Writer_t* writer)
+{
+ NW_ASSERT(dom_tree != NULL);
+ dom_tree->doc = doc;
+ dom_tree->parser = parser;
+ dom_tree->writer = writer;
+ dom_tree->root_node = 0;
+/* dom_tree->tree = 0;*/
+}
+
+void
+NW_TinyDom_Tree_destruct(NW_TinyDom_Tree_t* dom_tree)
+{
+ if (dom_tree != NULL) {
+ NW_TinyTree_destruct(&(dom_tree->tree));
+ }
+}
+
+EXPORT_C void
+NW_TinyDom_Parser_construct(NW_TinyDom_Parser_t* dom_parser,
+ NW_TinyDom_Tree_t *dom_tree)
+{
+ dom_parser->state = 0;
+ dom_parser->node_count = 0;
+ dom_parser->cp_count = 0;
+ dom_parser->current_node = 0;
+ dom_parser->content_offset = 0;
+ dom_parser->dom_tree = dom_tree;
+}
+
+/* Build the tree by running pass 1 and pass 2. */
+
+/* TODO: ADD OUT OF MEMORY HANDLER!!! */
+
+NW_Status_t
+NW_TinyDom_Parser_buildTree(NW_TinyDom_Parser_t *dom_parser,
+ char *buffer,
+ NW_Uint32 buffsize,
+ NW_Bool freeBuff)
+{
+
+ NW_Status_t status;
+ NW_WBXML_CP_Registry_Entry_t* registry;
+ NW_WBXML_Dictionary_t* dictionary = NULL;
+ NW_String_t string;
+
+ /* Run pass 1 (count nodes and code page switches) */
+
+ status = NW_WBXML_Parser_registerHandler(dom_parser->dom_tree->parser,
+ &Pass_1_Handler,
+ (void *) dom_parser);
+ if (status != NW_STAT_SUCCESS){
+ return status;
+ }
+ status = NW_WBXML_Parser_parseBuffer (dom_parser->dom_tree->parser,
+ dom_parser->dom_tree->doc,
+ (NW_Byte *) buffer, buffsize);
+
+ if (status != NW_STAT_SUCCESS){
+ return status;
+ }
+
+ /* Initialize the writer */
+
+ /* First get the dictionary */
+ dictionary = NW_WBXML_Dictionary_getByIndex(dom_parser->dom_tree->parser->dictionary);
+
+ if(dictionary == NULL){
+ return NW_STAT_FAILURE;
+ }
+
+ /* Initialize the writer */
+
+ NW_WBXML_Writer_Initialize(dom_parser->dom_tree->writer,
+ 0, NULL,
+ NULL,
+ dictionary,
+ dictionary,
+ NW_Encoder_StringTable_getStringTableOffset,
+ NW_Encoder_StringTable_addToStringTable,
+ dom_parser->dom_tree->doc->strtbl_extension,
+ NW_Encoder_StringTable_StringTableIterateInit,
+ NW_Encoder_StringTable_StringTableIterateNext,
+ NW_TRUE /* sizing only pass */);
+
+ /* Setup the tree and any code page registry */
+
+ status = NW_TinyTree_construct(&(dom_parser->dom_tree->tree),
+ (CXML_Vector_Metric_t)(dom_parser->node_count/4 + 2),
+ buffer,
+ buffsize,
+ (void*)dom_parser,
+ freeBuff);
+ if (status != NW_STAT_SUCCESS) {
+ return status;
+ }
+
+ /* TODO: move all of this down into the wbxml parser itself */
+ if(dom_parser->cp_count > 0){
+ /* There are code page switches, so add a code page registry */
+ registry = (NW_WBXML_CP_Registry_Entry_t*)
+ NW_Mem_Malloc((dom_parser->cp_count + 1) * sizeof (NW_WBXML_CP_Registry_Entry_t));
+ if (registry == NULL){
+ return NW_STAT_OUT_OF_MEMORY;
+ }
+
+ NW_Mem_memset(registry, 0, (dom_parser->cp_count + 1) * sizeof (NW_WBXML_CP_Registry_Entry_t) );
+
+
+ status = NW_WBXML_Parser_addCPRegistry(dom_parser->dom_tree->parser,
+ registry, dom_parser->cp_count);
+ if (status != NW_STAT_SUCCESS){
+ return status;
+ }
+ }
+ /* Run pass 2 (build tree and any code page registry) */
+ NW_WBXML_Parser_reset (dom_parser->dom_tree->parser);
+ NW_WBXML_Parser_registerHandler (dom_parser->dom_tree->parser,
+ &Pass_2_Handler,
+ (void*) dom_parser);
+ if(dom_parser->dom_tree->doc->charset == HTTP_iso_10646_ucs_2){
+ string.storage = dom_parser->dom_tree->doc->strtbl.data;
+ string.length = dom_parser->dom_tree->doc->strtbl.length;
+
+ if (string.length)
+ NW_String_Ucs2_ntoh(&string);
+ }
+ /* set last valid to undefined for non-appending dom tree parsing */
+ NW_TinyDom_setLastValid(dom_parser->dom_tree, -1);
+ status = NW_WBXML_Parser_parseBuffer(dom_parser->dom_tree->parser,
+ dom_parser->dom_tree->doc,
+ (NW_Byte *) buffer,
+ buffsize);
+ if (status != NW_STAT_SUCCESS){
+ return status;
+ }
+
+ return NW_STAT_SUCCESS;
+}
+
+/**********************************************************
+*/
+NW_Status_t
+NW_TinyDom_Parser_incrementalBuildTree(
+ NW_TinyDom_Parser_t *dom_parser,
+ char *buffer,
+ NW_Uint32 buffsize,
+ NW_Bool freeBuff,
+ NW_Int32 lastValid)
+{
+
+ NW_Status_t status;
+ NW_WBXML_CP_Registry_Entry_t *old_registry, *registry;
+ NW_WBXML_Dictionary_t* dictionary = NULL;
+ NW_Uint32 old_cp_offset = 0;
+ NW_String_t string;
+
+ if (dom_parser->dom_tree->tree.tree == NULL)
+ {
+ status = NW_TinyTree_construct(&(dom_parser->dom_tree->tree),
+ (CXML_Vector_Metric_t)(10),/*todo: remove hardcode number */
+ buffer,
+ buffsize,
+ (void*)dom_parser,
+ freeBuff);
+ if (status != NW_STAT_SUCCESS) {
+ goto finish_ibuildtree;
+ }
+ }
+ /* Initialize the writer */
+ if (dom_parser->dom_tree->parser->dictionary == 0)
+ {
+ dom_parser->dom_tree->parser->p = (NW_Byte *)buffer;
+ dom_parser->dom_tree->parser->left = buffsize;
+ if ((status = NW_WBXML_Parser_docHeaderParse (dom_parser->dom_tree->parser, dom_parser->dom_tree->doc))
+ != NW_STAT_SUCCESS)
+ goto finish_ibuildtree;
+
+ /* Now get the dictionary from the document */
+
+ if (dom_parser->dom_tree->doc->publicid > 0){
+ dom_parser->dom_tree->parser->dictionary =
+ NW_WBXML_Dictionary_getIndexByPublicId (dom_parser->dom_tree->doc->publicid);
+ }
+
+ else if (dom_parser->dom_tree->doc->doc_type){
+ dom_parser->dom_tree->parser->dictionary =
+ NW_WBXML_Dictionary_getIndexByDocType (dom_parser->dom_tree->doc->doc_type, dom_parser->dom_tree->doc->charset);
+ }
+
+ /* If a dictionary could not be attained try using the default public id */
+ if (dom_parser->dom_tree->parser->dictionary == 0){
+ dom_parser->dom_tree->doc->publicid = dom_parser->dom_tree->doc->default_public_id;
+ dom_parser->dom_tree->parser->dictionary =
+ NW_WBXML_Dictionary_getIndexByPublicId (dom_parser->dom_tree->doc->publicid);
+ }
+
+ /* Make the StartDocument callback */
+ /* Run pass 2 (build tree and any code page registry) */
+ NW_WBXML_Parser_registerHandler (dom_parser->dom_tree->parser,
+ &Pass_2_Handler,
+ (void*) dom_parser);
+ SET_PASS(dom_parser, T_PARSE_PASS_2);
+
+ if (dom_parser->dom_tree->parser->handler && dom_parser->dom_tree->parser->handler->StartDocument_CB)
+ {
+ status = (*(dom_parser->dom_tree->parser->handler->StartDocument_CB)) (dom_parser->dom_tree->parser,
+ dom_parser->dom_tree->doc, dom_parser);
+ if (status != NW_STAT_SUCCESS)
+ goto finish_ibuildtree;
+ }
+
+ /* Initialize the writer */
+ NW_WBXML_Writer_Initialize(dom_parser->dom_tree->writer,
+ 0, NULL,
+ NULL,
+ dictionary,
+ dictionary,
+ NW_Encoder_StringTable_getStringTableOffset,
+ NW_Encoder_StringTable_addToStringTable,
+ dom_parser->dom_tree->doc->strtbl_extension,
+ NW_Encoder_StringTable_StringTableIterateInit,
+ NW_Encoder_StringTable_StringTableIterateNext,
+ NW_TRUE /* sizing only pass */);
+ }
+ else
+ {
+ dom_parser->dom_tree->parser->p = (NW_Byte *)buffer + dom_parser->dom_tree->parser->offset;
+ dom_parser->dom_tree->parser->left = buffsize - dom_parser->dom_tree->parser->offset;
+
+ // copy the previous Ebuffer to overwrite the previous part of wbxml buffer.
+ // since the previous part has native endianess, the conversion of endianess
+ // (big endian to little endian) only occurs to new contents.
+ (void)NW_Mem_memcpy(
+ buffer, dom_parser->dom_tree->tree.ebuffer->segmentList->storage,
+ dom_parser->dom_tree->parser->offset);
+
+ }
+ /* First get the dictionary */
+ dictionary = NW_WBXML_Dictionary_getByIndex(dom_parser->dom_tree->parser->dictionary);
+
+ if(dictionary == NULL){
+ status = NW_STAT_FAILURE;
+ goto finish_ibuildtree;
+ }
+
+ /* Setup the tree and any code page registry */
+
+
+ NW_TinyDom_setLastValid(dom_parser->dom_tree, lastValid);
+
+ /* TODO: move all of this down into the wbxml parser itself */
+ if(dom_parser->cp_count > 0){
+ /* There are code page switches, so add a code page registry */
+ old_registry = dom_parser->dom_tree->parser->cp_registry.storage;
+ registry = (NW_WBXML_CP_Registry_Entry_t*)NW_Mem_Malloc((dom_parser->cp_count + 1) * sizeof (NW_WBXML_CP_Registry_Entry_t));
+ if (registry == NULL){
+ status = NW_STAT_OUT_OF_MEMORY;
+ goto finish_ibuildtree;
+ }
+
+ NW_Mem_memset(registry, 0, ( (dom_parser->cp_count + 1) * sizeof (NW_WBXML_CP_Registry_Entry_t) ) );
+ if (old_registry)
+ {
+ old_cp_offset = dom_parser->dom_tree->parser->cp_registry.current - dom_parser->dom_tree->parser->cp_registry.storage;
+ NW_Mem_memcpy(registry, old_registry,
+ dom_parser->dom_tree->parser->cp_registry.count*sizeof(NW_WBXML_CP_Registry_Entry_t));
+ NW_Mem_Free(old_registry);
+ }
+ status = NW_WBXML_Parser_addCPRegistry(dom_parser->dom_tree->parser,
+ registry, dom_parser->cp_count);
+ if (status != NW_STAT_SUCCESS){
+ goto finish_ibuildtree;
+ }
+ dom_parser->dom_tree->parser->cp_registry.current = registry + old_cp_offset;
+ // WLIU_DEBUG: dom_parser->dom_tree->parser->cp_registry.realcount = old_cp_offset;
+ /* Make sure flag is not set, so that new cp entry could be added to the registry */
+ dom_parser->dom_tree->parser->flags &= ~NW_WBXML_REGISTRY_INIT;
+ }
+
+ //NW_WBXML_Parser_reset (dom_parser->dom_tree->parser);
+
+ /* Run pass 2 (build tree and any code page registry) */
+ NW_WBXML_Parser_registerHandler (dom_parser->dom_tree->parser,
+ &Pass_2_Handler,
+ (void*) dom_parser);
+ SET_PASS(dom_parser, T_PARSE_PASS_2);
+ SET_STATE(dom_parser, T_PARSE_S_CONTENT);
+ dom_parser->state &= ~T_PARSE_FLAG_TEXT; /* prepare for text */
+
+ // convert endianess if necessary
+ if(dom_parser->dom_tree->doc->charset == HTTP_iso_10646_ucs_2){
+ string.storage = dom_parser->dom_tree->doc->strtbl.data;
+ string.length = dom_parser->dom_tree->doc->strtbl.length;
+ if (string.length)
+ NW_String_Ucs2_ntoh(&string);
+ }
+
+ NW_TinyTree_EBuffer_Destruct (dom_parser->dom_tree->tree.ebuffer );
+
+ dom_parser->dom_tree->tree.ebuffer = NW_TinyTree_EBuffer_Construct((NW_Byte *)buffer,
+ buffsize,
+ NW_TINY_TREE_BLOCK_SIZE_DEFAULT,
+ freeBuff);
+
+ status = NW_WBXML_Parser_parseBuffer(dom_parser->dom_tree->parser,
+ dom_parser->dom_tree->doc,
+ (NW_Byte *) buffer,
+ buffsize);
+ //WLIU_DEBUG: dom_parser->dom_tree->parser->lastValid = NW_TinyDom_getLastValid(dom_parser->dom_tree);
+ if (status != NW_STAT_SUCCESS){
+ goto finish_ibuildtree;
+ }
+ dom_parser->dom_tree->parser->offset = NW_TinyDom_getLastValid(dom_parser->dom_tree);
+finish_ibuildtree:
+ return status;
+}
+
+/*****************************************************************************
+*/
+/* Get a pointer to the dom parser from the tiny tree */
+
+EXPORT_C NW_TinyDom_Parser_t*
+NW_TinyDom_getParser(NW_TinyTree_t *tree)
+
+{
+ return (NW_TinyDom_Parser_t*)NW_TinyTree_getContext(tree);
+}
+
+/* Get a pointer to the dom tree from a tiny tree */
+
+EXPORT_C NW_TinyDom_Tree_t*
+NW_TinyDom_getTree(NW_TinyTree_t *tree)
+
+{
+
+ NW_TinyDom_Parser_t *dom_parser;
+
+ dom_parser = NW_TinyDom_getParser(tree);
+ if(dom_parser != NULL){
+ return dom_parser->dom_tree;
+ }
+ return NULL;
+}
+
+/* Get the doc header from the tiny tree */
+
+NW_WBXML_Document_t *
+NW_TinyDom_getDocHeader(NW_TinyTree_t *tree)
+
+{
+ NW_TinyDom_Tree_t *dom_tree = NW_TinyDom_getTree(tree);
+
+ if(dom_tree != NULL){
+ return dom_tree->doc;
+ }
+ return NULL;
+}
+
+/* Deserialization API */
+
+NW_Uint16
+NW_TinyDom_Node_getType(NW_TinyTree_Node_t* node){
+ return (NW_Uint16)(NW_TinyTree_Node_getFlags(node) & TNODE_USR_FLAGS);
+}
+
+/* Deserialization callbacks */
+
+
+/*
+* Tag callbacks
+* TODO: Combine these with the rest of the pass 3 callbacks
+*/
+
+static
+NW_Status_t
+T_Tag_Start_CB (NW_WBXML_Parser_t *parser,
+ void *context)
+{
+ NW_TinyDom_Tag_t *tag = (NW_TinyDom_Tag_t*)context;
+ NW_TinyDom_Parser_t *tiny_parser = tag->tiny_parser;
+
+ NW_REQUIRED_PARAM(parser);
+
+ SET_STATE(tiny_parser, T_PARSE_S_TAG_START);
+ return NW_STAT_SUCCESS;
+}
+
+static
+NW_Status_t
+T_FQToken_CB (NW_WBXML_Parser_t *parser,
+ NW_Uint32 token,
+ void *context){
+
+ NW_TinyDom_Tag_t *tag = (NW_TinyDom_Tag_t*)context;
+ NW_TinyDom_Parser_t *tiny_parser = tag->tiny_parser;
+
+ NW_REQUIRED_PARAM(parser);
+
+ switch (GET_STATE(tiny_parser)){
+ case T_PARSE_S_TAG_START:
+ tag->fq_token = token;
+ break;
+ default:
+ return NW_STAT_SUCCESS;
+ }
+ return NW_STAT_SUCCESS;
+}
+
+static
+NW_Status_t
+T_TableString_CB (NW_WBXML_Parser_t *parser,
+ NW_Uint32 index,
+ void *context)
+{
+ NW_TinyDom_Tag_t *tag = (NW_TinyDom_Tag_t*)context;
+ NW_TinyDom_Parser_t *tiny_parser = tag->tiny_parser;
+
+ NW_REQUIRED_PARAM(parser);
+
+ switch (GET_STATE(tiny_parser)){
+ case T_PARSE_S_TAG_START:
+ tag->name_index = index;
+ break;
+ default:
+ return NW_STAT_SUCCESS;
+ }
+ return NW_STAT_SUCCESS;
+}
+
+static const NW_WBXML_EventHandler_t Tag_Handler = {
+ 0,
+ 0,
+ 0,
+ 0,
+ T_Tag_Start_CB,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ T_FQToken_CB,
+ 0,
+ T_TableString_CB,
+ 0,
+ 0,
+ 0,
+ 0
+};
+
+
+/*
+* Pass 3 callbacks. These are called by the parser when deserializing
+* text and attributes. Since text elements are just a subset of
+* attribute elements, almost exactly the same callbacks can be used
+* for both.
+*
+* Note that parser state between callbacks is only meaningful if the
+* callbacks are part of an atomic sequence. Such sequences always
+* start with an Attr_Start, Attr_Val or Content callback, followed by
+* one of the data type callbacks. Any attempt to use the parser state
+* machine in another way is not reentrant.
+*/
+
+static
+NW_Status_t
+Pass_3_Attr_Start_CB (NW_WBXML_Parser_t *parser,
+ void *context)
+{
+ NW_TinyDom_AttributeHandle_t *handle = (NW_TinyDom_AttributeHandle_t*)context;
+ NW_TinyDom_Parser_t *tiny_parser = handle->tlit.tiny_parser;
+
+ NW_REQUIRED_PARAM(parser);
+
+ SET_STATE(tiny_parser, T_PARSE_S_ATTR_START);
+ return NW_STAT_SUCCESS;
+}
+
+static
+NW_Status_t
+Pass_3_Attr_Val_CB (NW_WBXML_Parser_t *parser,
+ void *context)
+{
+ NW_TinyDom_AttributeHandle_t *handle = (NW_TinyDom_AttributeHandle_t*)context;
+ NW_TinyDom_Parser_t *tiny_parser = handle->tlit.tiny_parser;
+
+ NW_REQUIRED_PARAM(parser);
+
+ SET_STATE(tiny_parser, T_PARSE_S_ATTR_VALS);
+ return NW_STAT_SUCCESS;
+}
+
+static
+NW_Status_t
+Pass_3_Content_CB (NW_WBXML_Parser_t *parser,
+ void *context)
+{
+ NW_TinyDom_AttributeHandle_t *handle = (NW_TinyDom_AttributeHandle_t*)context;
+ NW_TinyDom_Parser_t *tiny_parser = handle->tlit.tiny_parser;
+
+ NW_REQUIRED_PARAM(parser);
+
+ SET_STATE(tiny_parser, T_PARSE_S_CONTENT);
+ return NW_STAT_SUCCESS;
+}
+
+
+static
+NW_Status_t
+Pass_3_Extension_CB (NW_WBXML_Parser_t *parser,
+ void *context)
+{
+ NW_TinyDom_AttributeHandle_t *handle = (NW_TinyDom_AttributeHandle_t*)context;
+ NW_TinyDom_Parser_t *tiny_parser = handle->tlit.tiny_parser;
+
+ NW_REQUIRED_PARAM(parser);
+
+ /* Set the extension substate flag */
+ tiny_parser->state |= T_PARSE_F_EXT;
+ return NW_STAT_SUCCESS;
+}
+
+
+static
+NW_Status_t
+Pass_3_FQToken_CB (NW_WBXML_Parser_t *parser,
+ NW_Uint32 token,
+ void *context)
+{
+ NW_TinyDom_AttributeHandle_t *handle = (NW_TinyDom_AttributeHandle_t*)context;
+ NW_TinyDom_Parser_t *tiny_parser = handle->tlit.tiny_parser;
+ NW_TinyDom_AttrVal_t* attr_val = (NW_TinyDom_AttrVal_t*)(handle->value);
+
+ NW_REQUIRED_PARAM(parser);
+
+ switch (GET_STATE(tiny_parser)){
+ case T_PARSE_S_ATTR_START:
+ handle->fq_token = token;
+ break;
+ case T_PARSE_S_ATTR_VALS:
+ case T_PARSE_S_CONTENT:
+ if((tiny_parser->state & T_PARSE_F_EXT) == T_PARSE_F_EXT){
+ attr_val->type = NW_WBXML_ATTR_COMPONENT_EXT;
+ attr_val->component.ext.type
+ = (NW_Uint8)((tiny_parser->dom_tree->parser->ext_t_not_table_index) ?
+ NW_TINYDOM_EXTENSION_TYPE_EXT_T_INTEGER
+ : NW_TINYDOM_EXTENSION_TYPE_NORMAL);
+ attr_val->component.ext.token = token;
+ attr_val->component.ext.value.string.length = 0;
+ attr_val->component.ext.value.string.storage = NULL;
+ }
+ else{ /*TODO: NW_ASSERT that this is not called with T_PARSE_S_ATTR_CONTENT? */
+ attr_val->type = NW_WBXML_ATTR_COMPONENT_TOKEN;
+ attr_val->component.value_token = token;
+ }
+ break;
+ default:
+ break;
+ }
+ return NW_STAT_SUCCESS;
+}
+
+static
+NW_Status_t
+Pass_3_InlineString_CB (NW_WBXML_Parser_t *parser,
+ NW_Uint32 len,
+ void *context)
+{
+ NW_Status_t status;
+ NW_TinyDom_AttributeHandle_t *handle = (NW_TinyDom_AttributeHandle_t*)context;
+ NW_TinyDom_Parser_t *tiny_parser = handle->tlit.tiny_parser;
+ NW_TinyDom_AttrVal_t* attr_val = (NW_TinyDom_AttrVal_t*)(handle->value);
+
+ NW_REQUIRED_PARAM(len);
+
+ switch (GET_STATE(tiny_parser)){
+ case T_PARSE_S_ATTR_VALS:
+ case T_PARSE_S_CONTENT:
+ if((tiny_parser->state & T_PARSE_F_EXT) == T_PARSE_F_EXT){
+ status = NW_WBXML_Parser_getStringInline(parser,
+ tiny_parser->dom_tree->doc,
+ &(attr_val->component.ext.value.string));
+ if(status != NW_STAT_SUCCESS){
+ return status;
+ }
+ tiny_parser->state &= ~T_PARSE_F_EXT; /* Unset extension sub-state */
+ }
+ else{
+ attr_val->type = NW_WBXML_ATTR_COMPONENT_STRING;
+ status = NW_WBXML_Parser_getStringInline(parser,
+ tiny_parser->dom_tree->doc,
+ &(attr_val->component.string));
+ if(status != NW_STAT_SUCCESS){
+ return status;
+ }
+
+ }
+ break;
+ default:
+ break;
+ }
+ return NW_STAT_SUCCESS;
+}
+
+static
+NW_Status_t
+Pass_3_TableString_CB (NW_WBXML_Parser_t *parser,
+ NW_Uint32 index,
+ void *context)
+{
+ NW_Status_t status;
+ NW_TinyDom_AttributeHandle_t *handle = (NW_TinyDom_AttributeHandle_t*)context;
+ NW_TinyDom_Parser_t *tiny_parser = handle->tlit.tiny_parser;
+ NW_TinyDom_AttrVal_t* attr_val = (NW_TinyDom_AttrVal_t*)(handle->value);
+
+ NW_REQUIRED_PARAM(parser);
+
+ switch (GET_STATE(tiny_parser)){
+ case T_PARSE_S_ATTR_START:
+ handle->name_index = index;
+ break;
+ case T_PARSE_S_ATTR_VALS:
+ case T_PARSE_S_CONTENT:
+ if((tiny_parser->state & T_PARSE_F_EXT) == T_PARSE_F_EXT){
+ status = NW_WBXML_Document_getTableString(tiny_parser->dom_tree->doc,
+ index,
+ &(attr_val->component.ext.value.string));
+ if(status != NW_STAT_SUCCESS){
+ return status;
+ }
+ tiny_parser->state &= ~T_PARSE_F_EXT; /* Unset extension sub-state */
+ }
+ else{
+ attr_val->type = NW_WBXML_ATTR_COMPONENT_STRING;
+ status = NW_WBXML_Document_getTableString(tiny_parser->dom_tree->doc,
+ index,
+ &(attr_val->component.string));
+ if(status != NW_STAT_SUCCESS){
+ return status;
+ }
+ }
+ break;
+ default:
+ break;
+ }
+ return NW_STAT_SUCCESS;
+}
+
+
+/* TODO: Fill in. This is to get inline integers */
+
+static
+NW_Status_t
+Pass_3_Binary_CB (NW_WBXML_Parser_t *parser,
+ NW_Uint32 x,
+ void *context)
+{
+ NW_TinyDom_AttributeHandle_t *handle = (NW_TinyDom_AttributeHandle_t*)context;
+ NW_TinyDom_Parser_t *tiny_parser = handle->tlit.tiny_parser;
+
+ NW_REQUIRED_PARAM(parser);
+
+ if ((tiny_parser->state & T_PARSE_F_EXT) == T_PARSE_F_EXT) {
+ NW_TinyDom_AttrVal_t* attr_val = (NW_TinyDom_AttrVal_t*)(handle->value);
+ attr_val->component.ext.value.x = x;
+ }
+ tiny_parser->state &= ~T_PARSE_F_EXT; /* Unset extension sub-state */
+ return NW_STAT_SUCCESS;
+}
+
+static
+NW_Status_t
+Pass_3_Opaque_CB (NW_WBXML_Parser_t *parser,
+ NW_Uint32 len,
+ void *context)
+{
+ NW_TinyDom_AttributeHandle_t *handle = (NW_TinyDom_AttributeHandle_t*)context;
+ NW_TinyDom_Parser_t *tiny_parser = handle->tlit.tiny_parser;
+ NW_TinyDom_AttrVal_t* attr_val = (NW_TinyDom_AttrVal_t*)(handle->value);
+
+ switch (GET_STATE(tiny_parser)){
+ case T_PARSE_S_ATTR_VALS:
+ case T_PARSE_S_CONTENT:
+ attr_val->type = NW_WBXML_ATTR_COMPONENT_OPAQUE;
+ NW_WBXML_Parser_getOpaque(parser, len, &(attr_val->component.opaque));
+ break;
+ default:
+ break;
+ }
+ return NW_STAT_SUCCESS;
+}
+
+static NW_Status_t
+Pass_3_Entity_CB (NW_WBXML_Parser_t *parser,
+ NW_Uint32 e,
+ void *context)
+{
+ NW_TinyDom_AttributeHandle_t *handle = (NW_TinyDom_AttributeHandle_t*)context;
+ NW_TinyDom_Parser_t *tiny_parser = handle->tlit.tiny_parser;
+ NW_TinyDom_AttrVal_t* attr_val = (NW_TinyDom_AttrVal_t*)(handle->value);
+
+ NW_REQUIRED_PARAM(parser);
+
+ switch (GET_STATE(tiny_parser)){
+ case T_PARSE_S_ATTR_VALS:
+ case T_PARSE_S_CONTENT:
+ attr_val->type = NW_WBXML_ATTR_COMPONENT_ENTITY;
+ attr_val->component.entity = e;
+ break;
+ default:
+ break;
+ }
+ return NW_STAT_SUCCESS;
+}
+
+
+static const NW_WBXML_EventHandler_t Pass_3_Handler = {
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ Pass_3_Attr_Start_CB,
+ Pass_3_Attr_Val_CB,
+ Pass_3_Content_CB,
+ 0,
+ Pass_3_Extension_CB,
+ 0,
+ Pass_3_FQToken_CB,
+ Pass_3_InlineString_CB,
+ Pass_3_TableString_CB,
+ Pass_3_Binary_CB,
+ Pass_3_Opaque_CB,
+ Pass_3_Entity_CB,
+ 0
+};
+
+
+/*
+* The tiny list iterator is a generic iterator that
+* can be used to invoke parser iterator methods.
+*/
+
+static void
+TinyDom_ListIterator_init(NW_TinyDom_ListIterator_t *it,
+ NW_TinyDom_Parser_t *tiny_parser,
+ NW_TinyTree_Node_t *list_node,
+ void *context){
+ it->tiny_parser = tiny_parser;
+ NW_TinyTree_Node_GetSegmentAndOffset(&(tiny_parser->dom_tree->tree),list_node, (NW_Uint8**)&(it->segment), &(it->segSize), &(it->offset));
+ it->state = NW_STAT_WBXML_ITERATE_MORE;
+ it->context = context;
+}
+
+/*
+*
+* This is a bit complicated: you pass in an iterator function (from
+* the parser) that knows how to iterate the type you are interested
+* in (e.g. attribute_iterate), and you pass in a handler that the
+* parser iterator's callbacks will invoke. When called, a handler
+* receives the interator context field as the context arg. The
+* handler is used to select elements, gather data, etc.
+*
+* This, NW_TinyDom_attribute_handle_init, and NW_TinyDom_tag_get, should
+* not be called reentrantly (from a parser callback). This doesn't
+* seem like a serious restriction. If this becomes a problem, the
+* ParserSaveContext/ParserRestoreContext lines can be uncommented to
+* make these reentrant.
+*/
+
+static
+NW_TinyTree_Offset_t
+TinyDom_ListIterator_iterate(NW_TinyDom_ListIterator_t *it,
+ const NW_WBXML_EventHandler_t *handler,
+ NW_Status_t (*type_iterator) (NW_WBXML_Parser_t*))
+{
+ NW_TinyTree_Offset_t startOffset;
+ NW_TinyTree_Offset_t sourceOffset;
+
+
+ if (it->state == NW_STAT_WBXML_ITERATE_MORE){
+
+
+ /* Set the parser buffer and buffer size to the values stored in the iterator */
+ NW_WBXML_Parser_resetBuffer(it->tiny_parser->dom_tree->parser,
+ (NW_Byte*) it->segment,
+ it->segSize);
+
+ /* Register the callbacks */
+ NW_WBXML_Parser_registerHandler (it->tiny_parser->dom_tree->parser,
+ handler,
+ it->context);
+ startOffset = it->offset;
+ /* Now set the parser offset to the value stored in the iterator */
+ NW_WBXML_Parser_setOffset(it->tiny_parser->dom_tree->parser, it->offset);
+ /* Run the type iterator */
+ it->state = (NW_Uint32)(*(type_iterator))(it->tiny_parser->dom_tree->parser);
+ /* Set the new iterator offset (the segment should be unchanged)*/
+ it->offset =
+ (NW_TinyTree_Offset_t)NW_WBXML_Parser_getOffset(it->tiny_parser->dom_tree->parser);
+
+ if((it->tiny_parser->dom_tree->parser->status != NW_STAT_SUCCESS) ||
+ (it->offset == startOffset)){ /* Hack, hack . . The parser didn't advance. */
+ return 0;
+ }
+
+ /* Convert the iterator offset into a source offset to return */
+
+ NW_TinyTree_GetSourceOffset(&(it->tiny_parser->dom_tree->tree),
+ (NW_Byte*) it->segment, startOffset, &sourceOffset);
+ return sourceOffset;
+ }
+ return 0;
+}
+
+void
+NW_TinyDom_AttrListHandle_init(NW_TinyDom_AttrListHandle_t *it,
+ NW_TinyDom_Parser_t *tiny_parser,
+ NW_TinyTree_Node_t *list_node)
+{
+ TinyDom_ListIterator_init(it, tiny_parser, list_node, 0);
+}
+
+/*
+* Iterate through a list of attributes. There are
+* no attribute list callbacks since we just want to iterate the
+* attribute list, returning the start of each attribute.
+*/
+
+NW_TinyTree_Offset_t
+NW_TinyDom_AttrListHandle_iterate(NW_TinyDom_AttrListHandle_t *it){
+ /* Call list_iterate with a null handler.*/
+ return TinyDom_ListIterator_iterate(it, 0, NW_WBXML_Parser_attributeListIterate);
+}
+
+/*
+* Internal function to iterate the values of an attribute.
+*/
+
+NW_TinyTree_Offset_t
+NW_TinyDom_AttributeHandle_valsIterate(NW_TinyDom_ListIterator_t *it)
+{
+ return TinyDom_ListIterator_iterate(it, &Pass_3_Handler, NW_WBXML_Parser_attributeValsIterate);
+}
+
+/*String indexes must be less than the largest offset */
+#define ILLEGAL_STRING_INDEX ((NW_TinyTree_Offset_t)~0)
+
+/*
+* Initialize an attribute handle by parsing an attribute's start
+* token and values, calling the attribute handlers.
+*/
+
+void
+NW_TinyDom_AttributeHandle_init(NW_TinyDom_AttributeHandle_t *handle,
+ NW_TinyDom_Parser_t *tiny_parser,
+ NW_TinyTree_Offset_t offset)
+{
+ /*lint --e{794} Conceivable use of null pointer */
+
+ NW_TinyTree_Node_t dummy_node;
+ void *segment;
+ NW_TinyTree_Offset_t segSize;
+ NW_TinyTree_Offset_t segOffset;
+
+ handle->fq_token = 0;
+ handle->name_index = ILLEGAL_STRING_INDEX;
+ handle->value = NULL;
+ /* Run parser once to get token, name */
+ handle->tlit.tiny_parser = tiny_parser;
+
+ /* Fill in a dummy node with the supplied source offset */
+ dummy_node.source_offset = offset;
+
+ /* Use this to initialize the parser */
+ NW_TinyTree_Node_GetSegmentAndOffset(&(tiny_parser->dom_tree->tree),
+ &dummy_node, (NW_Uint8**)&segment, &segSize, &segOffset);
+
+ NW_WBXML_Parser_resetBuffer(tiny_parser->dom_tree->parser, (NW_Byte*) segment, segSize);
+
+ NW_WBXML_Parser_registerHandler (tiny_parser->dom_tree->parser, &Pass_3_Handler, handle);
+ NW_WBXML_Parser_setOffset(tiny_parser->dom_tree->parser, segOffset);
+ /* Run parser once to get past name */
+ NW_WBXML_Parser_attributeNameParse(tiny_parser->dom_tree->parser);
+
+ /* Update the dummy node source offset to reflect the parser advance */
+ segOffset =
+ (NW_TinyTree_Offset_t)NW_WBXML_Parser_getOffset(tiny_parser->dom_tree->parser);
+
+ NW_TinyTree_GetSourceOffset(&(tiny_parser->dom_tree->tree), (NW_Byte*) segment,
+ segOffset, &(dummy_node.source_offset));
+
+ TinyDom_ListIterator_init((NW_TinyDom_ListIterator_t*)&(handle->tlit),
+ tiny_parser,
+ &dummy_node,
+ handle);
+}
+
+/* Get tag name and token */
+
+static
+void
+NW_TinyDom_getTag(NW_TinyDom_Parser_t* tiny_parser,
+ NW_TinyTree_Node_t* node,
+ NW_TinyDom_Tag_t* tag)
+{
+ NW_WBXML_Parser_t *parser = tiny_parser->dom_tree->parser;
+ void *segment;
+ NW_TinyTree_Offset_t segSize;
+ NW_TinyTree_Offset_t segOffset;
+
+ /*NW_WBXML_Parser_t saved_context; */
+
+ tag->tiny_parser = tiny_parser;
+ /*NW_WBXML_ParserSaveContext(parser, &saved_context); */
+
+ /* Convert the node source offset to segment and offset form */
+ NW_TinyTree_Node_GetSegmentAndOffset(&(tiny_parser->dom_tree->tree),
+ node, (NW_Uint8**)&segment, &segSize, &segOffset);
+
+ /* Use these values to init the parser */
+ NW_WBXML_Parser_resetBuffer(tiny_parser->dom_tree->parser, (NW_Byte*) segment, segSize);
+ NW_WBXML_Parser_setOffset(parser, segOffset);
+ NW_WBXML_Parser_registerHandler (parser, &Tag_Handler, tag);
+ /* Parse the tag name */
+ NW_WBXML_Parser_tagNameParse(parser);
+ /*NW_WBXML_ParserRestoreContext(parser, &saved_context); */
+}
+
+EXPORT_C NW_Uint32
+NW_TinyDom_getTagToken(NW_TinyDom_Parser_t* tiny_parser,
+ NW_TinyTree_Node_t* node)
+{
+ NW_TinyDom_Tag_t tag;
+ NW_TinyDom_getTag(tiny_parser, node, &tag);
+ return tag.fq_token;
+}
+
+
+NW_Status_t
+NW_TinyDom_getTagName(NW_TinyDom_Parser_t* tiny_parser,
+ NW_TinyTree_Node_t* node,
+ NW_String_t* name)
+{
+ NW_TinyDom_Tag_t tag;
+
+ tag.name_index = ILLEGAL_STRING_INDEX;
+ NW_TinyDom_getTag(tiny_parser, node, &tag);
+
+ if(tag.name_index != ILLEGAL_STRING_INDEX){
+ /*TODO: replace ??*/
+ return NW_WBXML_Document_getTableString(tiny_parser->dom_tree->doc,
+ tag.name_index,
+ name);
+ }
+ return NW_STAT_WBXML_NO_NAME;
+}
+
+NW_Uint32
+NW_TinyDom_AttributeHandle_getToken(NW_TinyDom_AttributeHandle_t *handle)
+{
+ return handle->fq_token;
+}
+
+/* getName is going to return the entire "start token" which might
+ include a value prefix */
+NW_Status_t
+NW_TinyDom_AttributeHandle_getName(NW_TinyDom_AttributeHandle_t *handle,
+ NW_String_t *name)
+{
+ NW_TinyDom_Parser_t * tiny_parser = handle->tlit.tiny_parser;
+
+ if(handle->name_index != ILLEGAL_STRING_INDEX){
+ /*TODO: replace?? */
+ return NW_WBXML_Document_getTableString(tiny_parser->dom_tree->doc,
+ handle->name_index,
+ name);
+ }
+ return NW_STAT_WBXML_NO_NAME;
+}
+
+NW_TinyTree_Offset_t
+NW_TinyDom_AttributeHandle_iterateValues(NW_TinyDom_AttributeHandle_t* handle,
+ NW_TinyDom_AttrVal_t *value)
+{
+ handle->value = value; /* Set up handle to receive value.*/
+ return NW_TinyDom_AttributeHandle_valsIterate((NW_TinyDom_ListIterator_t*)&(handle->tlit));
+}
+
+
+/* Init a text handle */
+
+void
+NW_TinyDom_TextHandle_init(NW_TinyDom_TextHandle_t* handle,
+ NW_TinyDom_Parser_t* tiny_parser,
+ NW_TinyTree_Offset_t offset)
+{
+ NW_TinyTree_Node_t dummy_node;
+
+ dummy_node.source_offset = offset;
+ /* Initialize the iterator with this handle as the context */
+ TinyDom_ListIterator_init((NW_TinyDom_ListIterator_t *)&(handle->tlit),
+ tiny_parser,
+ &dummy_node,
+ handle);
+ handle->value = NULL;
+}
+
+/* Iterate through the text items in a text element, calling the text handlers */
+
+NW_TinyTree_Offset_t
+NW_TinyDom_TextHandle_iterate(NW_TinyDom_TextHandle_t *handle,
+ NW_TinyDom_Text_t *item)
+{
+ handle->value = item;
+ return TinyDom_ListIterator_iterate(&(handle->tlit),
+ &Pass_3_Handler,
+ NW_WBXML_Parser_textIterate);
+}
+
+void
+NW_TinyDom_setLastValid(NW_TinyDom_Tree_t* dom_tree, NW_Int32 lastValid)
+{
+ NW_ASSERT(dom_tree->tree.tree != NULL);
+ dom_tree->tree.tree->lastValid = lastValid;
+}
+
+
+NW_Int32
+NW_TinyDom_getLastValid(NW_TinyDom_Tree_t* dom_tree)
+{
+ if (dom_tree->tree.tree == NULL)
+ return 0;
+ return dom_tree->tree.tree->lastValid;
+}
+
+
+
+
+
+
+
+
+
+
+
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/tinydom/src/tiny_dom_utils.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/tinydom/src/tiny_dom_utils.c Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,147 @@
+/*
+* Copyright (c) 2000 - 2001 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include "cxml_internal.h"
+#include
+#include
+
+
+/****************************************************************************
+ * Name: NW_TinyDom_ParserInitialize
+ * Description: Helper function to initialize the parser
+ *
+ * Parameters: p -- pointer to a Parser_t struct
+ * dictionaries -- pointer to the WBXML dictionaries
+ * dictionaryCount -- number of dictionaries
+ *
+ * Algorithm: This is just a wrapper to conceal unnecessary initialization details.
+ * Return value: NW_STAT_SUCCESS, NW_STAT_FAILURE, NW_STAT_OUT_OF_MEMORY
+ ***************************************************************************/
+EXPORT_C NW_Status_t NW_TinyDom_ParserInitialize(Parser_t *p,
+ NW_WBXML_Dictionary_t * dictionaries[],
+ NW_Int32 dictionaryCount,
+ NW_Uint32 default_public_id)
+{
+ NW_Status_t status;
+
+ NW_ASSERT(p != NULL);
+
+ (void) NW_Mem_memset(p, 0, sizeof(*p));
+
+ /* Initialize the dictionary to use */
+ if (dictionaries){
+ status = NW_WBXML_Dictionary_add( dictionaryCount, dictionaries );
+
+ if (status == NW_STAT_FAILURE) {
+
+ status = NW_WBXML_Dictionary_initialize (dictionaryCount, dictionaries);
+ if (status != NW_STAT_SUCCESS) {
+ return status;
+ }
+ }
+ }
+
+ /* create the WBXML Parser */
+ NW_WBXML_Parser_newInPlace (&(p->wbxmlParser));
+ status = NW_WBXML_Document_construct(&(p->document), default_public_id);
+
+ /* This ASSERT removed for "out of memory" testing using CXML Testkit component */
+// NW_ASSERT(status == NW_STAT_SUCCESS);
+
+ if (status == NW_STAT_SUCCESS){
+ /* initialize the TinyDOM stuff */
+ NW_TinyDom_Tree_construct (&(p->tinyDOMTree), &(p->wbxmlParser),
+ &(p->document), &(p->writer));
+ NW_TinyDom_Parser_construct (&(p->tinyParser), &(p->tinyDOMTree));
+ }
+ return status;
+}
+
+/****************************************************************************
+ * Name: NW_TinyDom_MakeDOMTree
+ * Description: Helper function to parse the buffer, creating a tree
+ *
+ * Parameters: p -- pointer to a Parser_t struct
+ * buffer -- pointer to content
+ * length -- number of bytes in buffer
+ * root -- pointer to document root node
+ * Algorithm: This is just a wrapper to conceal unnecessary parsing details.
+ * Return value: NW_STAT_SUCCESS, NW_STAT_FAILURE, NW_STAT_OUT_OF_MEMORY
+ ***************************************************************************/
+EXPORT_C NW_Status_t
+NW_TinyDom_MakeDOMTree (Parser_t *p,
+ NW_Byte *buffer,
+ NW_Uint32 length,
+ NW_DOM_DocumentNode_t **root)
+{
+
+ NW_Status_t status;
+
+ NW_ASSERT(p != NULL);
+
+ /* build the tinyDOM tree */
+ status = NW_TinyDom_Parser_buildTree (&(p->tinyParser), (char *)buffer, length, NW_FALSE);
+ if ((status == NW_STAT_SUCCESS) && (root != NULL)) {
+ *root = p->tinyDOMTree.root_node;
+ }
+ return status;
+}
+
+EXPORT_C NW_Status_t
+NW_TinyDom_AppendDOMTree (Parser_t *p,
+ NW_Byte *buffer,
+ NW_Uint32 length,
+ NW_Uint32 cp_count,
+ NW_Int32 lastValid,
+ NW_DOM_DocumentNode_t **root)
+{
+
+ NW_Status_t status;
+
+ NW_ASSERT(p != NULL);
+
+ /* build the tinyDOM tree */
+ //p->wbxmlParser.offset = p->wbxmlParser.lastValid;
+ p->wbxmlParser.offset = NW_TinyDom_getLastValid(p->tinyParser.dom_tree);
+ p->tinyParser.cp_count = cp_count;
+ //p->wbxmlParser.lastValid = lastValid;
+ status = NW_TinyDom_Parser_incrementalBuildTree (&(p->tinyParser), (char *)buffer, length, NW_FALSE, lastValid);
+ if ((status == NW_STAT_SUCCESS) && (root != NULL)) {
+ *root = p->tinyDOMTree.root_node;
+ }
+ return status;
+}
+
+/****************************************************************************
+ * Name: NW_TinyDom_ParserDelete
+ * Description: Free the internal memory in allocated in NW_TinyDom_MakeDOMTree:
+ *
+ * Parameters: p -- pointer to a Parser_t struct
+ *
+ * Algorithm:
+ * Return value: None
+ ***************************************************************************/
+EXPORT_C void NW_TinyDom_ParserDelete(Parser_t *p)
+{
+ if (p != NULL) {
+ NW_WBXML_Parser_delete(&(p->wbxmlParser));
+ NW_TinyDom_Tree_destruct(&(p->tinyDOMTree));
+ NW_WBXML_Document_destruct(&(p->document));
+ (void) NW_Mem_memset(p, 0, sizeof(*p));
+ }
+}
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/tinydom/src/tiny_dom_write.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/tinydom/src/tiny_dom_write.c Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,636 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+/* ************************************************************************/
+#include "cxml_internal.h"
+#include
+#include
+#include
+#include "nw_encoder_tinydom2wbxml.h"
+#include
+#include
+
+
+/* Create an empty tree */
+
+NW_Status_t
+NW_TinyDom_Tree_create(NW_TinyDom_Tree_t *dom_tree,
+ NW_TinyDom_Parser_t *dom_parser,
+ NW_WBXML_Document_t *doc,
+ NW_WBXML_Parser_t *parser,
+ NW_WBXML_Writer_t* writer,
+ NW_Uint16 init_node_count,
+ NW_Bool enableStringTable)
+{
+ NW_WBXML_Dictionary_t* dictionary = NULL;
+
+ /* First get the dictionary */
+
+ if (doc->publicid != 0) {
+ dictionary = NW_WBXML_Dictionary_getByPublicId (doc->publicid);
+ parser->dictionary = NW_WBXML_Dictionary_getIndexByPublicId(doc->publicid);
+ }
+ else if (doc->doc_type != NULL) {
+ dictionary = NW_WBXML_Dictionary_getByDocType (doc->doc_type, doc->charset);
+ parser->dictionary = NW_WBXML_Dictionary_getIndexByDocType(doc->doc_type, doc->charset);
+ }
+
+ if (dictionary == NULL) {
+ return NW_STAT_FAILURE;
+ }
+
+ /* TODO: make dictionary a member of dom_parser ?? */
+
+ /* Initialize the writer */
+
+ NW_WBXML_Writer_Initialize(writer,
+ 0, NULL,
+ NULL,
+ dictionary,
+ dictionary,
+ ((enableStringTable == NW_TRUE) ?
+ NW_Encoder_StringTable_getStringTableOffset :
+ NULL),
+ ((enableStringTable == NW_TRUE) ?
+ NW_Encoder_StringTable_addToStringTable :
+ NULL),
+ ((enableStringTable == NW_TRUE) ?
+ doc->strtbl_extension :
+ NULL),
+ ((enableStringTable == NW_TRUE) ?
+ NW_Encoder_StringTable_StringTableIterateInit :
+ NULL),
+ ((enableStringTable == NW_TRUE) ?
+ NW_Encoder_StringTable_StringTableIterateNext :
+ NULL),
+ NW_TRUE);
+
+ /* Construct the dom tree object */
+ NW_TinyDom_Tree_construct(dom_tree, parser, doc, writer);
+
+ /* Construct the dom parser object */
+ NW_TinyDom_Parser_construct(dom_parser, dom_tree);
+
+ /* Construct the tiny tree object, passing the dom parser as the
+ context argument */
+
+
+ if( (NW_TinyTree_construct(&(dom_tree->tree),
+ (CXML_Vector_Metric_t)(init_node_count + 1),
+ 0,
+ 0,
+ dom_parser,
+ NW_TRUE) ) == NW_STAT_FAILURE)
+ {
+ return NW_STAT_OUT_OF_MEMORY;
+ }
+
+ /* The root node we create here actually has no valid buffer storage yet */
+ NW_TinyTree_setRoot(&(dom_tree->tree), 0);
+
+ /* TODO: Why does dom_tree need a doc member if parser has one too ???? */
+ parser->doc = doc;
+
+ dom_tree->root_node = NW_TinyTree_getRoot(&(dom_tree->tree));
+
+ /* Write the doc header block. This will fill in the root node storage */
+ dom_tree->root_node = NW_TinyDom_writeDocHeader(dom_tree,
+ doc->version,
+ doc->publicid,
+ doc->charset);
+ if (dom_tree->root_node == NULL) {
+ return NW_STAT_FAILURE;
+ }
+ /* Mark the root node as the doc node */
+ NW_TinyTree_Node_setUserFlags(dom_tree->root_node, T_DOM_NODE_DOC);
+ return NW_STAT_SUCCESS;
+}
+
+NW_TinyTree_Node_t *
+NW_TinyDom_writeDocHeader(NW_TinyDom_Tree_t *dom_tree,
+ NW_Uint8 version,
+ NW_Uint32 publicid,
+ NW_Uint32 encoding)
+{
+ NW_Status_t status;
+ NW_TinyTree_Offset_t offset;
+ NW_TinyTree_Node_t * node = dom_tree->root_node;
+ CXML_Vector_Metric_t size;
+
+ /* If the root node isn't set, the tree wasn't properly inited */
+ if (node != NULL) {
+ NW_Uint8* buffer;
+ /* Set up the writer for a sizing pass */
+ NW_WBXML_Writer_SetToSizing(dom_tree->writer);
+ /* Call the writer to run the sizing pass */
+ status = NW_WBXML_Writer_Header(dom_tree->writer,
+ version,
+ publicid,
+ encoding,
+ 0);
+
+
+ if (status != NW_STAT_SUCCESS) {
+ return NULL;
+ }
+ /* Allocate a buffer of the correct size */
+ size = (CXML_Vector_Metric_t)NW_WBXML_Writer_GetSize(dom_tree->writer);
+ buffer = NW_TinyTree_GetWritableBlock(&(dom_tree->tree), size, &offset);
+
+ if(buffer == NULL)
+ {
+ return NULL;
+ }
+
+ /* Set up the writer for actual writing */
+ NW_WBXML_Writer_SetToWrite(dom_tree->writer, size, buffer);
+ /* Do the write */
+ status = NW_WBXML_Writer_Header(dom_tree->writer,
+ version,
+ publicid,
+ encoding,
+ 0);
+
+ if (status != NW_STAT_SUCCESS) {
+ return NULL;
+ }
+ /* Point the root node source offset at the new block */
+ node->source_offset = offset;
+ }
+ return node;
+}
+
+
+NW_TinyTree_Node_t *
+NW_TinyDom_createAttributeByToken(NW_TinyDom_Tree_t *dom_tree,
+ NW_Uint16 token,
+ NW_TinyDom_AttrVal_t *value)
+{
+ NW_Status_t status;
+ NW_TinyTree_Offset_t offset;
+
+ NW_TinyTree_Node_t * node = NW_TinyTree_createNode(&(dom_tree->tree),0);
+
+ if (node != NULL) {
+ NW_Uint8* buffer;
+ CXML_Vector_Metric_t size;
+
+ /* Set up the writer for a sizing pass */
+ NW_WBXML_Writer_SetToSizing(dom_tree->writer);
+ /* Call the writer to run the sizing pass */
+ status = NW_Encoder_writeAttributeByToken(dom_tree->writer, token, value,
+ dom_tree->doc->charset);
+
+ if (status != NW_STAT_SUCCESS) {
+ return NULL;
+ }
+ /* Allocate a buffer of the correct size */
+ size = (CXML_Vector_Metric_t)NW_WBXML_Writer_GetSize(dom_tree->writer);
+ buffer = NW_TinyTree_GetWritableBlock(&(dom_tree->tree), size, &offset);
+ if (buffer == NULL)
+ {
+ return NULL;
+ }
+
+ /* Set up the writer for actual writing */
+ NW_WBXML_Writer_SetToWrite(dom_tree->writer, size, buffer);
+ /* Do the write */
+ status = NW_Encoder_writeAttributeByToken(dom_tree->writer, token, value,
+ dom_tree->doc->charset);
+ if (status != NW_STAT_SUCCESS) {
+ return NULL;
+ }
+ /* Point the node source offset at the new block */
+ node->source_offset = offset;
+ /* Mark node as attribute node */
+ NW_TinyTree_Node_setUserFlags(node, T_DOM_NODE_ATTR);
+ return node;
+ }
+ return NULL;
+}
+
+NW_TinyTree_Node_t *
+NW_TinyDom_createAttributeByName(NW_TinyDom_Tree_t *dom_tree,
+ NW_String_t *name,
+ NW_TinyDom_AttrVal_t *value)
+{
+ NW_Status_t status;
+ NW_TinyTree_Offset_t offset;
+
+ NW_TinyTree_Node_t * node = NW_TinyTree_createNode(&(dom_tree->tree),0);
+
+ if (node != NULL) {
+ NW_Uint8* buffer;
+ CXML_Vector_Metric_t size;
+
+ /* Set up the writer for a sizing pass */
+ NW_WBXML_Writer_SetToSizing(dom_tree->writer);
+ /* Call the writer to run the sizing pass */
+ status = NW_Encoder_writeAttributeByName(dom_tree->writer, name, value,
+ dom_tree->doc->charset);
+
+ if (status != NW_STAT_SUCCESS) {
+ return NULL;
+ }
+ /* Allocate a buffer of the correct size */
+ size = (CXML_Vector_Metric_t)NW_WBXML_Writer_GetSize(dom_tree->writer);
+ buffer = NW_TinyTree_GetWritableBlock(&(dom_tree->tree), size, &offset);
+ if (buffer == NULL)
+ {
+ return NULL;
+ }
+
+ /* Set up the writer for actual writing */
+ NW_WBXML_Writer_SetToWrite(dom_tree->writer, size, buffer);
+ /* Do the write */
+ status = NW_Encoder_writeAttributeByName(dom_tree->writer, name, value,
+ dom_tree->doc->charset);
+ if (status != NW_STAT_SUCCESS) {
+ return NULL;
+ }
+ /* Point the node source offset at the new block */
+ node->source_offset = offset;
+ /* Mark node as attribute node */
+ NW_TinyTree_Node_setUserFlags(node, T_DOM_NODE_ATTR);
+ return node;
+ }
+ return NULL;
+}
+
+NW_Status_t
+NW_TinyDom_AttributeHandle_initWithStartToken(NW_TinyDom_AttributeHandle_t* tinyHandle,
+ NW_TinyTree_Node_t** ppNode,
+ NW_TinyDom_Parser_t* parser,
+ NW_Uint16 fqToken)
+{
+ NW_Status_t status;
+ NW_TinyTree_Offset_t offset;
+ NW_Uint8* buffer;
+ CXML_Vector_Metric_t size;
+ NW_TinyDom_Tree_t* dom_tree = parser->dom_tree;
+
+ /* Set up the writer for a sizing pass */
+ NW_WBXML_Writer_SetToSizing(dom_tree->writer);
+ /* Call the writer to run the sizing pass */
+ status = NW_WBXML_Writer_AttributeToken(dom_tree->writer, fqToken);
+ if (status != NW_STAT_SUCCESS) {
+ return status;
+ }
+ status = NW_WBXML_Writer_End(dom_tree->writer);
+ if (status != NW_STAT_SUCCESS) {
+ return status;
+ }
+ /* Allocate a buffer of the correct size */
+ size = (CXML_Vector_Metric_t)NW_WBXML_Writer_GetSize(dom_tree->writer);
+ buffer = NW_TinyTree_GetWritableBlock(&(dom_tree->tree), size, &offset);
+ if (buffer == NULL)
+ {
+ return NW_STAT_OUT_OF_MEMORY;
+ }
+
+ *ppNode = NW_TinyTree_createNode(&(dom_tree->tree), offset);
+ if (*ppNode == NULL) {
+ NW_Mem_Free(buffer);
+ return NW_STAT_OUT_OF_MEMORY;
+ }
+ NW_TinyTree_Node_setUserFlags(*ppNode, T_DOM_NODE_ATTR);
+
+ /* Set up the writer for actual writing */
+ NW_WBXML_Writer_SetToWrite(dom_tree->writer, size, buffer);
+ /* Do the write */
+ status = NW_WBXML_Writer_AttributeToken(dom_tree->writer, fqToken);
+ if (status != NW_STAT_SUCCESS) {
+ return status;
+ }
+ status = NW_WBXML_Writer_End(dom_tree->writer);
+ if (status != NW_STAT_SUCCESS) {
+ return status;
+ }
+ /* initialize the attribute handle */
+ NW_TinyDom_AttributeHandle_init(tinyHandle, parser, offset);
+
+ return NW_STAT_SUCCESS;
+}
+
+NW_Status_t
+NW_TinyDom_AttributeHandle_addVal(NW_TinyDom_AttributeHandle_t* tinyHandle,
+ NW_TinyTree_Node_t* node,
+ NW_TinyDom_AttrVal_t* val)
+{
+ NW_TinyDom_AttrVal_t av;
+ NW_TinyTree_t* tinyTree = &(tinyHandle->tlit.tiny_parser->dom_tree->tree);
+ NW_TinyDom_Tree_t* tinyDomTree = tinyHandle->tlit.tiny_parser->dom_tree;
+ NW_Uint32 encoding;
+ void* existingBuffer;
+ NW_Uint8* buffer;
+ CXML_Vector_Metric_t start = 0;
+ CXML_Vector_Metric_t valSize;
+ CXML_Vector_Metric_t existingSize;
+ CXML_Vector_Metric_t offset;
+ NW_Status_t status = NW_STAT_FAILURE;
+
+ encoding = NW_TinyDom_getDocHeader(tinyTree)->charset;
+
+ switch (val->type) {
+ case NW_WBXML_ATTR_COMPONENT_TOKEN:
+ case NW_WBXML_ATTR_COMPONENT_STRING:
+ case NW_WBXML_ATTR_COMPONENT_EXT:
+ case NW_WBXML_ATTR_COMPONENT_ENTITY:
+ case NW_WBXML_ATTR_COMPONENT_OPAQUE:
+ NW_WBXML_Writer_SetToSizing(tinyDomTree->writer);
+ start
+ = (CXML_Vector_Metric_t)NW_WBXML_Writer_GetSize(tinyDomTree->writer);
+ status = NW_Encoder_writeAttrVal(tinyDomTree->writer, val,
+ encoding);
+ if (status != NW_STAT_SUCCESS) {
+ return status;
+ }
+ status = NW_WBXML_Writer_End(tinyDomTree->writer);
+ break;
+ }
+ if (status != NW_STAT_SUCCESS) {
+ return status;
+ }
+ valSize
+ = (CXML_Vector_Metric_t)(NW_WBXML_Writer_GetSize(tinyDomTree->writer)
+ - start);
+
+ /* existing content size */
+ start = node->source_offset;
+ NW_TinyDom_AttributeHandle_init(tinyHandle, tinyHandle->tlit.tiny_parser,
+ node->source_offset);
+ tinyHandle->value = &av; /* required to hold value results */
+ while (NW_TinyDom_AttributeHandle_valsIterate(&(tinyHandle->tlit)) != 0) {
+ /* empty loop body: we just want parser to advance */
+ }
+ existingSize = (CXML_Vector_Metric_t)(tinyHandle->tlit.offset - start);
+ existingBuffer = NW_TinyTree_Node_getSourceAddress(tinyTree, node);
+
+ buffer = NW_TinyTree_GetWritableBlock(tinyTree,
+ ((CXML_Vector_Metric_t)
+ (valSize + existingSize)),
+ &offset);
+ if (buffer == NULL) {
+ return NW_STAT_OUT_OF_MEMORY;
+ }
+ NW_Mem_memcpy(buffer, existingBuffer, existingSize);
+ NW_WBXML_Writer_SetToWrite(tinyDomTree->writer,
+ valSize,
+ buffer + existingSize);
+ (void)NW_Encoder_writeAttrVal(tinyDomTree->writer, val, encoding);
+ (void)NW_WBXML_Writer_End(tinyDomTree->writer);
+
+ /* TBD there is no way to "free" the old storage */
+ node->source_offset = offset;
+ return NW_STAT_SUCCESS;
+}
+
+
+NW_TinyTree_Node_t *
+NW_TinyDom_createElementByToken(NW_TinyDom_Tree_t *dom_tree, NW_Uint16 token) {
+
+ NW_Status_t status;
+ NW_TinyTree_Offset_t offset;
+
+ NW_TinyTree_Node_t * node = NW_TinyTree_createNode(&(dom_tree->tree),0);
+
+ if (node != NULL) {
+ NW_Uint8* buffer;
+ CXML_Vector_Metric_t size;
+
+ /* Set up the writer for a sizing pass */
+ NW_WBXML_Writer_SetToSizing(dom_tree->writer);
+ /* Call the writer to run the sizing pass */
+ status = NW_Encoder_writeElementByToken(dom_tree->writer, token);
+
+ if (status != NW_STAT_SUCCESS) {
+ return NULL;
+ }
+ /* Allocate a buffer of the correct size */
+ size = (CXML_Vector_Metric_t)NW_WBXML_Writer_GetSize(dom_tree->writer);
+ buffer = NW_TinyTree_GetWritableBlock(&(dom_tree->tree), size, &offset);
+ if (buffer == NULL)
+ {
+ return NULL;
+ }
+
+ /* Set up the writer for actual writing */
+ NW_WBXML_Writer_SetToWrite(dom_tree->writer, size, buffer);
+ /* Do the write */
+ status = NW_Encoder_writeElementByToken(dom_tree->writer, token);
+ if (status != NW_STAT_SUCCESS) {
+ return NULL;
+ }
+
+ /* Point the node source offset at the new block */
+ node->source_offset = offset;
+ /* Mark node as attribute node */
+ NW_TinyTree_Node_setUserFlags(node, T_DOM_NODE_TAG);
+ return node;
+ }
+ return NULL;
+}
+
+
+NW_TinyTree_Node_t *
+NW_TinyDom_createElementByName(NW_TinyDom_Tree_t *dom_tree, NW_String_t *name)
+{
+ NW_Status_t status;
+ NW_TinyTree_Offset_t offset;
+
+ NW_TinyTree_Node_t * node = NW_TinyTree_createNode(&(dom_tree->tree),0);
+
+ if (node != NULL) {
+ NW_Uint8* buffer;
+ CXML_Vector_Metric_t size;
+
+ /* Set up the writer for a sizing pass */
+ NW_WBXML_Writer_SetToSizing(dom_tree->writer);
+ /* Call the writer to run the sizing pass */
+ status = NW_Encoder_writeElementByName(dom_tree->writer, name,
+ dom_tree->doc->charset);
+ if (status != NW_STAT_SUCCESS) {
+ return NULL;
+ }
+ /* Allocate a buffer of the correct size */
+ size = (CXML_Vector_Metric_t)NW_WBXML_Writer_GetSize(dom_tree->writer);
+ buffer = NW_TinyTree_GetWritableBlock(&(dom_tree->tree), size, &offset);
+ if (buffer == NULL)
+ {
+ return NULL;
+ }
+
+ /* Set up the writer for actual writing */
+ NW_WBXML_Writer_SetToWrite(dom_tree->writer, size, buffer);
+ /* Do the write */
+ status = NW_Encoder_writeElementByName(dom_tree->writer, name,
+ dom_tree->doc->charset);
+ if (status != NW_STAT_SUCCESS) {
+ return NULL;
+ }
+
+ /* Point the node source offset at the new block */
+ node->source_offset = offset;
+ /* Mark node as attribute node */
+ NW_TinyTree_Node_setUserFlags(node, T_DOM_NODE_TAG);
+ return node;
+ }
+ return NULL;
+}
+
+NW_TinyTree_Node_t *
+NW_TinyDom_createTextNode(NW_TinyDom_Tree_t *dom_tree,
+ NW_TinyDom_Text_t *text)
+{
+ NW_Status_t status;
+ NW_TinyTree_Offset_t offset;
+
+ NW_TinyTree_Node_t * node = NW_TinyTree_createNode(&(dom_tree->tree),0);
+
+ if (node != NULL) {
+ NW_Uint8* buffer;
+ CXML_Vector_Metric_t size;
+
+ /* Set up the writer for a sizing pass */
+ NW_WBXML_Writer_SetToSizing(dom_tree->writer);
+ /* Call the writer to run the sizing pass */
+ status = NW_Encoder_writeText(dom_tree->writer, text,
+ dom_tree->doc->charset);
+ if (status != NW_STAT_SUCCESS) {
+ return NULL;
+ }
+ /* Allocate a buffer of the correct size */
+ size = (CXML_Vector_Metric_t)NW_WBXML_Writer_GetSize(dom_tree->writer);
+ buffer = NW_TinyTree_GetWritableBlock(&(dom_tree->tree), size, &offset);
+ if (buffer == NULL)
+ {
+ return NULL;
+ }
+
+ /* Set up the writer for actual writing */
+ NW_WBXML_Writer_SetToWrite(dom_tree->writer, size, buffer);
+ /* Do the write */
+ status = NW_Encoder_writeText(dom_tree->writer, text,
+ dom_tree->doc->charset);
+ if (status != NW_STAT_SUCCESS) {
+ return NULL;
+ }
+ /* Point the node source offset at the new block */
+ node->source_offset = offset;
+ /* Mark node as attribute node */
+ NW_TinyTree_Node_setUserFlags(node, T_DOM_NODE_TEXT);
+ return node;
+ }
+ return NULL;
+}
+
+NW_Status_t
+NW_TinyDom_addDataFromTextItem(NW_TinyTree_t* tinyTree,
+ NW_TinyDom_Tree_t* tinyDomTree,
+ NW_DOM_TextNode_t* node,
+ NW_TinyDom_AttrVal_t* val,
+ NW_Uint32 encoding)
+{
+ void* existingBuffer;
+ NW_Uint8* buffer;
+ NW_TinyDom_TextHandle_t iterator;
+ NW_TinyDom_Text_t textItem;
+ CXML_Vector_Metric_t start = 0;
+ CXML_Vector_Metric_t valSize;
+ CXML_Vector_Metric_t existingSize;
+ CXML_Vector_Metric_t offset;
+ NW_Status_t status = NW_STAT_FAILURE;
+
+ switch (val->type) {
+ case NW_WBXML_ATTR_COMPONENT_STRING:
+ case NW_WBXML_ATTR_COMPONENT_EXT:
+ case NW_WBXML_ATTR_COMPONENT_ENTITY:
+ case NW_WBXML_ATTR_COMPONENT_OPAQUE:
+ NW_WBXML_Writer_SetToSizing(tinyDomTree->writer);
+ start
+ = (CXML_Vector_Metric_t)NW_WBXML_Writer_GetSize(tinyDomTree->writer);
+ status = NW_Encoder_writeAttrVal(tinyDomTree->writer, val,
+ encoding);
+ if (status != NW_STAT_SUCCESS) {
+ return status;
+ }
+ status = NW_WBXML_Writer_End(tinyDomTree->writer);
+ break;
+ }
+ if (status != NW_STAT_SUCCESS) {
+ return status;
+ }
+ valSize
+ = (CXML_Vector_Metric_t)(NW_WBXML_Writer_GetSize(tinyDomTree->writer)
+ - start);
+
+ /* existing content size */
+ NW_TinyDom_TextHandle_init(&iterator,
+ NW_TinyDom_getParser(tinyTree),
+ NW_TinyTree_Node_getSourceOffset(node));
+ start = (CXML_Vector_Metric_t)iterator.tlit.offset;
+ while (NW_TinyDom_TextHandle_iterate(&iterator, &textItem) != 0) {
+ /* empty loop body: we just want parser to advance */
+ }
+ existingSize = (CXML_Vector_Metric_t)(iterator.tlit.offset - start);
+ existingBuffer = NW_TinyTree_Node_getSourceAddress(tinyTree, node);
+
+ buffer = NW_TinyTree_GetWritableBlock(tinyTree,
+ ((CXML_Vector_Metric_t)
+ (valSize + existingSize)),
+ &offset);
+ if (buffer == NULL) {
+ return NW_STAT_OUT_OF_MEMORY;
+ }
+ NW_Mem_memcpy(buffer, existingBuffer, existingSize);
+ NW_WBXML_Writer_SetToWrite(tinyDomTree->writer,
+ valSize,
+ buffer + existingSize);
+ (void)NW_Encoder_writeAttrVal(tinyDomTree->writer, val, encoding);
+ (void)NW_WBXML_Writer_End(tinyDomTree->writer);
+
+ /* TBD there is no way to "free" the old storage */
+ node->source_offset = offset;
+ return NW_STAT_SUCCESS;
+}
+
+NW_Status_t
+NW_TinyDom_removeAttrFromListNode(NW_TinyDom_AttrListHandle_t *it, NW_Uint32 length)
+{
+ NW_Uint16 len = 0;
+ NW_Byte* p = NULL;
+ NW_Byte *moveTo = NULL;
+ NW_Byte *moveFrom = NULL;
+
+ p = (NW_Byte*)((NW_Byte*)it->segment + it->offset);
+ moveTo = (NW_Byte*)(p - length);
+ moveFrom = p;
+ while (*p != 0x01)
+ {
+ len++;
+ p++;
+ }
+ NW_Mem_memset(moveTo, 0, length);
+ NW_Mem_memmove(moveTo, moveFrom, (len+1));
+ return NW_STAT_SUCCESS;
+}
+
+
+
+
+
+
+
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/tinytree/include/nw_tinytree_alloc.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/tinytree/include/nw_tinytree_alloc.h Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,302 @@
+/*
+* Copyright (c) 2000 - 2001 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/** ----------------------------------------------------------------------- **
+ @package: NW_TinyTree
+
+ @synopsis: default
+
+ @description: default
+
+ ** ----------------------------------------------------------------------- **/
+
+#ifndef NW_TREE_ALLOC_H
+#define NW_TREE_ALLOC_H
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+
+#define MIN_SEGMENT_SIZE 64
+
+/* ----------------------------------------------------------------------- **
+ These methods are private to the tiny tree module.
+** ----------------------------------------------------------------------- **/
+
+
+/* ----------------------------------------------------------------------- **
+ Storage mananagement:
+
+ Header for a storage block. When the block is allocated by the
+ tree_alloc methods, the storage block will be contiguous with the
+ header. However, when the block was supplied externally (for
+ example, by the parser) the storage will be somewhere else.
+** ----------------------------------------------------------------------- **/
+
+
+/** ----------------------------------------------------------------------- **
+ @typedef: NW_TinyTree_RelativeOffset
+
+ @synopsis: Relative offset into structure.
+
+ @scope: public
+ @type: NW_Uint32
+
+ @description: Relative offset into structure.
+ ** ----------------------------------------------------------------------- **/
+typedef NW_Uint32 NW_TinyTree_RelativeOffset_t;
+
+
+/** ----------------------------------------------------------------------- **
+ @struct: NW_TinyTree_SegHeader
+
+ @synopsis: Segment header.
+
+ @scope: public
+ @variables:
+ NW_TinyTree_RelativeOffset_t next
+ Offset into segment.
+
+ NW_TinyTree_Offset_t size
+ Offset.
+
+ NW_TinyTree_Offset_t free_offset
+ Free offset.
+
+ void* initializer NW_Byte__ptr__NW_TinyTree_Offset_t
+ Funcion pointer for initializer.
+
+ NW_Byte* storage
+ Storage.
+
+ @description: Segment header.
+ ** ----------------------------------------------------------------------- **/
+typedef struct NW_TinyTree_SegHeader_s{
+ NW_TinyTree_RelativeOffset_t next;
+ NW_TinyTree_Offset_t size;
+ NW_TinyTree_Offset_t free_offset;
+ void (*initializer) (NW_Byte*, NW_TinyTree_Offset_t);
+ NW_Byte* storage;
+} NW_TinyTree_SegHeader_t;
+
+
+/** ----------------------------------------------------------------------- **
+ @function: NW_TinyTree_segmentGetFreeSpace
+
+ @synopsis: Get free space.
+
+ @scope: public
+
+ @parameters:
+ [in] NW_TinyTree_SegHeader_t* segment
+ The segment header.
+
+ @description: Get free space.
+
+ @returns: NW_TinyTree_Offset_t
+ Free space pointer.
+
+ ** ----------------------------------------------------------------------- **/
+NW_TinyTree_Offset_t
+NW_TinyTree_segmentGetFreeSpace(NW_TinyTree_SegHeader_t* segment);
+
+
+/** ----------------------------------------------------------------------- **
+ @function: NW_TinyTree_getFreeStorageSpace
+
+ @synopsis: Get free storage space.
+
+ @scope: public
+
+ @parameters:
+ [in] NW_TinyTree_SegHeader_t* base
+ The segment header.
+
+ @description: Get free storage space.
+
+ @returns: NW_TinyTree_Offset_t
+ Free storage space pointer.
+
+ ** ----------------------------------------------------------------------- **/
+NW_TinyTree_Offset_t
+NW_TinyTree_getFreeStorageSpace(NW_TinyTree_SegHeader_t* base);
+
+
+/** ----------------------------------------------------------------------- **
+ @function: NW_TinyTree_addSegment
+
+ @synopsis: Add segment.
+
+ @scope: public
+
+ @parameters:
+ [in] NW_TinyTree_SegHeader_t* base
+ The segment header.
+
+ [in] NW_TinyTree_Offset_t size
+ Size of new segment.
+
+ @description: Add segment.
+
+ @returns: NW_TinyTree_SegHeader_t*
+ New header.
+
+ ** ----------------------------------------------------------------------- **/
+NW_TinyTree_SegHeader_t*
+NW_TinyTree_addSegment(NW_TinyTree_SegHeader_t* base, NW_TinyTree_Offset_t size);
+
+
+/** ----------------------------------------------------------------------- **
+ @function: NW_TinyTree_freeSegments
+
+ @synopsis: Free segments.
+
+ @scope: public
+
+ @parameters:
+ [in] NW_TinyTree_SegHeader_t* base
+ The segment header.
+
+ @description: Free segments.
+ ** ----------------------------------------------------------------------- **/
+void
+NW_TinyTree_freeSegments(NW_TinyTree_SegHeader_t* base);
+
+
+/** ----------------------------------------------------------------------- **
+ @function: NW_TinyTree_offsetGetSegment
+
+ @synopsis: Get segment header.
+
+ @scope: public
+
+ @parameters:
+ [in] NW_TinyTree_SegHeader_t* base
+ The segment header.
+
+ [out] NW_TinyTree_Offset_t* offset
+ Data offset.
+
+ @description: Get the segment header associated with an offset. This
+ allocates a new segment if the offset is beyond any
+ currently allocated segment. If a new segment is
+ allocated, the offset is readjusted to the beginning of
+ the new segment.
+
+ @returns: NW_TinyTree_SegHeader_t*
+ Segment header or NULL if error.
+
+ ** ----------------------------------------------------------------------- **/
+NW_TinyTree_SegHeader_t*
+NW_TinyTree_offsetGetSegment(NW_TinyTree_SegHeader_t* base, NW_TinyTree_Offset_t* offset);
+
+
+/** ----------------------------------------------------------------------- **
+ @function: NW_TinyTree_offsetIncrement
+
+ @synopsis: Increment.
+
+ @scope: public
+
+ @parameters:
+ [in] NW_TinyTree_SegHeader_t* base
+ The segment header.
+
+ [in] NW_TinyTree_Offset_t offset
+ Offset.
+
+ [in] NW_TinyTree_Offset_t delta
+ Delta.
+
+ @description: Increment.
+
+ @returns: NW_TinyTree_Offset_t
+ New offset.
+
+ ** ----------------------------------------------------------------------- **/
+NW_TinyTree_Offset_t
+NW_TinyTree_offsetIncrement(NW_TinyTree_SegHeader_t* base,
+ NW_TinyTree_Offset_t offset,
+ NW_TinyTree_Offset_t delta);
+
+
+/** ----------------------------------------------------------------------- **
+ @function: NW_TinyTree_addressGetSegment
+
+ @synopsis: Get segment.
+
+ @scope: public
+
+ @parameters:
+ [in] NW_TinyTree_SegHeader_t* base
+ The segment header.
+
+ [out] NW_Byte** address
+ Address of segment.
+
+ @description: Get the segment header associated with an offset.
+ This allocates a new segment if the offset is beyond
+ any currently allocated segment. If a new segment is
+ allocated, the offset is readjusted to the beginning
+ of the new segment.
+
+ @returns: NW_TinyTree_SegHeader_t*
+ The segment header.
+
+ ** ----------------------------------------------------------------------- **/
+NW_TinyTree_SegHeader_t*
+NW_TinyTree_addressGetSegment(NW_TinyTree_SegHeader_t* base,
+ NW_Byte** address);
+
+
+/** ----------------------------------------------------------------------- **
+ @function: NW_TinyTree_addressIncrement
+
+ @synopsis: Increment.
+
+ @scope: public
+
+ @parameters:
+ [in] NW_TinyTree_SegHeader_t* base
+ The segment header.
+
+ [in] NW_Byte* address
+ Address to increment.
+
+ [in] NW_TinyTree_Offset_t delta
+ Delta.
+
+ @description: Increment.
+
+ @returns: NW_Byte*
+ New address.
+
+ ** ----------------------------------------------------------------------- **/
+NW_Byte*
+NW_TinyTree_addressIncrement(NW_TinyTree_SegHeader_t* base,
+ NW_Byte* address,
+ NW_TinyTree_Offset_t delta);
+
+
+#ifdef __cplusplus
+} // extern "C" {
+#endif /* __cplusplus */
+
+#endif /* NW_TREE_ALLOC_H */
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/tinytree/src/EBuffer.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/tinytree/src/EBuffer.c Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,355 @@
+/*
+* Copyright (c) 2000 - 2001 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "cxml_internal.h"
+#include
+
+/* ------------------------------------------------------------------------- *
+ private methods
+ * ------------------------------------------------------------------------- */
+
+/* Get the index corresponding to the first element in a segment.
+ * This can be added to an offset within the segment to get the
+ * index of any element
+ */
+
+static
+CXML_Vector_Metric_t
+NW_TinyTree_EBuffer_GetFirstIndex(NW_TinyTree_EBuffer_t* ebuffer,
+ CXML_Vector_Metric_t segNum)
+{
+ CXML_Vector_Metric_t currentSegment;
+ NW_TinyTree_Segment_t* segment;
+ CXML_Vector_Metric_t firstIndex = 0;
+
+ NW_ASSERT(segNum < ebuffer->numSegments);
+
+ for (currentSegment = 0; currentSegment < segNum; currentSegment++){
+ segment = &(ebuffer->segmentList[currentSegment]);
+ firstIndex = (CXML_Vector_Metric_t)(firstIndex + segment->segmentSize);
+ }
+
+ return firstIndex;
+}
+
+/* Find a free block of a given size. This duplicates a bit of code from
+ * GetFirstIndex in order to avoid repeated iteration over the buffer list.
+ */
+
+static
+NW_Uint8*
+NW_TinyTree_EBuffer_FindFreeBlock(NW_TinyTree_EBuffer_t* ebuffer,
+ CXML_Vector_Metric_t size,
+ CXML_Vector_Metric_t *index) /* OUT */
+{
+ CXML_Vector_Metric_t currentSegment;
+ NW_TinyTree_Segment_t* segment;
+ CXML_Vector_Metric_t firstIndex = 0;
+ NW_Uint8* storage;
+
+ *index = CXML_Vector_AtEnd;
+
+ for (currentSegment = 0; currentSegment < ebuffer->numSegments; currentSegment++){
+ segment = &(ebuffer->segmentList[currentSegment]);
+
+ if((segment->segmentSize - segment->freeOffset) >= size){
+ *index = (CXML_Vector_Metric_t)(firstIndex + segment->freeOffset);
+ storage = segment->storage + segment->freeOffset;
+ segment->freeOffset = (CXML_Vector_Metric_t)(segment->freeOffset + size);
+ return storage;
+ }
+ firstIndex = (CXML_Vector_Metric_t)(firstIndex + segment->segmentSize);
+ }
+ return 0;
+}
+
+static
+NW_Status_t
+NW_TinyTree_EBuffer_GrowSegmentList(NW_TinyTree_EBuffer_t* ebuffer){
+
+ CXML_Vector_Metric_t newSegmentListSize;
+ NW_TinyTree_Segment_t* newSegmentList;
+
+
+ /* Since any new allocation is a continuous block contained in a
+ * single segment, we grow the segment list by a constant amount
+ */
+
+ newSegmentListSize =
+ (NW_Uint8)(ebuffer->segmentListSize + CXML_SEGMENT_LIST_INCREMENT);
+
+ /* if(newSegmentListSize == 0) then it means that there is overflow in the
+ * newSegmentListSize so return with error here.
+ */
+
+ if(newSegmentListSize == 0)
+ {
+ return NW_STAT_OUT_OF_MEMORY;
+ }
+
+
+ newSegmentList =
+ (NW_TinyTree_Segment_t*) NW_Mem_Malloc (newSegmentListSize * sizeof (*newSegmentList));
+
+ if (newSegmentList == NULL) {
+ return NW_STAT_OUT_OF_MEMORY;
+ }
+
+ /* Copy the old segment list */
+
+ (void) NW_Mem_memcpy (newSegmentList, ebuffer->segmentList,
+ ebuffer->numSegments * sizeof (*newSegmentList));
+
+ /* Free the old segment list and install the new */
+
+ NW_Mem_Free (ebuffer->segmentList);
+ ebuffer->segmentList = newSegmentList;
+ ebuffer->segmentListSize = newSegmentListSize;
+ return NW_STAT_SUCCESS;
+}
+
+
+/*
+ * Allocate a new segment that holds a block of a given size.
+ */
+
+static
+NW_Uint8*
+NW_TinyTree_EBuffer_AllocSegment(NW_TinyTree_EBuffer_t* ebuffer,
+ CXML_Vector_Metric_t size,
+ CXML_Vector_Metric_t *index) /* OUT */
+{
+ NW_TinyTree_Segment_t* segment;
+
+ *index = CXML_Vector_AtEnd;
+
+ /* Make sure the segment list is big enough to hold the new segment */
+
+ if(ebuffer->numSegments == ebuffer->segmentListSize){
+ NW_TinyTree_EBuffer_GrowSegmentList(ebuffer);
+ }
+
+ /* The new segment is the first unused segment in the list */
+ segment = &(ebuffer->segmentList[ebuffer->numSegments]);
+
+ /* Increment the segment count */
+ ebuffer->numSegments = (CXML_Vector_Metric_t)(ebuffer->numSegments + 1);
+
+ /* Allocate segment storage with enough contiguous blocks to hold the requested size */
+
+ segment->segmentSize =
+ (CXML_Vector_Metric_t)(((size - 1) / ebuffer->blockSize + 1) * ebuffer->blockSize);
+
+ segment->storage = (NW_Uint8*)(NW_Mem_Malloc(segment->segmentSize));
+
+ if(segment->storage == 0){
+ segment->segmentSize = 0;
+ return 0;
+ }
+
+ /* Free offset goes at end of allocated block */
+ segment->freeOffset = size;
+
+ /* Get the first index of the newly allocated segment */
+ *index = NW_TinyTree_EBuffer_GetFirstIndex(ebuffer, (CXML_Vector_Metric_t)(ebuffer->numSegments - 1));
+
+ return segment->storage;
+}
+
+
+
+/* ------------------------------------------------------------------------- *
+ virtual methods
+ * ------------------------------------------------------------------------- */
+
+/* ------------------------------------------------------------------------- */
+NW_TinyTree_EBuffer_t*
+NW_TinyTree_EBuffer_Construct (NW_Uint8* initialBuffer,
+ CXML_Vector_Metric_t initBuffSize,
+ CXML_Vector_Metric_t blockSize,
+ NW_Bool freeBuff)
+{
+ NW_TinyTree_EBuffer_t* thisObj = (NW_TinyTree_EBuffer_t*)
+ NW_Mem_Malloc(sizeof(NW_TinyTree_EBuffer_t));
+
+ if(thisObj)
+ {
+ /* initialize the object */
+ thisObj->blockSize = blockSize;
+ thisObj->ownFirstBlock = freeBuff;
+ thisObj->segmentListSize = CXML_SEGMENT_LIST_INCREMENT;
+ NW_ASSERT(thisObj->segmentListSize > 0);
+ thisObj->segmentList = (NW_TinyTree_Segment_t*)
+ NW_Mem_Malloc (thisObj->segmentListSize * sizeof (*thisObj->segmentList));
+ if (thisObj->segmentList == NULL)
+ {
+ NW_Mem_Free(thisObj);
+ return NULL;
+ }
+ if (initialBuffer != NULL)
+ {
+ NW_ASSERT(initBuffSize != 0);
+ thisObj->segmentList[0].storage = initialBuffer;
+ thisObj->segmentList[0].segmentSize = initBuffSize;
+ thisObj->segmentList[0].freeOffset = initBuffSize;
+ thisObj->numSegments = 1;
+ }
+ else
+ {
+ /* If there's no first block, then we ignore the free flag passed in
+ * since we will be allocating the first block and thus must free it
+ */
+ thisObj->ownFirstBlock = NW_TRUE;
+ thisObj->numSegments = 0;
+ }
+ }
+ return thisObj;
+}
+
+/* ------------------------------------------------------------------------- */
+void
+NW_TinyTree_EBuffer_Destruct (NW_TinyTree_EBuffer_t* thisObj)
+{
+ CXML_Vector_Metric_t index;
+
+ /* release our resources */
+ for (index = 0; index < thisObj->numSegments; index++) {
+ if((index == 0) && (thisObj->ownFirstBlock == NW_FALSE)){
+ continue;
+ }
+ NW_Mem_Free (thisObj->segmentList[index].storage);
+ }
+ NW_Mem_Free (thisObj->segmentList);
+ NW_Mem_Free (thisObj);
+}
+
+
+/* ------------------------------------------------------------------------- *
+ final methods
+ * ------------------------------------------------------------------------- */
+
+
+/* Get an unused block of a given size. Returns the address of the
+ * block. Also returns an index (via the index OUT parameter) that can
+ * be used for later lookups of the block.
+*/
+
+NW_Uint8*
+NW_TinyTree_EBuffer_GetWritableBlock(NW_TinyTree_EBuffer_t* ebuffer,
+ CXML_Vector_Metric_t size,
+ CXML_Vector_Metric_t *index) /* OUT */
+{
+ NW_Uint8* storage;
+
+ NW_ASSERT(ebuffer != NULL);
+
+ /* First try to get an existing free block that's big enough */
+
+ storage = NW_TinyTree_EBuffer_FindFreeBlock(ebuffer, size, index);
+ if(storage != 0){
+ return storage;
+ }
+
+ /* Otherwise, allocate a new segment that holds a block of the right size */
+
+ return NW_TinyTree_EBuffer_AllocSegment(ebuffer, size, index);
+}
+
+
+/* Get a segment address and an offset corresponding to a given
+ * index. Also returns the segment size.
+ */
+
+NW_Status_t
+NW_TinyTree_EBuffer_GetSegmentAndOffset(NW_TinyTree_EBuffer_t* ebuffer,
+ CXML_Vector_Metric_t index,
+ NW_Uint8 ** segmentAddr, /* OUT */
+ CXML_Vector_Metric_t* segSize, /* OUT */
+ CXML_Vector_Metric_t* offset){ /* OUT */
+
+ CXML_Vector_Metric_t currentSegment;
+ NW_TinyTree_Segment_t* segment;
+ CXML_Vector_Metric_t firstIndex = 0;
+
+ NW_ASSERT(ebuffer != NULL);
+ NW_ASSERT(segmentAddr != NULL);
+ NW_ASSERT(segSize != NULL);
+ NW_ASSERT(offset != NULL);
+
+ for (currentSegment = 0; currentSegment < ebuffer->numSegments; currentSegment++){
+ segment = &(ebuffer->segmentList[currentSegment]);
+ if(index < (firstIndex + segment->segmentSize)){
+ *segmentAddr = segment->storage;
+ *segSize = segment->segmentSize;
+ *offset = (CXML_Vector_Metric_t)(index - firstIndex);
+ return NW_STAT_SUCCESS;
+ }
+ firstIndex = (CXML_Vector_Metric_t)(firstIndex + segment->segmentSize);
+ }
+
+ return NW_STAT_FAILURE;
+}
+
+/* Get an index from a segment and offset */
+
+NW_Status_t
+NW_TinyTree_EBuffer_GetIndex(NW_TinyTree_EBuffer_t* ebuffer,
+ NW_Uint8* segmentAddr,
+ CXML_Vector_Metric_t offset,
+ CXML_Vector_Metric_t* index) /* OUT */
+
+{
+
+ CXML_Vector_Metric_t currentSegment;
+ NW_TinyTree_Segment_t* segment;
+ CXML_Vector_Metric_t firstIndex = 0;
+
+ NW_ASSERT(ebuffer != NULL);
+
+ for (currentSegment = 0; currentSegment < ebuffer->numSegments; currentSegment++){
+ segment = &(ebuffer->segmentList[currentSegment]);
+ if(segmentAddr == segment->storage){
+ *index = (CXML_Vector_Metric_t)(firstIndex + offset);
+ return NW_STAT_SUCCESS;
+ }
+ firstIndex = (CXML_Vector_Metric_t)(firstIndex + segment->segmentSize);
+ }
+
+ return NW_STAT_FAILURE;
+}
+
+
+/* Get the address corresponding to a given index */
+
+NW_Uint8*
+NW_TinyTree_EBuffer_AddressAt(NW_TinyTree_EBuffer_t* ebuffer,
+ CXML_Vector_Metric_t index){
+
+ NW_Uint8* segmentAddr;
+ CXML_Vector_Metric_t segSize;
+ CXML_Vector_Metric_t offset;
+ NW_Status_t status;
+
+ NW_ASSERT(ebuffer != NULL);
+
+ status = NW_TinyTree_EBuffer_GetSegmentAndOffset(ebuffer, index, &segmentAddr, &segSize, &offset);
+ if(status == NW_STAT_SUCCESS){
+ return segmentAddr + offset;
+ }
+ return 0;
+
+}
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/tinytree/src/TreeVector.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/tinytree/src/TreeVector.c Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,71 @@
+/*
+* Copyright (c) 2000 - 2001 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include "cxml_internal.h"
+#include
+#include
+/* ------------------------------------------------------------------------- */
+
+NW_TinyTree_TreeVector_t*
+NW_TinyTree_TreeVector_Construct (CXML_Vector_Metric_t elementSize,
+ CXML_Vector_Metric_t segmentSize,
+ NW_TinyTree_t *tree)
+{
+ NW_TinyTree_TreeVector_t* thisObj;
+
+
+ /* for convenience */
+ thisObj = (NW_TinyTree_TreeVector_t*) NW_Mem_Malloc (sizeof(NW_TinyTree_TreeVector_t));
+ if(thisObj == NULL)
+ {
+ return NULL;
+ }
+
+ thisObj->vector = CXML_Vector_Construct(elementSize, segmentSize);
+ if (thisObj->vector == NULL)
+ {
+ NW_Mem_Free (thisObj);
+ return NULL;
+ }
+
+ /* initialize the object */
+ thisObj->tree = tree;
+ thisObj->lastValid = -1;
+ /* successful completion */
+ return thisObj;
+}
+
+/* Override the base class to account for the sentinel at the beginning of each
+ * segment
+ */
+
+void
+NW_TinyTree_TreeVector_Destruct (NW_TinyTree_TreeVector_t* thisObj)
+{
+ if(thisObj->vector)
+ {
+ /* Adjest the sentinel in the vector */
+ CXML_Vector_AdjustSegment(thisObj->vector);
+
+ /* Destroy the vector */
+ CXML_Vector_Destruct(thisObj->vector);
+ }
+ NW_Mem_Free (thisObj);
+}
+
+
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/tinytree/src/tree.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/tinytree/src/tree.c Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,730 @@
+/*
+* Copyright (c) 2000 - 2001 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include
+#include "cxml_vector.h"
+
+NW_TinyTree_t*
+NW_TinyTree_new(){
+ NW_TinyTree_t* tree = (NW_TinyTree_t*) NW_Mem_Malloc (sizeof(NW_TinyTree_t));
+ if (tree != NULL){
+ tree->tree = NULL;
+ tree->root_index = 0;
+ tree->ebuffer = NULL;
+ tree->context = NULL;
+ }
+ return tree;
+}
+
+NW_Status_t
+NW_TinyTree_construct(NW_TinyTree_t *tree,
+ CXML_Vector_Metric_t initialNodeCount,
+ void *buffer,
+ NW_TinyTree_Offset_t buffsz,
+ void *context,
+ NW_Bool freeBuff){
+
+ NW_ASSERT(tree != NULL);
+
+ tree->tree =
+ NW_TinyTree_TreeVector_Construct (sizeof(NW_TinyTree_Node_t),
+ initialNodeCount,
+ tree);
+ if(tree->tree == NULL) {
+ return NW_STAT_OUT_OF_MEMORY;
+ }
+
+ /* Make the supplied buffer the first ebuffer segment */
+ tree->ebuffer = NW_TinyTree_EBuffer_Construct((NW_Uint8*) buffer,
+ buffsz,
+ NW_TINY_TREE_BLOCK_SIZE_DEFAULT,
+ freeBuff);
+ if(tree->ebuffer == NULL){
+ NW_TinyTree_TreeVector_Destruct(tree->tree);
+ tree->tree = NULL;
+ return NW_STAT_OUT_OF_MEMORY;
+ }
+
+ /* Init the rest of the tree */
+ tree->root_index = 0;
+ tree->context = context;
+ return NW_STAT_SUCCESS;
+}
+
+void
+NW_TinyTree_destruct(NW_TinyTree_t *tree)
+{
+ if (tree != NULL){
+ if (tree->tree != NULL) {
+ NW_TinyTree_TreeVector_Destruct (tree->tree);
+ }
+ if (tree->ebuffer != NULL){
+ NW_TinyTree_EBuffer_Destruct (tree->ebuffer);
+ }
+ tree->tree = NULL;
+ tree->root_index = 0;
+ tree->ebuffer = NULL;
+ tree->context = NULL;
+ }
+}
+
+static
+NW_TinyTree_Node_t*
+NW_TinyTree_appendNodeAt(NW_TinyTree_t *tree,
+ NW_TinyTree_Node_t *node,
+ NW_TinyTree_Index_t index){
+ NW_TinyTree_TreeNode_t* sentinel;
+ NW_TinyTree_Node_t* retNode = NULL;
+
+
+ NW_ASSERT(tree != NULL);
+ NW_ASSERT(tree->tree != NULL);
+ NW_ASSERT(node != NULL);
+
+ sentinel = (NW_TinyTree_TreeNode_t*) NW_Mem_Malloc(sizeof(NW_TinyTree_TreeNode_t));
+ if(sentinel == NULL){
+ return NULL;
+ }
+ sentinel->flags = TNODE_FLAG_TREE;
+ sentinel->tree = tree;
+
+ /* Add the new element at the specified index */
+ retNode = (NW_TinyTree_Node_t*)
+ CXML_Vector_InsertAt(tree->tree->vector, (void*)node, index, sentinel);
+ NW_Mem_Free(sentinel);
+ return retNode;
+}
+
+/* Add a node, appending storage to the tree vector.
+ * The appended node is created as an orphan and needs to be attached
+ * to the tree somewhere.
+ */
+
+static
+NW_TinyTree_Node_t*
+NW_TinyTree_appendNode(NW_TinyTree_t *tree,
+ NW_TinyTree_Node_t *node){
+
+ NW_ASSERT(tree != NULL);
+ NW_ASSERT(node != NULL);
+
+ /* Add the new element */
+
+ return NW_TinyTree_appendNodeAt(tree, node, CXML_Vector_AtEnd);
+}
+
+
+/* Get the node at a given index */
+
+static
+NW_TinyTree_Node_t*
+NW_TinyTree_getNode(NW_TinyTree_t *tree,
+ NW_TinyTree_Index_t index){
+
+ NW_ASSERT(tree != NULL);
+ NW_ASSERT(tree->tree != NULL);
+ NW_ASSERT(tree->tree->vector != NULL);
+ NW_ASSERT(index > 0);
+
+ return (NW_TinyTree_Node_t*)
+ CXML_Vector_ElementAt(tree->tree->vector, (CXML_Vector_Metric_t)index);
+}
+
+/*
+* Create an unattached node which references the source buffer at offset.
+*/
+
+NW_TinyTree_Node_t*
+NW_TinyTree_createNode(NW_TinyTree_t* tree,
+ NW_TinyTree_Offset_t offset){
+
+ NW_TinyTree_Node_t node;
+
+ NW_ASSERT(tree != NULL);
+ NW_ASSERT(tree->tree != NULL);
+ /* The root must have been set before creating any new nodes */
+ NW_ASSERT(tree->root_index == 1);
+
+ /* Initialize a node on the stack */
+ node.source_offset = offset;
+ node.flags = 0;
+ node.first_child = 0;
+ node.next_sibling = 0;
+ node.tree = tree;
+ node.token = 0;
+ /* Copy this into the tree */
+ return NW_TinyTree_appendNode(tree, &node);
+}
+
+/*
+* Create a root node which references the source buffer at offset.
+* Returns a pointer to the root node.
+*/
+
+NW_TinyTree_Node_t*
+NW_TinyTree_setRoot(NW_TinyTree_t *tree,
+ NW_TinyTree_Offset_t offset){
+
+ NW_TinyTree_Node_t root_node;
+
+ NW_ASSERT(tree != NULL);
+ NW_ASSERT(tree->tree != NULL);
+ /* The root must not have set been already */
+ NW_ASSERT(tree->root_index == 0);
+
+ tree->root_index = 1;
+ root_node.source_offset = offset;
+ root_node.flags = TNODE_FLAG_ROOT;
+ root_node.first_child = 0;
+ root_node.next_sibling = 0;
+ root_node.tree = tree;
+ root_node.token = 0;
+ /* TODO: make this a dummy element! */
+ if (NW_TinyTree_appendNodeAt(tree, &root_node, 0) == NULL) {
+ return NULL;
+ }
+
+ return NW_TinyTree_appendNodeAt(tree, &root_node, tree->root_index);
+}
+
+/*
+* Get the root node of the tree.
+*/
+
+NW_TinyTree_Node_t*
+NW_TinyTree_getRoot(NW_TinyTree_t *tree){
+
+ NW_ASSERT(tree != NULL);
+ /* Return NULL if not set */
+ if(tree->root_index == 0)
+ return NULL;
+ return NW_TinyTree_getNode(tree, tree->root_index);
+}
+
+NW_TinyTree_Node_t*
+NW_TinyTree_findNextSibling(NW_TinyTree_Node_t *node){
+
+ NW_ASSERT(node != NULL);
+
+ if (((node->flags & TNODE_FLAG_LASTSIBLING) == TNODE_FLAG_LASTSIBLING)
+ || (node->next_sibling == 0)) {
+ return NULL;
+ }
+
+ return node->next_sibling;
+}
+
+/* Find last sibling address */
+
+NW_TinyTree_Node_t*
+NW_TinyTree_findLastSibling(NW_TinyTree_Node_t *node)
+{
+ NW_TinyTree_Node_t* sibling = node;
+
+ NW_ASSERT(node != NULL);
+
+ while (((sibling->flags & TNODE_FLAG_LASTSIBLING) != TNODE_FLAG_LASTSIBLING)
+ && (sibling->next_sibling != 0)) {
+ sibling = sibling->next_sibling;
+ }
+
+ /* Because the array always starts with the tree node, no node ever has index 0 */
+ if(sibling == node)
+ return NULL;
+
+ return sibling;
+}
+
+NW_TinyTree_Node_t*
+NW_TinyTree_findFirstChild(NW_TinyTree_Node_t *node)
+{
+ NW_ASSERT(node != NULL);
+ return node->first_child;
+}
+
+
+/*
+* Find a node's last child
+*/
+
+NW_TinyTree_Node_t*
+NW_TinyTree_findLastChild(NW_TinyTree_Node_t* node){
+
+ NW_TinyTree_Node_t* first;
+ NW_TinyTree_Node_t* last;
+
+ NW_ASSERT(node != NULL);
+
+ first = NW_TinyTree_findFirstChild(node);
+
+ if(first == NULL){
+ return NULL; /* No children */
+ }
+
+ last = NW_TinyTree_findLastSibling(first);
+
+ if(last == NULL){ /* No siblings, only child */
+ return first;
+ }
+
+ return last;
+}
+
+/*
+* Get a node's parent
+*/
+
+NW_TinyTree_Node_t*
+NW_TinyTree_findParent(NW_TinyTree_Node_t *node)
+{
+
+ NW_TinyTree_Node_t *last_sibling;
+
+ NW_ASSERT(node != NULL);
+
+ /* Is this the root node ? */
+ if((node->flags & TNODE_FLAG_ROOT) == TNODE_FLAG_ROOT)
+ return NULL;
+
+ /* Is next sibling zero ? */
+ if (node->next_sibling == 0)
+ return NULL;
+
+ /* The next sibling index of the last sibling points back to parent */
+
+ last_sibling = NW_TinyTree_findLastSibling(node);
+
+ if (last_sibling == NULL){
+ last_sibling = node; /* No siblings */
+ }
+
+ return last_sibling->next_sibling;
+}
+
+
+/*
+* Attach a node as a sibling after another node.
+*/
+
+NW_Status_t
+NW_TinyTree_attachAfter(NW_TinyTree_Node_t *node,
+ NW_TinyTree_Node_t *sibling)
+{
+ NW_ASSERT(node != NULL);
+ NW_ASSERT(sibling != NULL);
+
+ if((node->flags & TNODE_FLAG_LASTSIBLING) == TNODE_FLAG_LASTSIBLING){
+ node->flags &= ~TNODE_FLAG_LASTSIBLING;
+ sibling->flags |= TNODE_FLAG_LASTSIBLING;
+ }
+
+ sibling->next_sibling = node->next_sibling;
+ node->next_sibling = sibling;
+ return NW_STAT_SUCCESS;
+}
+
+NW_TinyTree_Node_t*
+NW_TinyTree_findPreviousSibling(NW_TinyTree_Node_t *node){
+
+ NW_TinyTree_Node_t *sibling;
+ NW_TinyTree_Node_t *parent;
+
+ NW_ASSERT(node != NULL);
+
+ /* First find the parent */
+ parent = NW_TinyTree_findParent(node);
+
+ if(parent == NULL)
+ return NULL;
+
+ /* Then get first child */
+ sibling = NW_TinyTree_findFirstChild(parent);
+ NW_ASSERT(sibling != NULL);
+ if(sibling == node)
+ return NULL; /* Only child */
+
+ /* Find a sibling whose next_sibling points to me */
+ while(sibling->next_sibling != node){
+ NW_ASSERT(sibling->next_sibling != NULL);
+ sibling = sibling->next_sibling;
+ }
+ return sibling;
+}
+
+/*
+* Attach a node as a sibling before another node.
+*/
+
+NW_Status_t
+NW_TinyTree_attachBefore(NW_TinyTree_Node_t *node,
+ NW_TinyTree_Node_t *sibling)
+{
+ NW_TinyTree_Node_t *previous = NW_TinyTree_findPreviousSibling(node);
+
+ NW_ASSERT(node != NULL);
+ NW_ASSERT(sibling != NULL);
+
+ /* Has a previous sibling, insert after */
+ if(previous != NULL){
+ NW_TinyTree_attachAfter(previous, sibling);
+ return NW_STAT_SUCCESS;
+ }
+
+ /*Otherwise, insert as first child */
+ previous = NW_TinyTree_findParent(node);
+ if(previous == NULL)
+ return NW_STAT_FAILURE; /* TODO: return a more descriptive error status */
+
+ previous->first_child = sibling;
+ /*lint -e{794} Conceivable use of null pointer */
+ sibling->next_sibling = node;
+
+ return NW_STAT_SUCCESS;
+}
+
+/*
+* Attach a child (as last child) to a node
+*/
+
+NW_Status_t
+NW_TinyTree_attachChild(NW_TinyTree_Node_t *node,
+ NW_TinyTree_Node_t *child)
+{
+ NW_TinyTree_Node_t *last_child = NW_TinyTree_findLastChild(node);
+
+ NW_ASSERT(node != NULL);
+ NW_ASSERT(child != NULL);
+
+ /* If there are no children, attach as first child */
+ if(last_child == NULL){
+ node->first_child = child;
+ /* Point child's next_sibling back to parent and set LASTSIBLING flag */
+ child->next_sibling = node;
+ child->flags |= TNODE_FLAG_LASTSIBLING;
+ return NW_STAT_SUCCESS;
+ }
+ /* Else attach as sibling to last child */
+ else{
+ return NW_TinyTree_attachAfter(last_child, child);
+ }
+}
+
+NW_Status_t
+NW_TinyTree_deleteNode(NW_TinyTree_Node_t *node)
+{
+ NW_ASSERT(node != NULL);
+
+ /* If not the root node, then adjust parent or sibling indexes */
+ if((node->flags & TNODE_FLAG_ROOT)!= TNODE_FLAG_ROOT){
+ NW_TinyTree_Node_t *previous_sibling;
+ previous_sibling = NW_TinyTree_findPreviousSibling(node);
+ /* If we are first child, modify parent's first_child index */
+ if(previous_sibling == NULL){
+ NW_TinyTree_Node_t *parent = NW_TinyTree_findParent(node);
+ NW_ASSERT(parent != NULL);
+ /* If also last child (i.e. only child) */
+ if((node->flags & TNODE_FLAG_LASTSIBLING) == TNODE_FLAG_LASTSIBLING){
+ /* Zero the parent's child index */
+ parent->first_child = 0;
+ }
+ /* Not only child */
+ else{
+ /* Move parent child offset to my next sibling */
+ parent->first_child = node->next_sibling;
+ }
+ }
+ /* Not the first child */
+ else {
+ /* Adjust previous sibling next_sibling index */
+ previous_sibling->next_sibling = node->next_sibling;
+ if((node->flags & TNODE_FLAG_LASTSIBLING) == TNODE_FLAG_LASTSIBLING){
+ previous_sibling->flags |= TNODE_FLAG_LASTSIBLING;
+ }
+ }
+ }
+
+ /* Note that we don't actually remove the node from the tree vector
+ * since this may cause other nodes to be moved, invalidating any
+ * references to them.
+ */
+
+ return NW_STAT_SUCCESS;
+}
+
+NW_Status_t
+NW_TinyTree_setContext(NW_TinyTree_t *tree,
+ void *context){
+ NW_ASSERT(tree != NULL);
+ tree->context = context;
+ return NW_STAT_SUCCESS;
+}
+
+void*
+NW_TinyTree_getContext(NW_TinyTree_t *tree){
+ NW_ASSERT(tree != NULL);
+ return tree->context;
+}
+
+NW_Uint16
+NW_TinyTree_Node_getFlags(NW_TinyTree_Node_t *node){
+ NW_ASSERT(node != NULL);
+ return node->flags;
+}
+
+NW_Status_t
+NW_TinyTree_Node_setUserFlags(NW_TinyTree_Node_t *node,
+ NW_Uint16 flags){
+ NW_ASSERT(node != NULL);
+ node->flags &= ~TNODE_USR_FLAGS; /*Zero user flags */
+ node->flags |= (flags & TNODE_USR_FLAGS);
+ return NW_STAT_SUCCESS;
+}
+
+NW_TinyTree_Offset_t
+NW_TinyTree_Node_getSourceOffset(NW_TinyTree_Node_t *node){
+ NW_ASSERT(node != NULL);
+
+ return node->source_offset;
+}
+
+void *
+NW_TinyTree_Node_getSourceAddress(NW_TinyTree_t *tree,
+ NW_TinyTree_Node_t* node){
+
+ NW_ASSERT(node != NULL);
+ NW_ASSERT(tree != NULL);
+
+ /*lint -e{794} Conceivable use of null pointer */
+ return (void *)(NW_TinyTree_EBuffer_AddressAt(tree->ebuffer,
+ node->source_offset));
+}
+
+
+NW_Status_t
+NW_TinyTree_Node_GetSegmentAndOffset(NW_TinyTree_t* tree,
+ NW_TinyTree_Node_t* node,
+ NW_Uint8** segment,
+ NW_TinyTree_Offset_t* segSize,
+ NW_TinyTree_Offset_t* offset) {
+ NW_ASSERT(tree != NULL);
+ NW_ASSERT(node != NULL);
+
+ return NW_TinyTree_EBuffer_GetSegmentAndOffset(tree->ebuffer,
+ node->source_offset,
+ segment,
+ segSize,
+ offset);
+}
+
+NW_Status_t
+NW_TinyTree_GetSourceOffset(NW_TinyTree_t* tree,
+ NW_Uint8* segmentAddr,
+ NW_TinyTree_Offset_t offset,
+ NW_TinyTree_Offset_t* index){
+ NW_ASSERT(tree != NULL);
+
+ return NW_TinyTree_EBuffer_GetIndex(tree->ebuffer, segmentAddr, offset, index);
+}
+
+
+
+NW_Uint8*
+NW_TinyTree_GetWritableBlock(NW_TinyTree_t* tree,
+ NW_TinyTree_Offset_t size,
+ NW_TinyTree_Offset_t * source_offset){ /* OUT */
+
+ return NW_TinyTree_EBuffer_GetWritableBlock(tree->ebuffer, size, source_offset);
+
+}
+
+NW_TinyTree_t*
+NW_TinyTree_Node_findTreeOld(NW_TinyTree_Node_t *node)
+{
+ NW_TinyTree_Node_t *parent = NW_TinyTree_findParent(node);
+ NW_ASSERT(node != NULL);
+
+ // find rootNode
+ while (parent != NULL)
+ {
+ node = parent;
+ parent = NW_TinyTree_findParent(parent);
+ }
+ // root node should be next to sentinal tree node
+ while(node != NULL){
+ if((node->flags & TNODE_FLAG_TREE) == TNODE_FLAG_TREE){
+ return ((NW_TinyTree_TreeNode_t*)node)->tree;
+ }
+ --node;
+ }
+ // Not reached
+ NW_ASSERT(0);
+ return NULL;
+}
+
+EXPORT_C NW_TinyTree_t*
+NW_TinyTree_Node_findTree(NW_TinyTree_Node_t *node)
+ {
+ if (!node->tree)
+ {
+ return NW_TinyTree_Node_findTreeOld(node);
+ }
+ else
+ {
+ return node->tree;
+ }
+
+ }
+
+/*
+* Create a new node as a child of an existing node. The child
+* references the source buffer at offset. The new child node is
+* returned.
+*/
+
+NW_TinyTree_Node_t*
+NW_TinyTree_createChild(NW_TinyTree_t *tree,
+ NW_TinyTree_Node_t *parent,
+ NW_TinyTree_Offset_t offset){
+
+ NW_TinyTree_Node_t *child = NW_TinyTree_createNode(tree, offset);
+
+ if (child != NULL){
+ NW_TinyTree_attachChild(parent, child);
+ }
+
+ return child;
+}
+
+/*
+* Create a new node as an immediate sibling to an existing node. The
+* child references the source buffer at offset. The new child node is
+* returned.
+*/
+NW_TinyTree_Node_t*
+NW_TinyTree_createSibling(NW_TinyTree_t *tree,
+ NW_TinyTree_Node_t *node,
+ NW_TinyTree_Offset_t offset)
+{
+ NW_TinyTree_Node_t *sibling = NW_TinyTree_createNode(tree, offset);
+ NW_TinyTree_attachAfter(node, sibling);
+ return sibling;
+}
+
+void
+NW_TinyTree_recurse(NW_TinyTree_t* tree,
+ NW_TinyTree_Node_t* start_node,
+ void (*Node_CB) (NW_TinyTree_t*, NW_TinyTree_Node_t *, void *),
+ void * context)
+{
+ NW_TinyTree_Node_t *child;
+
+ (*(Node_CB)) (tree, start_node, context);
+ if((child = NW_TinyTree_findFirstChild(start_node)) != 0){
+ NW_TinyTree_recurse(tree, child, Node_CB, context);
+ while((child = NW_TinyTree_findNextSibling(child)) != 0){
+ NW_TinyTree_recurse(tree, child, Node_CB, context);
+ }
+ }
+}
+
+/* Initialize a node iterator with a start node */
+
+void
+NW_TinyTree_NodeIterator_init(NW_TinyTree_Node_t* start_node,
+ NW_TinyTree_NodeIterator_t* iterator)
+{
+ iterator->start_node = start_node;
+ iterator->traversal_node = NULL;
+}
+
+/*
+* Iterate through a subtree returning each node exactly once.
+* The algorithm follows the toplogical ordering of the tree (if there is
+* an edge from v0 to v1, always visit v0 before v1). It's equivalent to
+* solving a labyrinth by keeping your right hand on the wall!
+*/
+
+NW_TinyTree_Node_t*
+NW_TinyTree_NodeIterator_iterate(NW_TinyTree_NodeIterator_t *iterator){
+
+ NW_TinyTree_Node_t* node;
+
+ if(iterator->start_node == NULL)
+ return NULL;
+
+ if(iterator->traversal_node == NULL){
+ node = iterator->start_node;
+ if(iterator->start_node->first_child != 0){
+ iterator->traversal_node = iterator->start_node->first_child;
+ }
+ else{
+ iterator->start_node = NULL;
+ }
+ return node;
+ }
+
+ node = iterator->traversal_node;
+
+ /* First try to move down */
+ if(iterator->traversal_node->first_child != 0){
+ iterator->traversal_node = iterator->traversal_node->first_child;
+ return node;
+ }
+
+ /* If you can't move down, move right */
+
+ if((iterator->traversal_node->flags & TNODE_FLAG_LASTSIBLING) != TNODE_FLAG_LASTSIBLING){
+ iterator->traversal_node = iterator->traversal_node->next_sibling;
+ return node;
+ }
+
+ /* If you can't move right, move back up */
+ /* TODO: some other expression here */
+ while(node != NULL){
+ iterator->traversal_node = iterator->traversal_node->next_sibling;
+ /* If you reached the start, quit */
+ if(iterator->traversal_node == iterator->start_node){
+ iterator->start_node = NULL;
+ return node;
+ }
+ /* Otherwise, try to move right */
+ if((iterator->traversal_node->flags & TNODE_FLAG_LASTSIBLING) != TNODE_FLAG_LASTSIBLING){
+ iterator->traversal_node = iterator->traversal_node->next_sibling;
+ return node;
+ }
+ /* Otherwise, continue to move up */
+ }
+ return NULL;
+}
+
+/* Iterate the siblings of a node */
+
+NW_TinyTree_Node_t*
+NW_TinyTree_NodeIterator_iterateSiblings(NW_TinyTree_NodeIterator_t *iterator){
+ if((iterator->start_node->flags & TNODE_FLAG_LASTSIBLING)== TNODE_FLAG_LASTSIBLING)
+ return NULL;
+ else{
+ iterator->start_node = iterator->start_node->next_sibling;
+ return iterator->start_node;
+ }
+}
+
+
+
+
+
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/tinytree/src/tree_alloc.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/tinytree/src/tree_alloc.c Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,291 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include "cxml_internal.h"
+#include
+#include "nw_tinytree_alloc.h"
+
+/*
+* This is not a generalized allocator. It is intended to support
+* dynamic extension of the node array or storage buffers associated
+* with a tiny tree. The goal of the design is to provide a kind of
+* virtual array whose storage can be allocated in several
+* non-contiguous segments located anywhere in memory. Since there
+* will be gaps between segments and segments may be allocated in
+* out-of-order locations (for example a second segment may be
+* allocated at an address lower than the first segment) simple
+* pointer arithmetic and array indexing cannot be used to address
+* array elements. However, rather than trying to provide a totally
+* general non-contiguous array package here, certain limitations have
+* been imposed. These simplify the implementation but mean that this
+* module can only be used with certain constraints. These constraints
+* are not currently a problem for the tiny dom parser, but any change
+* in the way the parser uses this module must be done with extreme
+* care. Eventually, we may want to generalize this package if this
+* can be done without adding too much to the footprint of computing
+* burden.
+*
+* The main constraint is that any code which writes to or reads from
+* a dynamically extended array must be sure that operations involving
+* ordinary pointer arithmetic and array indexing always occur within
+* the boudaries of a single segment. Operations that may result in
+* crossing a segment boundary must use the supplied address and
+* offset increment methods (which can be thought of as operator
+* overloads for the += operator). Furthermore, it needs to be
+* understood that any increment which results in crossing a segment
+* boundary may result in the allocation of a new segment if the
+* resulting address is not within an existing segment. When an
+* address or offset is incremented to a new segment the result will
+* be adjusted to the new segment and may have an unexpected value
+* (for example, incrementing address x by a positive increment may
+* result in an address that is less than x.). One important rule is
+* that the result of incrementing x by some value i is not guaranteed
+* to be idempotent if the increment crosses a segment boundary: i.e
+* addressIncrement(x,i) == addressIncrement(x,i) is not guaranteed to
+* be true. Future references to an address that results from an
+* increment operations must always use the result of the
+* operation. So, for example, (j = addressIncrement(x,i)) ==
+* addressIncrement(x,x+j) is guaranteed to be true.
+*
+* Segment storage addresses are always padded to align with the size
+* of the data object to be stored. This means that segments allocated
+* for a specific object type must be treated as as arrays of that
+* object type (or as arrays of bytes).
+*
+* The parser code always uses this module according to these rules.
+* Specifically, no tree node crosses a segment boundary and no
+* parsable fragment of wbxml (a fragment which the parser can
+* complete) every crosses a segment boundary. This latter condition
+* allows the parser to treat its current buffer as a simple array of
+* bytes. Another rule is that all of the offsets stored in tree
+* nodes are guaranteed to address an allocated segment. For example,
+* when writing a node, the storage offset is incremented using the
+* offset increment * operation. The resulting offsets (stored in
+* nodes) can then be safely used to address the written-to storage.
+*
+*/
+
+/*
+* Allocate segments for buffer and node array storage. The base
+* segment address is the one from which all relative offsets are
+* calculated. Segments are probably not contiguous, and, given that
+* new segments might be allocated anywhere relative to existing
+* segments, the offset must be a relative one. This limits the
+* maximum relative offset to the beginning of a new segment to be a
+* signed integer of the offset type.
+*/
+
+#include
+#define MAX_REL_OFFSET INT_MAX
+
+static
+NW_TinyTree_SegHeader_t*
+NW_TinyTree_findLastSegment(NW_TinyTree_SegHeader_t *base){
+ NW_TinyTree_SegHeader_t *last_seg = base;
+ while(last_seg->next != 0)
+ {
+ last_seg = (NW_TinyTree_SegHeader_t*)((NW_Byte*)base + last_seg->next);
+ }
+ return last_seg;
+}
+
+
+NW_TinyTree_Offset_t
+NW_TinyTree_segmentGetFreeSpace(NW_TinyTree_SegHeader_t *segment){
+ return (NW_TinyTree_Offset_t)(segment->size-segment->free_offset);
+}
+
+
+NW_TinyTree_Offset_t
+NW_TinyTree_getFreeStorageSpace(NW_TinyTree_SegHeader_t *base){
+ NW_TinyTree_SegHeader_t *last_seg = NW_TinyTree_findLastSegment(base);
+ return NW_TinyTree_segmentGetFreeSpace(last_seg);
+}
+
+NW_TinyTree_SegHeader_t*
+NW_TinyTree_addSegment(NW_TinyTree_SegHeader_t *base,
+ NW_TinyTree_Offset_t size){
+ NW_TinyTree_SegHeader_t *new_seg;
+ NW_TinyTree_SegHeader_t *last_seg = NW_TinyTree_findLastSegment(base);
+ NW_Int32 offset;
+
+ /* The extra node is added to make sure we have space to pad the segment storage to an even node boundary */
+ NW_Uint32 alloc_size = size + sizeof(NW_TinyTree_SegHeader_t) + sizeof(NW_TinyTree_Node_t);
+ new_seg = (NW_TinyTree_SegHeader_t*)NW_Mem_Malloc(alloc_size);
+
+ if(new_seg != 0){
+ offset = (NW_Byte*)new_seg - (NW_Byte*)base;
+ if(abs(offset) > MAX_REL_OFFSET){
+ NW_Mem_Free(new_seg);
+ return 0;
+ }
+ NW_Mem_memset(new_seg, 0, alloc_size);
+ /* Shift the storage pointer to an even boundary of a node so we can use this as an array of nodes */
+ new_seg->initializer = base->initializer;
+ last_seg->next = (NW_TinyTree_RelativeOffset_t)offset;
+ new_seg->size = size;
+ new_seg->free_offset = 0;
+ new_seg->storage = (NW_Uint8*)
+ (((((NW_Uint32) new_seg) + sizeof(NW_TinyTree_SegHeader_t) - 1)
+ / sizeof (NW_TinyTree_Node_t) + 1)
+ * sizeof (NW_TinyTree_Node_t));
+ if(new_seg->initializer)
+ (*(new_seg->initializer))(new_seg->storage, size);
+ }
+ return new_seg;
+}
+
+/*
+* Free segments allocated by addSegment only.
+*/
+
+void
+NW_TinyTree_freeSegments(NW_TinyTree_SegHeader_t *base){
+ NW_TinyTree_SegHeader_t *lastSegment = NULL;
+ NW_TinyTree_SegHeader_t *current = base;
+ NW_TinyTree_SegHeader_t *previous = NULL;
+
+ NW_Uint16 totalAdditionalSegments = 0;
+ NW_Uint16 index = 0;
+ NW_Uint16 i = 0;
+
+ while (current->next != 0)
+ {
+ totalAdditionalSegments++;
+ current = (NW_TinyTree_SegHeader_t*)((NW_Byte*)base + current->next);
+ }
+ lastSegment = current;
+
+ while(index< totalAdditionalSegments)
+ {
+ current = base;
+ i = 0;
+ while (i < (totalAdditionalSegments - index))
+ {
+ previous = current;
+ current = (NW_TinyTree_SegHeader_t*)((NW_Byte*)base + current->next);
+ i++;
+ }
+ NW_Mem_Free(lastSegment);
+ lastSegment = previous;
+ index++;
+ }
+
+}
+
+
+/*
+* Get the segment header associated with an offset. This allocates a new
+* segment if the offset is beyond any currently allocated segment. If a new
+* segment is allocated, the offset is readjusted to the beginning of the new
+* segment.
+*/
+
+NW_TinyTree_SegHeader_t*
+NW_TinyTree_addressGetSegment(NW_TinyTree_SegHeader_t *base,
+ NW_Byte **address){
+
+ NW_TinyTree_SegHeader_t *segment = base;
+ while(segment != 0){
+ if ((*address > segment->storage) && (*address < (segment->storage + segment->size)))
+ return segment;
+ if (segment->next == 0){ /* Add new segment */
+ segment = NW_TinyTree_addSegment(base, segment->size); /* Same size as last segment */
+ if(segment == 0){
+ break;
+ }
+ /*
+ * Reset address to beginning of new segment storage.
+ */
+ *address = segment->storage;
+ return segment;
+ }
+ segment = (NW_TinyTree_SegHeader_t*)((NW_Byte*)base + segment->next);
+ }
+ return 0;
+}
+
+
+NW_Byte*
+NW_TinyTree_addressIncrement(NW_TinyTree_SegHeader_t *base,
+ NW_Byte *address,
+ NW_TinyTree_Offset_t delta){
+ NW_Byte* new_address = address + delta;
+ NW_TinyTree_SegHeader_t *segment = NW_TinyTree_addressGetSegment(base, &new_address);
+ if(new_address >= (segment->storage + segment->free_offset)) /* Haven't touched this memory before */
+ {
+ segment->free_offset = (NW_TinyTree_Offset_t)(new_address - segment->storage);
+ }
+ return new_address;
+}
+
+/*
+* Get the segment header associated with an offset. This allocates a new
+* segment if the offset is beyond any currently allocated segment. If a new
+* segment is allocated, the offset is readjusted to the beginning of the new
+* segment.
+*/
+
+NW_TinyTree_SegHeader_t*
+NW_TinyTree_offsetGetSegment(NW_TinyTree_SegHeader_t *base,
+ NW_TinyTree_Offset_t *offset){
+
+ NW_TinyTree_SegHeader_t *segment = base;
+ while(segment != 0){
+ if (((base->storage + *offset) > segment->storage) && ((base->storage + *offset) < (segment->storage + segment->size)))
+ return segment;
+ if (segment->next == 0){ /* Add new segment */
+ if (segment->size > MIN_SEGMENT_SIZE)
+ segment = NW_TinyTree_addSegment(base, segment->size); /* Same size as last segment */
+ else
+ segment = NW_TinyTree_addSegment(base, MIN_SEGMENT_SIZE);
+ if(segment == 0){
+ break;
+ }
+ /*
+ * Reset offset to beginning of new segment storage.
+ */
+ *offset = (NW_TinyTree_Offset_t)(segment->storage - base->storage);
+ return segment;
+ }
+ segment = (NW_TinyTree_SegHeader_t*)((NW_Byte*)base + segment->next);
+ }
+ return 0;
+}
+
+NW_TinyTree_Offset_t
+NW_TinyTree_offsetIncrement(NW_TinyTree_SegHeader_t *base,
+ NW_TinyTree_Offset_t offset,
+ NW_TinyTree_Offset_t delta){
+ NW_TinyTree_Offset_t new_offset = (NW_TinyTree_Offset_t)(offset + delta);
+ NW_TinyTree_SegHeader_t *segment = NW_TinyTree_offsetGetSegment(base, &new_offset);
+ if(base->storage + new_offset >= (segment->storage + segment->free_offset)) /* Haven't touched this memory before */
+ {
+ segment->free_offset = (NW_TinyTree_Offset_t)(base->storage + new_offset - segment->storage);
+ }
+ return new_offset;
+}
+
+
+
+
+
+
+
+
+
+
+
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/utils/include/cxml_internal.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/utils/include/cxml_internal.h Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 2003 - 2004 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/** ----------------------------------------------------------------------- **
+ @package: cxml_internal.h
+
+ @synopsis: default
+
+ @description: default
+
+ ** ----------------------------------------------------------------------- **/
+#ifndef CXML_INTERNAL_H
+#define CXML_INTERNAL_H
+
+#include
+
+#include
+#include "cxml_mem.h"
+#include
+#include "cxml_vector.h"
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif /* __cplusplus */
+
+#ifdef __cplusplus
+} // extern "C" {
+#endif /* __cplusplus */
+
+
+#endif /* CXML_INTERNAL_H */
+
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/utils/include/cxml_mem.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/utils/include/cxml_mem.h Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,85 @@
+/*
+* Copyright (c) 2003 - 2004 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/*
+** Includes
+*/
+#include
+
+/***************************************************************************
+** File: cxml_mem.h
+** Purpose: Provides the interface to memory management
+**************************************************************************/
+
+#ifndef CXML_MEM_H
+#define CXML_MEM_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+ /*
+#ifdef _DEBUG
+#define FEATURE_MEMORY_PROFILE
+#endif
+*/
+
+#define NW_Mem_memset(x, y, z) CXML_Mem_memset(x, y, z)
+#define NW_Mem_memcpy(x, y, z) CXML_Mem_memcpy(x, y, z)
+#define NW_Mem_memmove(x, y, z) CXML_Mem_memmove(x, y, z)
+#define NW_Mem_memcmp(x, y, z) CXML_Mem_memcmp(x, y, z)
+
+#ifdef FEATURE_MEMORY_PROFILE
+#define NW_Mem_Malloc(x) CXML_Mem_Malloc_Pro(x,__FILE__,__LINE__)
+#define NW_Mem_Free(x) CXML_Mem_Free_Pro(x,__FILE__,__LINE__)
+
+void *CXML_Mem_Malloc_Pro(CXML_Uint32 nbytes, char *file, CXML_Uint32 line);
+void CXML_Mem_Free_Pro(void *buffer, char *file, CXML_Uint32 line);
+
+#define NW_CTX_MEM_PRO_LAST_PTR 26
+#define NW_CTX_MEM_PRO_SEQ_NO 27
+
+#else
+#define NW_Mem_Malloc(x) CXML_Mem_Malloc(x)
+#define NW_Mem_Free(x) CXML_Mem_Free(x)
+
+void *CXML_Mem_Malloc(CXML_Uint32 nbytes);
+void CXML_Mem_Free(void *buffer);
+#endif
+
+/*
+**-------------------------------------------------------------------------
+** External Public Functions
+**-------------------------------------------------------------------------
+*/
+
+void *CXML_Mem_memset(void *s, CXML_Uint32 c, CXML_Uint32 n);
+
+void *CXML_Mem_memcpy(void *s1, const void *s2, CXML_Uint32 n);
+
+void *CXML_Mem_memmove(void *s1, const void *s2, CXML_Uint32 n);
+
+CXML_Int32 CXML_Mem_memcmp(const void *s1, const void *s2, CXML_Uint32 n);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* CXML_MEM_H */
+
+
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/utils/include/cxml_vector.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/utils/include/cxml_vector.h Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,82 @@
+/*
+* Copyright (c) 2003 - 2004 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+ /***************************************************************************
+** File: cxml_vector.h
+** Purpose: Provides the interface to vector utils
+**************************************************************************/
+
+#ifndef CXML_VECTOR_H
+#define CXML_VECTOR_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+** Includes
+*/
+#include "cxml_internal.h"
+
+struct CXML_Vector_s {
+ CXML_Vector_Metric_t elementSize;
+ CXML_Vector_Metric_t capacity;
+ CXML_Vector_Metric_t size;
+ CXML_Vector_Metric_t segmentSize;
+ CXML_Uint8** segmentList;
+ CXML_Vector_Metric_t segmentListSize;
+ CXML_Vector_Metric_t numSegments;
+};
+
+CXML_Vector_t*
+CXML_Vector_Construct(CXML_Vector_Metric_t elementSize,
+ CXML_Vector_Metric_t segmentSize);
+
+void CXML_Vector_Destruct(CXML_Vector_t* vector);
+
+CXML_Uint8*
+CXML_Vector_AddressAt(const CXML_Vector_t* thisObj,
+ CXML_Vector_Metric_t index);
+
+void**
+CXML_Vector_InsertAt(CXML_Vector_t* thisObj,
+ void* element,
+ CXML_Vector_Metric_t where,
+ void* sentinel);
+
+NW_Status_t
+CXML_Vector_RemoveAt(CXML_Vector_t* thisObj,
+ CXML_Vector_Metric_t index);
+
+void**
+CXML_Vector_ElementAt(const CXML_Vector_t* vector,
+ CXML_Vector_Metric_t index);
+
+CXML_Vector_Metric_t
+CXML_Vector_GetElementIndex(const CXML_Vector_t* vector,
+ void* target);
+
+void
+CXML_Vector_AdjustSegment(CXML_Vector_t* vector);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* CXML_VECTOR_H */
+
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/utils/src/E32XMLParserDllEntryPoint.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/utils/src/E32XMLParserDllEntryPoint.cpp Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,20 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include
+#include
+//#include "FeatMgr.h"
+
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/utils/src/cxml_assert.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/utils/src/cxml_assert.c Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,37 @@
+/*
+* Copyright (c) 1999 - 2001 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/*****************************************************************
+** File name: nwx_assert.c
+** Description: Provides re[placement for assert
+******************************************************************/
+
+/*
+**-------------------------------------------------------------------------
+** Include Files
+**-------------------------------------------------------------------------
+*/
+
+#include
+int kimono_assert ()
+{
+ #ifdef __WINS__
+ _asm int 0x3
+ #endif
+ return 0;
+}
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/utils/src/cxml_file_if.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/utils/src/cxml_file_if.cpp Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,169 @@
+/*
+* Copyright (c) 2000 - 2001 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+
+#include
+#include
+#include
+
+
+//
+//CXML_Read_From_File()
+//
+
+EXPORT_C
+NW_Status_t CXML_Read_From_File(
+ NW_Byte* input_file,NW_Uint8** buffer, NW_Int32* bufferLen)
+{
+ RFile file;
+ RFs aSession;
+ TInt fileErr;
+ CXML_Uint32 fileNameByteCnt;
+ TInt fileNameLen;
+ NW_Status_t retVal = NW_STAT_SUCCESS;
+ TUint16* fileName;
+ TInt i;
+ TInt err = KErrNone;
+ HBufC8* inBuf;
+ CXML_Uint8* bufPtr;
+ TPtr8 inBufDes(NULL,0);
+
+
+ if( (input_file == NULL) || (buffer == NULL) || (bufferLen == NULL) )
+ {
+ retVal = NW_STAT_FAILURE;
+ return retVal;
+ }
+
+ *bufferLen = -1; //Default value
+
+ err = aSession.Connect();
+ if(KErrNone != err)
+ {
+ retVal = NW_STAT_FAILURE;
+ return retVal;
+ }
+ fileNameLen = NW_String_charBuffGetLength(input_file,HTTP_us_ascii,&fileNameByteCnt);
+
+
+ //This is required for TPtrC
+
+ fileName = new TUint16[fileNameLen];
+
+ if(fileName == NULL)
+ {
+ retVal = NW_STAT_OUT_OF_MEMORY;
+ return retVal;
+ }
+
+
+ for(i=0; i < fileNameLen; i++)
+ {
+ fileName[i] = input_file[i];
+ }
+
+ TPtrC inFileN(fileName,fileNameLen);
+
+ fileErr = file.Open(aSession,inFileN,EFileRead);
+
+ if ( fileErr != KErrNone )
+ {
+ retVal = NW_STAT_FILE_NOT_OPEN;
+ delete[] fileName;
+ return retVal;
+ }
+
+
+ TInt fileSize;
+
+ //Get File Size
+
+ fileErr = file.Size( fileSize );
+
+ if(fileErr != KErrNone )
+ {
+ retVal = NW_STAT_UNEXPECTED_ERROR;
+ delete[] fileName;
+ file.Close();
+ return retVal;
+ }
+
+ *bufferLen = fileSize;
+
+ // Allocate buffer to read the cXML FILE contents
+
+ inBuf = HBufC8::New(fileSize);
+
+ //Get the pointer to heap object
+
+ inBufDes.Set(inBuf->Des()) ;
+
+ if(inBuf)
+ {
+
+ //Now read the file
+
+ fileErr = file.Read(inBufDes);
+
+
+ if(fileErr != KErrNone )
+ {
+ delete inBuf; //TODO: Change to more meaningful error
+ delete[] fileName;
+ file.Close();
+ *bufferLen = -1;
+ retVal = NW_STAT_FILE_READ_ERROR;
+ return retVal;
+ }
+ }
+ else
+ {
+ delete[] fileName;
+ file.Close();
+ *bufferLen = -1;
+ retVal = NW_STAT_FAILURE;
+ return retVal;
+ }
+
+
+ //Allocate the buffer and copy the contents to this
+
+ *buffer = new CXML_Byte[fileSize];
+
+
+ if(*buffer == NULL)
+ {
+ retVal = NW_STAT_OUT_OF_MEMORY;
+ return retVal;
+ }
+
+
+ bufPtr = (CXML_Byte*) inBuf->Ptr(); //Get pointer to the data
+
+ for(i=0; i < fileSize; i++)
+ {
+ (*buffer)[i] = bufPtr[i];
+ }
+
+ delete inBuf;
+ delete[] fileName;
+ file.Close();
+ aSession.Close();
+ return retVal;
+
+}//end CXMLTestParser::CXML_Read_From_File()
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/utils/src/cxml_mem.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/utils/src/cxml_mem.c Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,296 @@
+/*
+* Copyright (c) 2003 - 2004 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/***************************************************************************
+** File: cxml_mem.c
+** Purpose: Provides the implementation to memory management
+**************************************************************************/
+
+#include "cxml_internal.h"
+
+#ifdef FEATURE_MEMORY_PROFILE
+typedef struct _MemProfile
+{
+ struct _MemProfile *next; // ptr to next mem block
+ struct _MemProfile *prev; // ptr to previous mem block
+ char *file; // filename of memory allocator
+ CXML_Int32 line; // line # in filename of memory allocator
+ CXML_Int32 size; // size of requested memory
+ CXML_Int32 seq; // sequence number for allocation
+} MemProfile;
+#endif
+
+/*
+**-------------------------------------------------------------------------
+** External Public (Exported) Functions
+**-------------------------------------------------------------------------
+*/
+
+void *CXML_Mem_memset(void *s, CXML_Uint32 c, CXML_Uint32 n)
+{
+ unsigned char *myPtr = (unsigned char *)s;
+ unsigned char fill = (unsigned char)c;
+ while (n > 0) {
+ *myPtr = fill;
+ myPtr++;
+ n--;
+ }
+ return s;
+}
+
+
+void *CXML_Mem_memcpy(void *s1, const void *s2, CXML_Uint32 n)
+{
+ unsigned char *myDest = (unsigned char *)s1;
+ unsigned char *mySource = (unsigned char *)s2;
+
+ if (n==0) return NULL;
+
+ while (n > 0) {
+ *myDest = *mySource;
+ n--;
+ myDest++;
+ mySource++;
+ }
+ return s1;
+}
+
+
+void *CXML_Mem_memmove(void *s1, const void *s2, CXML_Uint32 n)
+{
+ unsigned char *myDest;
+ unsigned char *mySource;
+
+ if (n == 0) return NULL;
+
+ if (s1 <= s2) {
+ /* We can always copy from higher address to */
+ /* lower address, even if buffer overlaps */
+ myDest = (unsigned char *)s1;
+ mySource = (unsigned char *)s2;
+ while (n > 0) {
+ *myDest = *mySource;
+ myDest++;
+ mySource++;
+ n--;
+ }
+
+ } else {
+ /* We can always copy in reverse order from */
+ /* lower address to higher address, even if */
+ /* buffer overlaps */
+ myDest = (unsigned char *)s1 + n;
+ mySource = (unsigned char *)s2 + n;
+ while (n > 0) {
+ n--;
+ myDest--;
+ mySource--;
+ *myDest = *mySource;
+ }
+
+ }
+
+ return s1;
+}
+
+
+CXML_Int32 CXML_Mem_memcmp(const void *s1, const void *s2, CXML_Uint32 n)
+{
+ unsigned char *myDest = (unsigned char *)s1;
+ unsigned char *mySource = (unsigned char *)s2;
+
+ /* If s1 == s2, then immediately return 0. */
+ if ( s1 == s2 )
+ return 0 ;
+
+ while (n > 0) {
+ if (*myDest != *mySource) {
+ return (*myDest - *mySource);
+ }
+ myDest++;
+ mySource++;
+ n--;
+ }
+
+ return 0;
+}
+
+/*********************************************************
+** Name: CXML_Mem_Malloc
+** Description: Allocates memory.
+** Parameters: nbytes - number of bytes to allocate
+** Return Value: pointer to the allocated memory or NULL
+**********************************************************/
+void *CXML_Mem_Malloc(CXML_Uint32 nbytes)
+{
+ return malloc(nbytes);
+}
+
+/************************************************************************
+** Name: CXML_Mem_Free
+** Description: Frees allocated memory.
+** Parameters: mem - pointer to the memory to free
+** Return Value: void
+**************************************************************************/
+void CXML_Mem_Free(void *buffer)
+{
+ if (buffer != NULL) {
+ /* Note: os_block_dealloc() will free both heap and block-table memory */
+ free(buffer);
+ }
+ return;
+}
+
+
+#ifdef FEATURE_MEMORY_PROFILE
+CXML_Uint32 Asc_strlen(const char *s)
+{
+ CXML_Uint32 i = 0;
+ while (*s != '\0')
+ {
+ s++;
+ i++;
+ }
+ return i;
+}
+
+/*****************************************************************
+** Name: Asc_strcpy
+** Description: Copies ascii string
+** Parameters: s1 destination string
+** s2 source string
+** Return Value: pointer to s1
+******************************************************************/
+char *Asc_strcpy(char *s1, const char *s2)
+{
+ while (*s2 != '\0') {
+ *s1 = *s2;
+ s1++;
+ s2++;
+ }
+ *s1 = *s2;
+ return s1;
+}
+
+/*********************************************************
+** Name: CXML_Mem_Malloc
+** Description: Allocates memory.
+** Parameters: nbytes - number of bytes to allocate
+** Return Value: pointer to the allocated memory or NULL
+**********************************************************/
+void *CXML_Mem_Malloc_Pro(CXML_Uint32 nbytes, char *file, CXML_Uint32 line)
+{
+ void *buf;
+ MemProfile *pblock, *last;
+ CXML_Int32 len = nbytes + sizeof(MemProfile);
+ CXML_Int32 seqno;
+
+ pblock = malloc(len);
+
+ // Store profile block data
+
+ if ((CXML_Uint32) file > 0xf000)
+ {
+ pblock->file = (char*)malloc(Asc_strlen(file) + 1);
+ Asc_strcpy(pblock->file, file);
+ }
+ else
+ {
+ // no filename since this may be called via a function ptr
+ pblock->file = NULL;
+ }
+ pblock->line = line;
+ pblock->size = nbytes;
+
+ // Set List Pointers
+ // Get last ptr
+ last = (MemProfile *) NW_Ctx_Get(NW_CTX_MEM_PRO_LAST_PTR, 0);
+
+ if (last == NULL)
+ {
+ pblock->prev = NULL;
+ pblock->seq = 0;
+ }
+ else
+ {
+ pblock->prev = last;
+ last->next = pblock;
+ // can't use last-> because free my remove block (along with
+ // seq numbers, need a context
+ seqno = (CXML_Uint32) NW_Ctx_Get(NW_CTX_MEM_PRO_SEQ_NO, 0);
+ seqno += 1;
+ pblock->seq = seqno;
+ NW_Ctx_Set(NW_CTX_MEM_PRO_SEQ_NO, 0, seqno);
+ }
+ pblock->next = NULL;
+
+ // last = pblock
+ last = pblock;
+ NW_Ctx_Set(NW_CTX_MEM_PRO_LAST_PTR, 0, last);
+
+
+ // return mem block to caller
+ buf = (void *) ((CXML_Byte *) pblock + sizeof(MemProfile));
+ return (buf);
+}
+
+/************************************************************************
+** Name: CXML_Mem_Free
+** Description: Frees allocated memory.
+** Parameters: mem - pointer to the memory to free
+** Return Value: void
+**************************************************************************/
+void CXML_Mem_Free_Pro(void *buffer, char *file, CXML_Uint32 line)
+{
+ MemProfile *pblock, *last, *prevp, *nextp;
+
+ if (buffer == NULL)
+ {
+ return;
+ }
+
+ pblock = (MemProfile *) ((CXML_Byte *) buffer - sizeof(MemProfile));
+
+ // Get last ptr
+ last = (MemProfile *) NW_Ctx_Get(NW_CTX_MEM_PRO_LAST_PTR, 0);
+
+ if ( pblock == last )
+ {
+ last = last->prev;
+ NW_Ctx_Set(NW_CTX_MEM_PRO_LAST_PTR, 0, last);
+ }
+ else
+ {
+ prevp = pblock->prev;
+ nextp = pblock->next;
+ if (prevp)
+ {
+ prevp->next = nextp;
+ }
+ if (nextp)
+ {
+ nextp->prev = prevp;
+ }
+ }
+
+ // Free Filename pointer and memory block
+ free(pblock->file);
+ free(pblock);
+ return;
+}
+#endif
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/utils/src/cxml_mem_epoc32.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/utils/src/cxml_mem_epoc32.c Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,415 @@
+/*
+* Copyright (c) 1999 - 2000 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/***************************************************************************
+** File: nwx_mem.c
+** Purpose: Provides the implementation to memory management
+**************************************************************************/
+
+/*
+**-------------------------------------------------------------------------
+** Include Files
+**-------------------------------------------------------------------------
+*/
+#include "cxml_mem.h"
+
+//#ifdef FEATURE_MEMORY_PROFILE
+//#include "nwx_ctx.h"
+//#include "nwx_logger.h"
+//#endif // FEATURE_MEMORY_PROFILE
+
+/*
+**-------------------------------------------------------------------------
+** Constants
+**-------------------------------------------------------------------------
+*/
+
+/*
+**-------------------------------------------------------------------------
+** Internal Types
+**-------------------------------------------------------------------------
+*/
+#ifdef FEATURE_MEMORY_PROFILE
+typedef struct _MemProfile
+{
+ struct _MemProfile *next; // ptr to next mem block
+ struct _MemProfile *prev; // ptr to previous mem block
+ char *file; // filename of memory allocator
+ NW_Int32 line; // line # in filename of memory allocator
+ NW_Int32 size; // size of requested memory
+ NW_Int32 seq; // sequence number for allocation
+} MemProfile;
+#endif // FEATURE_MEMORY_PROFILE
+
+/*
+**-------------------------------------------------------------------------
+** Macros
+**-------------------------------------------------------------------------
+*/
+
+/*
+**-------------------------------------------------------------------------
+** Internal Prototypes
+**-------------------------------------------------------------------------
+*/
+
+/*
+**-------------------------------------------------------------------------
+** File Scoped Static Variables
+**-------------------------------------------------------------------------
+*/
+
+/*
+**-------------------------------------------------------------------------
+** Global Variable Definitions
+**-------------------------------------------------------------------------
+*/
+
+
+/*
+**-------------------------------------------------------------------------
+** Internal Functions
+**-------------------------------------------------------------------------
+*/
+
+
+/*
+**-------------------------------------------------------------------------
+** External Public (Exported) Functions
+**-------------------------------------------------------------------------
+*/
+
+void *NW_Mem_memset(void *s, NW_Uint32 c, NW_Uint32 n)
+{
+ unsigned char *myPtr = (unsigned char *)s;
+ unsigned char fill = (unsigned char)c;
+ while (n > 0) {
+ *myPtr = fill;
+ myPtr++;
+ n--;
+ }
+ return s;
+}
+
+EXPORT_C void *NW_Mem_memcpy(void *s1, const void *s2, NW_Uint32 n)
+{
+ unsigned char *myDest = (unsigned char *)s1;
+ unsigned char *mySource = (unsigned char *)s2;
+ if (n==0) return NULL;
+ while (n > 0) {
+ *myDest = *mySource;
+ n--;
+ myDest++;
+ mySource++;
+ }
+ return s1;
+}
+
+void *NW_Mem_memmove(void *s1, const void *s2, NW_Uint32 n)
+{
+ unsigned char *tempBuff;
+ if (n == 0) return NULL;
+ tempBuff = NW_Mem_Malloc(n);
+ if (tempBuff == NULL) {
+ return NULL;
+ }
+ NW_Mem_memcpy(tempBuff, s2, n);
+ NW_Mem_memcpy(s1, tempBuff, n);
+ NW_Mem_Free(tempBuff);
+ return s1;
+}
+
+NW_Int32 NW_Mem_memcmp(const void *s1, const void *s2, NW_Uint32 n)
+{
+ unsigned char *myDest = (unsigned char *)s1;
+ unsigned char *mySource = (unsigned char *)s2;
+
+ /* If s1 == s2, then immediately return 0. */
+ if ( s1 == s2 )
+ return 0 ;
+
+ while (n > 0) {
+ if (*myDest != *mySource) {
+ return (*myDest - *mySource);
+ }
+ myDest++;
+ mySource++;
+ n--;
+ }
+
+ return 0;
+}
+
+
+/*********************************************************
+** Name: NW_Mem_Malloc
+** Description: Allocates memory.
+** Parameters: nbytes - number of bytes to allocate
+** Return Value: pointer to the allocated memory or NULL
+**********************************************************/
+
+EXPORT_C void *NW_Mem_Malloc_No_Pro(NW_Uint32 nbytes)
+{
+ void *buf;
+ buf = malloc(nbytes);
+ return buf;
+}
+
+/************************************************************************
+** Name: NW_Mem_Free
+** Description: Frees allocated memory.
+** Parameters: mem - pointer to the memory to free
+** Return Value: void
+**************************************************************************/
+EXPORT_C void NW_Mem_Free_No_Pro(void *mem)
+{
+ /* Note: free() handles NULL pointers corretly */
+ free(mem);
+ return;
+}
+
+
+// --------------------------------------------------------
+// PROFILED MEMORY MANAGEMENT ROUTINES
+// --------------------------------------------------------
+
+#ifdef FEATURE_MEMORY_PROFILE
+
+/*****************************************************************
+** Name: Asc_strlen
+** Description: Returns string length of ascii string
+** Parameters: *string - Null-terminated ascii string
+** Return Value: string length
+******************************************************************/
+NW_Uint32 Asc_strlen(const char *s)
+{
+ NW_Uint32 i = 0;
+ while (*s != '\0')
+ {
+ s++;
+ i++;
+ }
+ return i;
+}
+
+/*****************************************************************
+** Name: Asc_strcpy
+** Description: Copies ascii string
+** Parameters: s1 destination string
+** s2 source string
+** Return Value: pointer to s1
+******************************************************************/
+char *Asc_strcpy(char *s1, const char *s2)
+{
+ while (*s2 != '\0') {
+ *s1 = *s2;
+ s1++;
+ s2++;
+ }
+ *s1 = *s2;
+ return s1;
+}
+
+/*****************************************************************
+** Name: Str_CvtFromAscii
+** Description: Convert null-terminated ascii string to new ucs2 string
+** Parameters: *string - Null-terminated ascii string
+** Return Value: pointer to new ucs2 string or NULL
+******************************************************************/
+NW_Ucs2 *Str_CvtFromAscii(const char *string)
+{
+ NW_Uint32 i, size;
+ NW_Ucs2* res = NULL;
+
+ NW_ASSERT(string);
+
+ size = Asc_strlen(string) + 1;
+ res = malloc(size * sizeof(NW_Ucs2));
+ /* this is a really naive conversion from ascii */
+ if (res != NULL) {
+ for (i=0; i < size; i++) {
+ res[i] = string[i];
+ }
+ }
+ return res;
+}
+
+
+/*********************************************************
+** Name: NW_Mem_Malloc_Pro
+** Description: Allocates "profiled" memory.
+** Parameters: nbytes - number of bytes to allocate
+** file - string of filename where this was called
+** line - line # of file where this was called
+** Return Value: pointer to the allocated memory or NULL
+**********************************************************/
+void *NW_Mem_Malloc_Pro(NW_Uint32 nbytes, char *file, NW_Uint32 line)
+{
+ void *buf;
+ MemProfile *pblock, *last;
+ NW_Int32 len = nbytes + sizeof(MemProfile);
+ NW_Int32 seqno;
+ NW_Status_t status;
+
+ pblock = malloc(len);
+
+ // Store profile block data
+
+ if ((NW_Uint32) file > 0xf000)
+ {
+ pblock->file = (char*)malloc(Asc_strlen(file) + 1);
+ Asc_strcpy(pblock->file, file);
+ }
+ else
+ {
+ // no filename since this may be called via a function ptr
+ pblock->file = NULL;
+ }
+ pblock->line = line;
+ pblock->size = nbytes;
+
+ // Set List Pointers
+ // Get last ptr
+ last = (MemProfile *) NW_Ctx_Get(NW_CTX_MEM_PRO_LAST_PTR, 0);
+
+ if (last == NULL)
+ {
+ pblock->prev = NULL;
+ pblock->seq = 0;
+ }
+ else
+ {
+ pblock->prev = last;
+ last->next = pblock;
+ // can't use last-> because free my remove block (along with
+ // seq numbers, need a context
+ seqno = (NW_Uint32) NW_Ctx_Get(NW_CTX_MEM_PRO_SEQ_NO, 0);
+ seqno += 1;
+ pblock->seq = seqno;
+ status = NW_Ctx_Set(NW_CTX_MEM_PRO_SEQ_NO, 0, seqno);
+ NW_ASSERT(status == NW_STAT_SUCCESS);
+ }
+ pblock->next = NULL;
+
+ // last = pblock
+ last = pblock;
+ status = NW_Ctx_Set(NW_CTX_MEM_PRO_LAST_PTR, 0, last);
+ NW_ASSERT(status == NW_STAT_SUCCESS);
+
+
+ // return mem block to caller
+ buf = (void *) ((NW_Byte *) pblock + sizeof(MemProfile));
+ return (buf);
+}
+
+/************************************************************************
+** Name: NW_Mem_Free_Pro
+** Description: Frees allocated "profiled" memory.
+** Parameters: mem - pointer to the memory to free
+** file - string of filename where this was called
+** line - line # of file where this was called
+** Return Value: void
+**************************************************************************/
+void NW_Mem_Free_Pro(void *buffer, char *file, NW_Uint32 line)
+{
+ MemProfile *pblock, *last, *prevp, *nextp;
+ NW_Status_t status;
+
+ if (buffer == NULL)
+ {
+ return;
+ }
+
+ pblock = (MemProfile *) ((NW_Byte *) buffer - sizeof(MemProfile));
+
+ // Get last ptr
+ last = (MemProfile *) NW_Ctx_Get(NW_CTX_MEM_PRO_LAST_PTR, 0);
+
+ if ( pblock == last )
+ {
+ last = last->prev;
+ status = NW_Ctx_Set(NW_CTX_MEM_PRO_LAST_PTR, 0, last);
+ NW_ASSERT(status == NW_STAT_SUCCESS);
+ }
+ else
+ {
+ prevp = pblock->prev;
+ nextp = pblock->next;
+ if (prevp)
+ {
+ prevp->next = nextp;
+ }
+ if (nextp)
+ {
+ nextp->prev = prevp;
+ }
+ }
+
+ // Free Filename pointer and memory block
+ free(pblock->file);
+ free(pblock);
+ return;
+}
+
+
+/************************************************************************
+** Name: SendStringToLogger1
+** Description: Output Memory Profile Data to Debug Log
+** Parameters: none
+** Return Value: void
+**************************************************************************/
+void SendStringToLogger1(char *strMsg)
+{
+ MemProfile *pblock, *last;
+ NW_Ucs2 *uStrFileName = NULL;
+
+ if (strMsg != NULL)
+ {
+ NW_Ucs2 *uStrMsg = Str_CvtFromAscii(strMsg);
+ NW_LOG1(NW_LOG_LEVEL1, "NW_Mem_Pro_Log: %s", uStrMsg);
+ free(uStrMsg);
+ return;
+ }
+
+ // Get last ptr
+ last = (MemProfile *) NW_Ctx_Get(NW_CTX_MEM_PRO_LAST_PTR, 0);
+
+ pblock = last;
+ while ( pblock )
+ {
+ if (pblock->file == NULL)
+ {
+ uStrFileName = Str_CvtFromAscii("??");
+ }
+ else
+ {
+ uStrFileName = Str_CvtFromAscii(pblock->file);
+ }
+ NW_LOG6(NW_LOG_LEVEL1, "NW_Mem_Pro_Log: memBlock:%X, data:%X, File: %s ; Line: %d ; Size: %d ; SEQ: %d",
+ pblock,
+ pblock + sizeof(MemProfile),
+ uStrFileName,
+ pblock->line,
+ pblock->size,
+ pblock->seq);
+ NW_LOG0(NW_LOG_LEVEL1, "NW_Mem_Pro_Log: ------------------------------");
+ pblock = pblock->prev;
+ free(uStrFileName);
+ }
+}
+#endif // FEATURE_MEMORY_PROFILE
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/utils/src/cxml_str.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/utils/src/cxml_str.c Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,374 @@
+/*
+* Copyright (c) 2003 - 2004 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/***************************************************************************
+** File: cxml_str.c
+** Purpose: Provides the implementation to CXML string API
+**************************************************************************/
+
+/*
+**-------------------------------------------------------------------------
+** Include Files
+**-------------------------------------------------------------------------
+*/
+
+#include "cxml_internal.h"
+#include
+
+
+static NW_Uint16 CXML_Str_Strlen(const CXML_Ucs2 *string)
+{
+ NW_Uint16 len = 0;
+ NW_ASSERT(string != NULL);
+
+ while (*string != NULL)
+ {
+ string++;
+ len++;
+ }
+ return len;
+}
+
+static NW_Uint32 NW_Asc_strlen(const char *s)
+{
+ NW_Uint32 i = 0;
+ while (*s != '\0')
+ {
+ s++;
+ i++;
+ }
+ return i;
+}
+
+/*****************************************************************
+** Name: CXML_Str_ToLower
+** Description: Converts a CXML_Ucs2 to lower case
+** Parameters: ch - the character to convert
+** Return Value: the converted character
+******************************************************************/
+CXML_Ucs2 CXML_Str_ToLower(const CXML_Ucs2 ch)
+{
+ if((ch >= CXML_ASCII_UPPER_A) && (ch <= CXML_ASCII_UPPER_Z)) {
+ return (CXML_Ucs2)(ch - CXML_ASCII_UPPER_A + CXML_ASCII_LOWER_A);
+ } else {
+ return ch;
+ }
+}
+
+/*****************************************************************
+** Name: CXML_Str_ToUpper
+** Description: Converts a NW_Ucs2 to upper case
+** Parameters: ch - the character to convert
+** Return Value: the converted character
+******************************************************************/
+CXML_Ucs2 CXML_Str_ToUpper(const NW_Ucs2 ch)
+{
+ if((ch >= CXML_ASCII_LOWER_A) && (ch <= CXML_ASCII_LOWER_Z)) {
+ return (NW_Ucs2)(ch - CXML_ASCII_LOWER_A + CXML_ASCII_UPPER_A);
+ } else {
+ return ch;
+ }
+}
+
+/*****************************************************************
+** Name: CXML_Str_Isspace
+** Description: Checks if the character is a particular
+** representation of a space character
+** Parameters: ch - character to test
+** Return Value: non-zero if c is a white-space character, else 0
+******************************************************************/
+CXML_Int32 CXML_Str_Isspace(const CXML_Ucs2 ch)
+{
+ return ((ch == CXML_ASCII_SPACE) || (ch == CXML_ASCII_CR) ||
+ (ch == CXML_ASCII_LF) || (ch == CXML_ASCII_FF) ||
+ (ch == CXML_ASCII_HT) || (ch == CXML_ASCII_VT));
+}
+
+
+/*****************************************************************
+** Name: CXML_Str_Isdigit
+** Description: Checks if the character is a particular
+** representation of a decimal-digit character.
+** Parameters: ch - character to test
+** Return Value: non-zero if c is a decimal-digit character, else 0
+******************************************************************/
+CXML_Int32 CXML_Str_Isdigit(const CXML_Ucs2 ch)
+{
+ return ( (ch >= CXML_ASCII_0) && (ch <= CXML_ASCII_9) );
+}
+
+
+/*****************************************************************
+** Name: CXML_Str_Isxdigit
+** Description: Checks if the character is a particular
+** representation of a hexadecimal-digit character.
+** Parameters: ch - character to test
+** Return Value: non-zero if c is a hexadecimal-digit character, else 0
+******************************************************************/
+CXML_Int32 CXML_Str_Isxdigit(const CXML_Ucs2 ch)
+{
+ return (CXML_Str_Isdigit(ch) ||
+ ( (ch >= CXML_ASCII_UPPER_A) && (ch <= CXML_ASCII_UPPER_F) ) ||
+ ( (ch >= CXML_ASCII_LOWER_A) && (ch <= CXML_ASCII_LOWER_F) ) );
+}
+
+/*****************************************************************
+** Name: CXML_Str_CvtToAscii
+** Description: Convert ucs2 string to new null-terminated ascii string
+** Parameters: *string - Null-terminated ucs2 string
+** Return Value: pointer to the new ascii string or NULL
+******************************************************************/
+CXML_Int8 *CXML_Str_CvtToAscii(const CXML_Ucs2 *string)
+{
+ NW_Int32 i, size;
+ CXML_Int8* res = NULL;
+
+ NW_ASSERT(string);
+
+ size = CXML_Str_Strlen(string) + 1;
+ res = (CXML_Int8*) NW_Mem_Malloc((NW_Uint32)size * sizeof(CXML_Int8));
+ /* this is a really naive conversion to ascii */
+ if (res != NULL) {
+ for (i=0; i < size; i++) {
+ res[i] = (CXML_Int8)(string[i] & 0xFF);
+ }
+ }
+ return res;
+}
+
+
+CXML_Uint32 CXML_Asc_strlen(const CXML_Int8 *s)
+{
+ NW_Uint32 i = 0;
+ while (*s != '\0')
+ {
+ s++;
+ i++;
+ }
+ return i;
+}
+
+
+/*****************************************************************
+** Name: NW_Str_CvtFromAscii
+** Description: Convert null-terminated ascii string to new ucs2 string
+** Parameters: *string - Null-terminated ascii string
+** Return Value: pointer to new ucs2 string or NULL
+******************************************************************/
+CXML_Ucs2 *CXML_Str_CvtFromAscii(const CXML_Int8 *string)
+{
+ NW_Uint32 i, size;
+ NW_Ucs2* res = NULL;
+
+ NW_ASSERT(string);
+
+ size = NW_Asc_strlen((const char*) string) + 1;
+ res = (NW_Ucs2*) NW_Mem_Malloc(size * sizeof(NW_Ucs2));
+ /* this is a really naive conversion from ascii */
+ if (res != NULL) {
+ for (i=0; i < size; i++) {
+ res[i] = string[i];
+ }
+ }
+ return res;
+}
+
+
+/*****************************************************************
+** Name: CXML_Str_Strsize
+** Description: Get the size of the string
+** Parameters: *string - Null-terminated string
+** Return Value: number of bytes in string including terminator
+******************************************************************/
+CXML_Uint16 CXML_Str_Strsize(const CXML_Ucs2 *string)
+{
+ NW_Uint16 len;
+
+ NW_ASSERT(string != NULL);
+
+ len = CXML_Str_Strlen(string);
+ return NW_UINT16_CAST((len + 1) * sizeof(NW_Ucs2));
+}
+
+/*****************************************************************
+** Name: CXML_Str_StrcmpConst
+** Description: Compare a string to an Ascii string constant
+** Parameters: *string1 - Null-terminated string to compare
+** *string2 - Null-terminated string to compare
+** Return Value: <0 if string1 < string2, 0 if equal, >0 if string1 > string2
+******************************************************************/
+
+CXML_Int32 CXML_Str_StrcmpConst(const CXML_Ucs2 *string1,const CXML_Ucs2 *string2)
+{
+ NW_Int32 i = 0;
+ NW_Int32 ch1;
+ NW_Int32 ch2;
+
+ NW_ASSERT(string1 != NULL);
+ NW_ASSERT(string2 != NULL);
+
+ do {
+ ch1 = string1[i];
+ ch2 = string2[i];
+ i++;
+ } while (((ch1 - ch2) == 0) && (ch1 != CXML_ASCII_NULL));
+
+ return (ch1 - ch2);
+}
+
+/*****************************************************************
+** Name: CXML_Str_Stricmp
+** Description: Compare two strings, case-insensitve
+** Parameters: *string1 - Null-terminated string to compare
+** *string2 - Null-terminated string to compare
+** Return Value: <0 if string1 < string2, 0 if equal, >0 if string1 > string2
+******************************************************************/
+CXML_Int32 CXML_Str_Stricmp(const CXML_Ucs2 *string1,
+ const CXML_Ucs2 *string2)
+{
+ NW_ASSERT(string1 != NULL);
+ NW_ASSERT(string2 != NULL);
+
+
+ while ((CXML_Str_ToUpper(*string1) == CXML_Str_ToUpper(*string2)) &&
+ (*string1 != CXML_ASCII_NULL) && (*string2 != CXML_ASCII_NULL))
+ {
+ string1++;
+ string2++;
+ }
+ return (CXML_Str_ToUpper(*string1) - CXML_Str_ToUpper(*string2));
+}
+
+/*****************************************************************
+** Name: CXML_Asc_strcpy
+** Description: Copy null terminated string
+** Parameters: *s2 - Null-terminated string to copy
+** *s1 - Resultant String
+** Return Value: Copied string
+******************************************************************/
+
+CXML_Int8 *CXML_Asc_strcpy(CXML_Int8 *s1, const CXML_Int8 *s2)
+{
+ while (*s2 != '\0') {
+ *s1 = *s2;
+ s1++;
+ s2++;
+ }
+ *s1 = *s2;
+ return s1;
+}
+
+/*****************************************************************
+** Name: CXML_Asc_strcat
+** Description: Concatenate null terminated string
+** Parameters: *s2 - Null-terminated string to copy
+** *s1 - Resultant String Null terminated
+** Return Value: Resultant string
+******************************************************************/
+
+CXML_Int8 *CXML_Asc_strcat(CXML_Int8 *s1, const CXML_Int8 *s2)
+{
+ CXML_Int8 *myDest = s1;
+ while (*myDest != '\0') {
+ myDest++;
+ }
+ CXML_Asc_strcpy(myDest, s2);
+ return s1;
+}
+
+/*****************************************************************
+** Name: CXML_Asc_Strncpy
+** Description: Copy characters of one string to another
+** Parameters: *destination - Destination string
+** *source - Source string
+** count - Maximum number of characters to be copied
+** Return Value: pointer to destination string
+******************************************************************/
+CXML_Int8 *CXML_Asc_strncpy(CXML_Int8 *destination,
+ const CXML_Int8 *source,
+ const CXML_Uint32 count )
+{
+ CXML_Uint32 nCopied = 0;
+
+ NW_ASSERT(destination != NULL);
+ NW_ASSERT(source != NULL);
+
+ while ( (nCopied < count) && (*source != CXML_ASCII_NULL ) ) {
+ *destination = *source;
+ destination++;
+ source++;
+ nCopied++;
+ }
+
+ /*
+ ** ANSI 7.11.2.4 says nulls are appended till count characters in all have
+ ** been copied
+ */
+ while (nCopied < count) {
+ *destination = CXML_ASCII_NULL;
+ destination++;
+ nCopied++;
+ }
+ return destination;
+}
+
+/*****************************************************************
+** Name: CXML_Asc_strncat
+** Description: Concatenate characters of one string to another
+** Parameters: *destination - Destination string
+** *source - Source string
+** count - Maximum number of characters to be copied
+** Return Value: pointer to destination string
+******************************************************************/
+CXML_Int8 *CXML_Asc_strncat(CXML_Int8 *destination,
+ const CXML_Int8 *source,
+ const NW_Uint32 count )
+{
+ CXML_Uint32 nCount = 0;
+
+ NW_ASSERT(destination != NULL);
+ NW_ASSERT(source != NULL);
+
+ while(*destination != '\0')
+ {
+ destination++;
+ }
+
+
+ while ( (nCount < count) && (*source != CXML_ASCII_NULL ) ) {
+ *destination = *source;
+ destination++;
+ source++;
+ nCount++;
+ }
+
+ /*
+ ** ANSI 7.11.2.4 says nulls are appended till count characters in all have
+ ** been copied
+ */
+ while (nCount < count) {
+ *destination = CXML_ASCII_NULL;
+ destination++;
+ nCount++;
+ }
+ return destination;
+}
+
+
+
+
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/utils/src/cxml_vector.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/utils/src/cxml_vector.c Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,341 @@
+/*
+* Copyright (c) 2003 - 2004 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include
+#include "cxml_internal.h"
+
+/* ------------------------------------------------------------------------- */
+
+/* ------------------------------------------------------------------------- */
+static
+CXML_Uint8*
+CXML_Vector_AllocateSegment (CXML_Vector_t* thisObj, NW_TinyTree_TreeNode_t* sentinel)
+{
+ CXML_Uint8* buffer = NULL;
+ if(sentinel)
+ {
+ buffer = (NW_Uint8*) NW_Mem_Malloc ((thisObj->segmentSize + 1) * thisObj->elementSize);
+ if(buffer)
+ {
+ NW_Mem_memcpy(buffer, sentinel, sizeof(NW_TinyTree_TreeNode_t));
+ buffer += thisObj->elementSize;
+ }
+ }
+ else
+ {
+ buffer = (NW_Uint8*) NW_Mem_Malloc (thisObj->segmentSize * thisObj->elementSize);
+ }
+ return buffer;
+}
+
+/* ------------------------------------------------------------------------- */
+static
+NW_Status_t
+CXML_Vector_ResizeCapacity (CXML_Vector_t* thisObj,
+ CXML_Vector_Metric_t capacityNeeded,
+ NW_TinyTree_TreeNode_t* sentinel)
+{
+ CXML_Vector_Metric_t newNumSegments;
+ CXML_Vector_Metric_t newSegmentListSize;
+ NW_Uint8** newSegmentList;
+ // CXML_Vector_Metric_t index;
+
+ /* calculate the new segmentList size */
+ newNumSegments =
+ (CXML_Vector_Metric_t) ((capacityNeeded - 1) / thisObj->segmentSize + 1);
+ newSegmentListSize = (CXML_Vector_Metric_t)
+ (((newNumSegments - 1) / CXML_SEGMENT_LIST_INCREMENT + 1) * CXML_SEGMENT_LIST_INCREMENT);
+
+ /* if we are shrinking the array, we must first deallocate all the segments
+ that will be obsolete */
+ while (thisObj->numSegments > newNumSegments) {
+ NW_Mem_Free (thisObj->segmentList[--thisObj->numSegments]);
+ }
+ thisObj->capacity =
+ (CXML_Vector_Metric_t) (thisObj->numSegments * thisObj->segmentSize);
+
+ /* allocate the new segmentList and copy the old segmentList entries into the
+ new */
+ newSegmentList =
+ (NW_Uint8**) NW_Mem_Malloc (newSegmentListSize * sizeof (*newSegmentList));
+ if (newSegmentList == NULL) {
+ return NW_STAT_OUT_OF_MEMORY;
+ }
+ (void) NW_Mem_memcpy (newSegmentList, thisObj->segmentList,
+ thisObj->numSegments * sizeof (*newSegmentList));
+
+ /* free the old segmentList and install the new */
+ NW_Mem_Free (thisObj->segmentList);
+
+ thisObj->segmentList = newSegmentList;
+ thisObj->segmentListSize = newSegmentListSize;
+
+ /* if we are growing the array we need to allocate the new segments */
+ while (thisObj->numSegments < newNumSegments) {
+ thisObj->segmentList[thisObj->numSegments] =
+ CXML_Vector_AllocateSegment(thisObj, sentinel);
+ if (thisObj->segmentList[thisObj->numSegments++] == NULL) {
+ thisObj->numSegments -= 1;
+ return NW_STAT_OUT_OF_MEMORY;
+ }
+ }
+ thisObj->capacity =
+ (CXML_Vector_Metric_t) (thisObj->numSegments * thisObj->segmentSize);
+
+ /* successful completion */
+ return NW_STAT_SUCCESS;
+}
+
+/* ------------------------------------------------------------------------- */
+static
+NW_Status_t
+CXML_Vector_MoveElements (CXML_Vector_t* thisObj,
+ CXML_Vector_Metric_t srcIndex,
+ CXML_Vector_Metric_t dstIndex,
+ NW_TinyTree_TreeNode_t* sentinel)
+{
+ NW_Int32 sizeDelta;
+ CXML_Vector_Metric_t numElements;
+ NW_Int32 index;
+
+ /* */
+ if (dstIndex > srcIndex) {
+ sizeDelta = dstIndex - srcIndex;
+ } else {
+ sizeDelta = - (NW_Int32) (srcIndex - dstIndex);
+ }
+
+ if (thisObj->size + sizeDelta > thisObj->capacity) {
+ NW_Status_t status;
+
+ status = CXML_Vector_ResizeCapacity (thisObj,
+ (CXML_Vector_Metric_t) (thisObj->size + sizeDelta), sentinel);
+ if (status != NW_STAT_SUCCESS) {
+ return status;
+ }
+ }
+
+ /* now do the actual move */
+ /* TODO: this is a very inefficient way of moving the data, we will probably
+ need to implement a block move capability */
+ numElements = (CXML_Vector_Metric_t) (thisObj->size - srcIndex);
+ if (srcIndex > dstIndex) {
+ for (index = 0; index < NW_INT32_CAST(numElements); index++) {
+ (void) NW_Mem_memcpy (CXML_Vector_AddressAt (thisObj,
+ (CXML_Vector_Metric_t) (dstIndex + index)), CXML_Vector_AddressAt (thisObj,
+ (CXML_Vector_Metric_t) (srcIndex + index)), thisObj->elementSize);
+ }
+ } else {
+ for (index = numElements - 1; index >= 0; index--) {
+ (void) NW_Mem_memcpy (CXML_Vector_AddressAt (thisObj,
+ (CXML_Vector_Metric_t) (dstIndex + index)), CXML_Vector_AddressAt (thisObj,
+ (CXML_Vector_Metric_t) (srcIndex + index)), thisObj->elementSize);
+ }
+ }
+
+ /* successful completion */
+ return NW_STAT_SUCCESS;
+}
+
+CXML_Vector_t*
+CXML_Vector_Construct(CXML_Vector_Metric_t elementSize,
+ CXML_Vector_Metric_t segmentSize)
+{
+ CXML_Vector_t* vector = (CXML_Vector_t*) NW_Mem_Malloc(sizeof(CXML_Vector_t));
+
+if(vector)
+ {
+ vector->elementSize = elementSize;
+ vector->capacity = 0;
+ vector->size = 0;
+
+ vector->segmentSize = segmentSize;
+ vector->segmentListSize = CXML_SEGMENT_LIST_INCREMENT;
+
+ //Allocate memory for one segment here. For more memory the
+ //function CXML_Vector_ResizeCapacity() will do the job.
+
+ vector->segmentList = (NW_Uint8**)
+ NW_Mem_Malloc (vector->segmentListSize * sizeof (*vector->segmentList));
+
+ if (vector->segmentList == NULL) {
+ NW_Mem_Free(vector);
+ return NULL;
+ }
+vector->numSegments = 0;
+ }
+ return vector;
+}
+
+void
+CXML_Vector_Destruct(CXML_Vector_t* vector)
+{
+ CXML_Vector_Metric_t index;
+ for (index = 0; index < vector->numSegments; index++) {
+ NW_Mem_Free (vector->segmentList[index]);
+ }
+ NW_Mem_Free (vector->segmentList);
+ NW_Mem_Free(vector);
+}
+
+void
+CXML_Vector_AdjustSegment(CXML_Vector_t* vector)
+{
+ CXML_Vector_Metric_t index;
+
+ /*
+ * Walk through segment list adjusting pointers to the
+ * sentinel element at the beginning of each segment
+ */
+
+ for (index = 0; index < vector->numSegments; index++) {
+ vector->segmentList[index] -= vector->elementSize;
+ }
+}
+
+NW_Uint8*
+CXML_Vector_AddressAt (const CXML_Vector_t* thisObj,
+ CXML_Vector_Metric_t index)
+{
+ CXML_Vector_Metric_t segmentIndex;
+
+ /* determine the segment index and return the offset into that segment */
+ segmentIndex =
+ (CXML_Vector_Metric_t) (index / thisObj->segmentSize);
+ return
+ (NW_Uint8*) thisObj->segmentList[segmentIndex]
+ + (index % thisObj->segmentSize) * thisObj->elementSize;
+}
+
+/* ------------------------------------------------------------------------- */
+void**
+CXML_Vector_InsertAt (CXML_Vector_t* thisObj,
+ void* element,
+ CXML_Vector_Metric_t where,
+ void* sentinel)
+{
+ NW_Status_t status;
+
+ /* convert the where if CXML_Vector_AtEnd is specified */
+ if (where == CXML_Vector_AtEnd) {
+ where = thisObj->size;
+ }
+
+ /* make sure that the where element is not out of bounds */
+ NW_ASSERT (where <= thisObj->size);
+
+ /* move all the elements up by one, if this fails we simply return
+ the error code passed to us */
+ status =
+ CXML_Vector_MoveElements (thisObj, where,
+ (CXML_Vector_Metric_t) (where + 1),
+ (NW_TinyTree_TreeNode_t*) sentinel);
+ if (status != NW_STAT_SUCCESS) {
+ return NULL;
+ }
+
+ /* copy the element into vector */
+ if (element != NULL) {
+ (void) NW_Mem_memcpy (CXML_Vector_AddressAt (thisObj, where),
+ element, thisObj->elementSize);
+ } else {
+ /*
+ * if element is NULL, then we need to zero out the memory block. This is necessary
+ * because later code which fills in the values for this newly allocated vector
+ * element may leave some bytes in the memory block un-assigned due to padding.
+ */
+ NW_Mem_memset ( CXML_Vector_AddressAt (thisObj, where),
+ 0, thisObj->elementSize);
+ }
+
+ /* increment the size count */
+ thisObj->size += 1;
+
+ /* successful completion */
+ return (void**)
+ CXML_Vector_AddressAt (thisObj, where);
+}
+
+/* ------------------------------------------------------------------------- */
+NW_Status_t
+CXML_Vector_RemoveAt (CXML_Vector_t* thisObj,
+ CXML_Vector_Metric_t index)
+{
+ NW_Status_t status;
+
+ /* convert the index if CXML_Vector_AtEnd is specified */
+ if (index == CXML_Vector_AtEnd) {
+ index = (CXML_Vector_Metric_t) (thisObj->size - 1);
+ }
+
+ /* make sure that the index element is not out of bounds */
+ if (index >= thisObj->size) {
+ return NW_STAT_FAILURE;
+ }
+
+ /* don't bother to move anything if the resultant size is zero */
+ if (thisObj->size > 1) {
+ /* move all the elements down by one, if this fails we simply return
+ the error code passed to us */
+ status =
+ CXML_Vector_MoveElements (thisObj, (CXML_Vector_Metric_t) (index + 1),
+ index, NULL);
+ if (status != NW_STAT_SUCCESS) {
+ return status;
+ }
+ }
+
+ /* increment the size count */
+ thisObj->size -= 1;
+
+ /* successful completion */
+ return NW_STAT_SUCCESS;
+}
+
+/* ------------------------------------------------------------------------- */
+void**
+CXML_Vector_ElementAt (const CXML_Vector_t* vector,
+ CXML_Vector_Metric_t index)
+{
+ if (index >= vector->size) {
+ return NULL;
+ }
+ return (void**) CXML_Vector_AddressAt (vector, index);
+}
+
+/* ------------------------------------------------------------------------- */
+CXML_Vector_Metric_t
+CXML_Vector_GetElementIndex (const CXML_Vector_t* vector,
+ void* target)
+{
+ CXML_Vector_Metric_t index;
+
+ for (index = 0; index < vector->size; index++) {
+ void* element;
+
+ /* get and compare the element */
+ element = CXML_Vector_ElementAt (vector, index);
+ if (NW_Mem_memcmp (target, element, vector->elementSize) == 0) {
+ return index;
+ }
+ }
+
+ /* no match found, return CXML_Vector_AtEnd */
+ return CXML_Vector_AtEnd;
+}
+
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/utils/src/nwx_buffer.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/utils/src/nwx_buffer.c Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,228 @@
+/*
+* Copyright (c) 1999 - 2001 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/*****************************************************************
+** File name: NW_Buffer.c
+** Part of: Buffer
+** Version: 3/16/99 Initial version
+** Description: Provides the interface to a managerd buffer of bytes.
+** The buffer contains an allocated size and an in use
+** size (length) and also a pointer to a data array.
+******************************************************************/
+
+/*
+**-------------------------------------------------------------------------
+** Include Files
+**-------------------------------------------------------------------------
+*/
+#include "nwx_buffer.h"
+#include "nwx_mem.h"
+#include "nwx_assert.h"
+#include "nw_string_utils.h"
+
+/*
+**-------------------------------------------------------------------------
+** Constants
+**-------------------------------------------------------------------------
+*/
+
+/*
+**-------------------------------------------------------------------------
+** Internal Types
+**-------------------------------------------------------------------------
+*/
+
+/*
+**-------------------------------------------------------------------------
+** Macros
+**-------------------------------------------------------------------------
+*/
+
+/*
+**-------------------------------------------------------------------------
+** Internal Prototypes
+**-------------------------------------------------------------------------
+*/
+
+/*
+**-------------------------------------------------------------------------
+** File Scoped Static Variables
+**-------------------------------------------------------------------------
+*/
+
+/*
+**-------------------------------------------------------------------------
+** Global Variable Definitions
+**-------------------------------------------------------------------------
+*/
+
+/*
+**-------------------------------------------------------------------------
+** Internal Functions
+**-------------------------------------------------------------------------
+*/
+static NW_Status_t Resize_Data(NW_Buffer_t *buffer, const NW_Uint32 len)
+{
+ void *temp;
+
+ if (buffer->allocatedLength < len) {
+ temp = NW_Mem_Malloc(len);
+ if (temp == NULL)
+ return NW_STAT_OUT_OF_MEMORY;
+ NW_Mem_Free(buffer->data);
+ buffer->length = 0;
+ buffer->allocatedLength = len;
+ buffer->data = temp;
+ }
+ return NW_STAT_SUCCESS;
+}
+
+
+/*
+**-------------------------------------------------------------------------
+** External Public (Exported) Functions
+**-------------------------------------------------------------------------
+*/
+
+/*****************************************************************
+** Name: NW_Buffer_New
+** Description: creates a new buffer
+** Parameters: size - size to allocate
+** Return Value: pointer to the new buffer
+******************************************************************/
+NW_Buffer_t *NW_Buffer_New(const NW_Uint32 size)
+{
+ NW_Buffer_t *buffer;
+
+ buffer = NW_Mem_Malloc(sizeof(NW_Buffer_t));
+ if (buffer != NULL) {
+ buffer->length = 0;
+ buffer->allocatedLength = size;
+ buffer->data = NULL;
+ if (size > 0) {
+ buffer->data = NW_Mem_Malloc(size);
+ if (buffer->data == NULL) {
+ NW_Mem_Free(buffer);
+ return NULL;
+ }
+ }
+ }
+ return buffer;
+}
+
+/*****************************************************************
+** Name: NW_Buffer_Free
+** Description: frees the space allocated for a buffer
+** Parameters: *buffer - the buffer to free
+** Return Value: void
+******************************************************************/
+EXPORT_C void NW_Buffer_Free(NW_Buffer_t *buffer)
+{
+ if (buffer != NULL) {
+ if (buffer->data != NULL) {
+ NW_Mem_Free(buffer->data);
+ buffer->data = NULL;
+ }
+ NW_Mem_Free(buffer);
+ }
+ return;
+}
+
+/*****************************************************************
+** Name: NW_Buffer_FreeNotData
+** Description: free the space allocated for a buffer.
+** Parameters: *buffer - the buffer to free
+** Return Value: void
+** Notes: This does not free the data
+******************************************************************/
+EXPORT_C void NW_Buffer_FreeNotData(NW_Buffer_t *buffer)
+{
+ if (buffer != NULL) {
+ buffer->data = NULL;
+ NW_Mem_Free(buffer);
+ }
+ return;
+}
+
+/*****************************************************************
+** Name: NW_Buffer_CopyStr
+** Description: Copy NULL terminated string into buffer and adjust
+** length. If necessary, reallocate space.
+** Parameters: *buffer - the buffer to copy to
+** *str - the string to copy from
+** Return Value: NW_STAT_SUCCESS if succeeds, else NW_STAT_OUT_OF_MEMORY
+******************************************************************/
+NW_Status_t NW_Buffer_CopyStr(NW_Buffer_t *buffer, const NW_Ucs2 *str)
+{
+ NW_Uint16 len;
+
+ NW_ASSERT(buffer != NULL);
+ NW_ASSERT(str != NULL);
+
+ len = (NW_Uint16)NW_Str_Strsize(str);
+ if (Resize_Data(buffer, len) == NW_STAT_OUT_OF_MEMORY)
+ return NW_STAT_OUT_OF_MEMORY;
+ NW_Mem_memcpy(buffer->data, str, len);
+ buffer->length = len;
+ return NW_STAT_SUCCESS;
+}
+
+/*****************************************************************
+** Name: NW_Buffer_CopyBuffers
+** Description: Copy NW_Buffer into buffer (NW_Buffer)
+** and adjust length. If necessary, reallocate space.
+** Parameters: *to - the buffer to copy to
+** *from - the buffer to copy from
+** Return Value: NW_STAT_SUCCESS if succeeds, else NW_STAT_OUT_OF_MEMORY
+******************************************************************/
+NW_Status_t NW_Buffer_CopyBuffers(NW_Buffer_t *to, const NW_Buffer_t *from)
+{
+ NW_ASSERT(to != NULL);
+ NW_ASSERT(from != NULL);
+
+ if (Resize_Data(to, from->length) == NW_STAT_OUT_OF_MEMORY)
+ return NW_STAT_OUT_OF_MEMORY;
+ NW_Mem_memcpy(to->data, from->data, from->length);
+ to->length = from->length;
+ return NW_STAT_SUCCESS;
+}
+
+/*****************************************************************
+** Name: NW_Buffer_SetData
+** Description: Set NULL terminated ascii string into buffer and
+** adjust length.
+** Parameters: *buffer - the buffer to copy to
+** *str - the string to set into buffer
+** Return Value: void
+******************************************************************/
+void NW_Buffer_SetData(NW_Buffer_t *buffer, char *str)
+{
+ NW_Uint32 len;
+
+ NW_ASSERT(buffer != NULL);
+ NW_ASSERT(str != NULL);
+
+ if(buffer->data != NULL) {
+ NW_Mem_Free(buffer->data);
+ }
+ len = (NW_Asc_strlen(str) + 1) * sizeof(char);
+ buffer->length = len;
+ buffer->allocatedLength = len;
+ buffer->data = (NW_Byte *)str;
+ return;
+}
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/utils/src/nwx_mem_epoc32.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/utils/src/nwx_mem_epoc32.c Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,414 @@
+/*
+* Copyright (c) 1999 - 2000 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/***************************************************************************
+** File: nwx_mem.c
+** Purpose: Provides the implementation to memory management
+**************************************************************************/
+
+/*
+**-------------------------------------------------------------------------
+** Include Files
+**-------------------------------------------------------------------------
+*/
+#include "nwx_mem.h"
+#ifdef FEATURE_MEMORY_PROFILE
+#include "nwx_ctx.h"
+#include "nwx_logger.h"
+#endif // FEATURE_MEMORY_PROFILE
+
+/*
+**-------------------------------------------------------------------------
+** Constants
+**-------------------------------------------------------------------------
+*/
+
+/*
+**-------------------------------------------------------------------------
+** Internal Types
+**-------------------------------------------------------------------------
+*/
+#ifdef FEATURE_MEMORY_PROFILE
+typedef struct _MemProfile
+{
+ struct _MemProfile *next; // ptr to next mem block
+ struct _MemProfile *prev; // ptr to previous mem block
+ char *file; // filename of memory allocator
+ NW_Int32 line; // line # in filename of memory allocator
+ NW_Int32 size; // size of requested memory
+ NW_Int32 seq; // sequence number for allocation
+} MemProfile;
+#endif // FEATURE_MEMORY_PROFILE
+
+/*
+**-------------------------------------------------------------------------
+** Macros
+**-------------------------------------------------------------------------
+*/
+
+/*
+**-------------------------------------------------------------------------
+** Internal Prototypes
+**-------------------------------------------------------------------------
+*/
+
+/*
+**-------------------------------------------------------------------------
+** File Scoped Static Variables
+**-------------------------------------------------------------------------
+*/
+
+/*
+**-------------------------------------------------------------------------
+** Global Variable Definitions
+**-------------------------------------------------------------------------
+*/
+
+
+/*
+**-------------------------------------------------------------------------
+** Internal Functions
+**-------------------------------------------------------------------------
+*/
+
+
+/*
+**-------------------------------------------------------------------------
+** External Public (Exported) Functions
+**-------------------------------------------------------------------------
+*/
+
+void *NW_Mem_memset(void *s, NW_Uint32 c, NW_Uint32 n)
+{
+ unsigned char *myPtr = (unsigned char *)s;
+ unsigned char fill = (unsigned char)c;
+ while (n > 0) {
+ *myPtr = fill;
+ myPtr++;
+ n--;
+ }
+ return s;
+}
+
+EXPORT_C void *NW_Mem_memcpy(void *s1, const void *s2, NW_Uint32 n)
+{
+ unsigned char *myDest = (unsigned char *)s1;
+ unsigned char *mySource = (unsigned char *)s2;
+ if (n==0) return NULL;
+ while (n > 0) {
+ *myDest = *mySource;
+ n--;
+ myDest++;
+ mySource++;
+ }
+ return s1;
+}
+
+void *NW_Mem_memmove(void *s1, const void *s2, NW_Uint32 n)
+{
+ unsigned char *tempBuff;
+ if (n == 0) return NULL;
+ tempBuff = NW_Mem_Malloc(n);
+ if (tempBuff == NULL) {
+ return NULL;
+ }
+ NW_Mem_memcpy(tempBuff, s2, n);
+ NW_Mem_memcpy(s1, tempBuff, n);
+ NW_Mem_Free(tempBuff);
+ return s1;
+}
+
+NW_Int32 NW_Mem_memcmp(const void *s1, const void *s2, NW_Uint32 n)
+{
+ unsigned char *myDest = (unsigned char *)s1;
+ unsigned char *mySource = (unsigned char *)s2;
+
+ /* If s1 == s2, then immediately return 0. */
+ if ( s1 == s2 )
+ return 0 ;
+
+ while (n > 0) {
+ if (*myDest != *mySource) {
+ return (*myDest - *mySource);
+ }
+ myDest++;
+ mySource++;
+ n--;
+ }
+
+ return 0;
+}
+
+
+/*********************************************************
+** Name: NW_Mem_Malloc
+** Description: Allocates memory.
+** Parameters: nbytes - number of bytes to allocate
+** Return Value: pointer to the allocated memory or NULL
+**********************************************************/
+
+EXPORT_C void *NW_Mem_Malloc_No_Pro(NW_Uint32 nbytes)
+{
+ void *buf;
+ buf = malloc(nbytes);
+ return buf;
+}
+
+/************************************************************************
+** Name: NW_Mem_Free
+** Description: Frees allocated memory.
+** Parameters: mem - pointer to the memory to free
+** Return Value: void
+**************************************************************************/
+EXPORT_C void NW_Mem_Free_No_Pro(void *mem)
+{
+ /* Note: free() handles NULL pointers corretly */
+ free(mem);
+ return;
+}
+
+
+// --------------------------------------------------------
+// PROFILED MEMORY MANAGEMENT ROUTINES
+// --------------------------------------------------------
+
+#ifdef FEATURE_MEMORY_PROFILE
+
+/*****************************************************************
+** Name: Asc_strlen
+** Description: Returns string length of ascii string
+** Parameters: *string - Null-terminated ascii string
+** Return Value: string length
+******************************************************************/
+NW_Uint32 Asc_strlen(const char *s)
+{
+ NW_Uint32 i = 0;
+ while (*s != '\0')
+ {
+ s++;
+ i++;
+ }
+ return i;
+}
+
+/*****************************************************************
+** Name: Asc_strcpy
+** Description: Copies ascii string
+** Parameters: s1 destination string
+** s2 source string
+** Return Value: pointer to s1
+******************************************************************/
+char *Asc_strcpy(char *s1, const char *s2)
+{
+ while (*s2 != '\0') {
+ *s1 = *s2;
+ s1++;
+ s2++;
+ }
+ *s1 = *s2;
+ return s1;
+}
+
+/*****************************************************************
+** Name: Str_CvtFromAscii
+** Description: Convert null-terminated ascii string to new ucs2 string
+** Parameters: *string - Null-terminated ascii string
+** Return Value: pointer to new ucs2 string or NULL
+******************************************************************/
+NW_Ucs2 *Str_CvtFromAscii(const char *string)
+{
+ NW_Uint32 i, size;
+ NW_Ucs2* res = NULL;
+
+ NW_ASSERT(string);
+
+ size = Asc_strlen(string) + 1;
+ res = malloc(size * sizeof(NW_Ucs2));
+ /* this is a really naive conversion from ascii */
+ if (res != NULL) {
+ for (i=0; i < size; i++) {
+ res[i] = string[i];
+ }
+ }
+ return res;
+}
+
+
+/*********************************************************
+** Name: NW_Mem_Malloc_Pro
+** Description: Allocates "profiled" memory.
+** Parameters: nbytes - number of bytes to allocate
+** file - string of filename where this was called
+** line - line # of file where this was called
+** Return Value: pointer to the allocated memory or NULL
+**********************************************************/
+void *NW_Mem_Malloc_Pro(NW_Uint32 nbytes, char *file, NW_Uint32 line)
+{
+ void *buf;
+ MemProfile *pblock, *last;
+ NW_Int32 len = nbytes + sizeof(MemProfile);
+ NW_Int32 seqno;
+ NW_Status_t status;
+
+ pblock = malloc(len);
+
+ // Store profile block data
+
+ if ((NW_Uint32) file > 0xf000)
+ {
+ pblock->file = (char*)malloc(Asc_strlen(file) + 1);
+ Asc_strcpy(pblock->file, file);
+ }
+ else
+ {
+ // no filename since this may be called via a function ptr
+ pblock->file = NULL;
+ }
+ pblock->line = line;
+ pblock->size = nbytes;
+
+ // Set List Pointers
+ // Get last ptr
+ last = (MemProfile *) NW_Ctx_Get(NW_CTX_MEM_PRO_LAST_PTR, 0);
+
+ if (last == NULL)
+ {
+ pblock->prev = NULL;
+ pblock->seq = 0;
+ }
+ else
+ {
+ pblock->prev = last;
+ last->next = pblock;
+ // can't use last-> because free my remove block (along with
+ // seq numbers, need a context
+ seqno = (NW_Uint32) NW_Ctx_Get(NW_CTX_MEM_PRO_SEQ_NO, 0);
+ seqno += 1;
+ pblock->seq = seqno;
+ status = NW_Ctx_Set(NW_CTX_MEM_PRO_SEQ_NO, 0, seqno);
+ NW_ASSERT(status == NW_STAT_SUCCESS);
+ }
+ pblock->next = NULL;
+
+ // last = pblock
+ last = pblock;
+ status = NW_Ctx_Set(NW_CTX_MEM_PRO_LAST_PTR, 0, last);
+ NW_ASSERT(status == NW_STAT_SUCCESS);
+
+
+ // return mem block to caller
+ buf = (void *) ((NW_Byte *) pblock + sizeof(MemProfile));
+ return (buf);
+}
+
+/************************************************************************
+** Name: NW_Mem_Free_Pro
+** Description: Frees allocated "profiled" memory.
+** Parameters: mem - pointer to the memory to free
+** file - string of filename where this was called
+** line - line # of file where this was called
+** Return Value: void
+**************************************************************************/
+void NW_Mem_Free_Pro(void *buffer, char *file, NW_Uint32 line)
+{
+ MemProfile *pblock, *last, *prevp, *nextp;
+ NW_Status_t status;
+
+ if (buffer == NULL)
+ {
+ return;
+ }
+
+ pblock = (MemProfile *) ((NW_Byte *) buffer - sizeof(MemProfile));
+
+ // Get last ptr
+ last = (MemProfile *) NW_Ctx_Get(NW_CTX_MEM_PRO_LAST_PTR, 0);
+
+ if ( pblock == last )
+ {
+ last = last->prev;
+ status = NW_Ctx_Set(NW_CTX_MEM_PRO_LAST_PTR, 0, last);
+ NW_ASSERT(status == NW_STAT_SUCCESS);
+ }
+ else
+ {
+ prevp = pblock->prev;
+ nextp = pblock->next;
+ if (prevp)
+ {
+ prevp->next = nextp;
+ }
+ if (nextp)
+ {
+ nextp->prev = prevp;
+ }
+ }
+
+ // Free Filename pointer and memory block
+ free(pblock->file);
+ free(pblock);
+ return;
+}
+
+
+/************************************************************************
+** Name: SendStringToLogger1
+** Description: Output Memory Profile Data to Debug Log
+** Parameters: none
+** Return Value: void
+**************************************************************************/
+void SendStringToLogger1(char *strMsg)
+{
+ MemProfile *pblock, *last;
+ NW_Ucs2 *uStrFileName = NULL;
+
+ if (strMsg != NULL)
+ {
+ NW_Ucs2 *uStrMsg = Str_CvtFromAscii(strMsg);
+ NW_LOG1(NW_LOG_LEVEL1, "NW_Mem_Pro_Log: %s", uStrMsg);
+ free(uStrMsg);
+ return;
+ }
+
+ // Get last ptr
+ last = (MemProfile *) NW_Ctx_Get(NW_CTX_MEM_PRO_LAST_PTR, 0);
+
+ pblock = last;
+ while ( pblock )
+ {
+ if (pblock->file == NULL)
+ {
+ uStrFileName = Str_CvtFromAscii("??");
+ }
+ else
+ {
+ uStrFileName = Str_CvtFromAscii(pblock->file);
+ }
+ NW_LOG6(NW_LOG_LEVEL1, "NW_Mem_Pro_Log: memBlock:%X, data:%X, File: %s ; Line: %d ; Size: %d ; SEQ: %d",
+ pblock,
+ pblock + sizeof(MemProfile),
+ uStrFileName,
+ pblock->line,
+ pblock->size,
+ pblock->seq);
+ NW_LOG0(NW_LOG_LEVEL1, "NW_Mem_Pro_Log: ------------------------------");
+ pblock = pblock->prev;
+ free(uStrFileName);
+ }
+}
+#endif // FEATURE_MEMORY_PROFILE
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/wbxmlp/include/DictionaryContext.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/wbxmlp/include/DictionaryContext.h Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,58 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef NW_PARSER_WBXML_DICTIONARYCONTEXT_H
+#define NW_PARSER_WBXML_DICTIONARYCONTEXT_H
+
+/* TODO: Change dictionaries to be all static const. Currently
+ * they are stored inside the context.
+ */
+
+#define MAX_DICTIONARIES 9
+
+
+/* Temporary methods for storing dictionary & dictionary size inside the context.
+ */
+
+#include
+#include
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif /* __cplusplus */
+
+typedef enum {
+ NW_CONTEXT_REF_DICT_CNT_INR,
+ NW_CONTEXT_REF_DICT_CNT_DCR
+} CXML_DICT_REF_CNT;
+
+void StoreDictionaries(NW_WBXML_Dictionary_t** dictionaries);
+NW_WBXML_Dictionary_t** GetDictionaries();
+void StoreDictionaryCount(NW_Uint32 dictionary_count);
+NW_Uint32 GetDictionaryCount();
+void DestroyDictionaries();
+/*The following function takes parameter of type CXML_DICT_REF_CNT only */
+void UpdateDictRefCnt(CXML_DICT_REF_CNT updateVal);
+
+#ifdef __cplusplus
+} // extern "C" {
+#endif /* __cplusplus */
+
+
+#endif // NW_PARSER_WBXML_DICTIONARYCONTEXT_H
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/wbxmlp/include/nw_wbxml_parsei.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/wbxmlp/include/nw_wbxml_parsei.h Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,109 @@
+/*
+* Copyright (c) 2000 - 2001 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/*****************************************************************
+** File: parseI.h
+**
+** Description: definitions internal to WBXML parser component
+*****************************************************************/
+
+#ifndef NW_PARSER_WBXML_PARSE_I_H
+#define NW_PARSER_WBXML_PARSE_I_H
+
+#include
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+
+/*
+ * Parser states, shared by reader and parser
+ */
+
+#define NW_WBXML_PARSER_S_MASK 0x0F
+#define NW_WBXML_PARSER_S_START 0x00
+#define NW_WBXML_PARSER_S_HEADER 0x01
+#define NW_WBXML_REGISTRY_INIT 0x10
+
+
+/*
+ * Parser internal status codes, shared by reader and parser
+ */
+
+#define NW_WBXML_PARSER_OK 0x0
+#define NW_WBXML_PARSER_NOMEMORY 0x1
+#define NW_WBXML_PARSER_BYTECODEERROR 0x2
+#define NW_WBXML_PARSER_CHARSET_UNSUPPORTED 0x4
+#define NW_WBXML_PARSER_UNKNOWN_ERROR 0x8
+
+/* Parse exceptions */
+
+#define NW_WBXML_EXCEPTION_MEMORY 1
+#define NW_WBXML_EXCEPTION_BYTECODE 2
+
+/*
+* WBXML token components
+*
+* The wbxml parser stores tokens as 32 bits. The meaning
+* of each token is determined as a 4-tuple:
+* the token itself (8 bits), the code page (8 bits),
+* the dictionary in which it is defined (for which we
+* allocate 15 bits) and a state flag that indicates whether
+* the token is in attribute or tag code space.
+*
+* Within the lowest 8 bits (the token component) the
+* wbxml spec defines further subsets of bits for tags
+* and attributes. The parser itself only int32erprets
+* the lowest 8 bits. The remaining bits are used for
+* token value lookups in dictionaries.
+*/
+
+/* TODO: export some of these definitions? */
+
+#define NW_WBXML_MASK_TOKEN 0x000000FF
+#define NW_WBXML_MASK_CODEPAGE 0x0000FF00
+#define NW_WBXML_MASK_DICTIONARY 0x7FFF0000
+#define NW_WBXML_MASK_CPSTATE 0x80000000
+
+#define NW_WBXML_CP_STATE_TAG 0x00000000
+#define NW_WBXML_CP_STATE_ATTR 0x80000000
+
+void
+NW_WBXML_CPRegistry_getCodePages(NW_WBXML_CP_Registry_t* registry,
+ NW_Uint32 offset,
+ NW_Uint8 *tag_code_page,
+ NW_Uint8 *attribute_code_page);
+
+NW_Status_t
+NW_WBXML_Parser_docHeaderParse(NW_WBXML_Parser_t * parser,
+ NW_WBXML_Document_t * doc);
+
+NW_Status_t
+NW_WBXML_Parser_bodyParse(NW_WBXML_Parser_t * parser);
+
+void
+NW_WBXML_Parser_bytecodeError (NW_WBXML_Parser_t * parser);
+
+
+#ifdef __cplusplus
+} // extern "C" {
+#endif /* __cplusplus */
+
+#endif /* NW_PARSER_WBXML_PARSE_I_H */
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/wbxmlp/src/DictionaryContext.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/wbxmlp/src/DictionaryContext.cpp Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,296 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include
+#include "DictionaryContext.h"
+#include "cxml_internal.h"
+#include "FeatMgr.h"
+#include
+
+/* There is possibility that dictionary initialize is called by the embedded
+ * application also. To make allocation/deallocation of dictionary possible.
+ * The NW_CONTEXT_REF_DICT_CNT variable is added. This variable of TLS context
+ * will keep the reference count of the number of times dictionary
+ * inialization/destroy is called.
+ *
+ * The dictionary is destroyed when NW_CONTEXT_REF_DICT_CNT is zero.
+ *
+ */
+
+typedef enum {
+ NW_CONTEXT_DICTIONARY = 0,
+ NW_CONTEXT_DICTIONARY_COUNT = 1,
+ NW_CONTEXT_REF_DICT_CNT = 2, /*Number of times dictionary rerferenced*/
+
+ NW_CONTEXT_NUM_ENTRIES = 3
+
+} NW_DictionaryContext_Id_t;
+
+
+typedef struct {
+ NW_Uint16 numContexts;
+ void *contexts[NW_CONTEXT_NUM_ENTRIES];
+} NW_DictionaryContext_Array_t;
+
+
+/*****************************************************************
+
+ Name: NW_Ctx_Init()
+
+ Description: Initialize the context manager
+
+ Parameters:
+
+ Return Value: NW_STAT_SUCCESS or NW_STAT_OUT_OF_MEMORY
+
+******************************************************************/
+static NW_Status_t DictContext_Init()
+{
+ NW_DictionaryContext_Array_t* contextArray;
+ NW_Uint32 i;
+
+ /*lint --e{429} Custodial pointer has not been freed or returned */
+
+ /* Initialize the context manager once, and only once! */
+ if (Dll::Tls() == NULL) {
+ /* Allocate and init array to hold context pointers */
+ contextArray = new NW_DictionaryContext_Array_t;
+
+ /*lint -e{774} Boolean within 'if' always evaluates to False */
+ if (contextArray == NULL) {
+ DestroyDictionaries();
+ return NW_STAT_OUT_OF_MEMORY;
+ }
+
+ contextArray->numContexts = NW_CONTEXT_NUM_ENTRIES;
+
+ for (i = 0; i < NW_CONTEXT_NUM_ENTRIES; i++) {
+ contextArray->contexts[i] = NULL;
+ }
+
+ /* Store the pointer to the context array */
+ if( Dll::SetTls( contextArray ) != KErrNone)
+ {
+ DestroyDictionaries();
+ }
+ }
+
+ return NW_STAT_SUCCESS;
+}
+
+
+/*****************************************************************
+
+ Name: NW_Ctx_Set()
+
+ Description: Set the context for the specified component
+
+ Parameters: component - which context
+ *ctx - pointer to the context to store
+
+ Return Value: NW_STAT_SUCCESS or NW_STAT_FAILURE
+
+******************************************************************/
+NW_Status_t DictContext_Set(const NW_DictionaryContext_Id_t aContextId,
+ void *ctx)
+{
+ NW_Status_t status = NW_STAT_SUCCESS;
+ NW_DictionaryContext_Array_t* contextArray;
+
+ NW_ASSERT(aContextId < NW_CONTEXT_NUM_ENTRIES);
+
+ /* Get the pointer to the context array */
+ contextArray = (NW_DictionaryContext_Array_t*)Dll::Tls();
+
+ if (contextArray == NULL) {
+ status = DictContext_Init();
+ if (status != NW_STAT_SUCCESS) {
+ return status;
+ }
+ contextArray = (NW_DictionaryContext_Array_t*)Dll::Tls();
+ }
+
+ /* Save the aContextId's context */
+ if (contextArray != NULL) {
+ /*lint -e{661} Possible access of out-of-bounds pointer */
+ contextArray->contexts[aContextId] = ctx;
+ return NW_STAT_SUCCESS;
+ }
+
+ return status;
+}
+
+
+/*****************************************************************
+
+ Name: DictContext_Get()
+
+ Description: Get the context for the specified component
+
+ Parameters: aContextId - which context
+
+ Return Value: pointer to the component's context or NULL
+
+******************************************************************/
+void *DictContext_Get(const NW_DictionaryContext_Id_t aContextId)
+{
+ NW_Status_t status;
+ NW_DictionaryContext_Array_t* contextArray;
+
+ /* Use "<=" rather than "<", as PushMtm tests last item for NULL */
+ NW_ASSERT(aContextId <= NW_CONTEXT_NUM_ENTRIES);
+
+ /* Get the pointer to the context array */
+ contextArray = (NW_DictionaryContext_Array_t*)Dll::Tls();
+
+ if (contextArray == NULL) {
+ status = DictContext_Init();
+ if (status != NW_STAT_SUCCESS) {
+ return NULL;
+ }
+ contextArray = (NW_DictionaryContext_Array_t*)Dll::Tls();
+ }
+
+ /* Return the component's context */
+ if (contextArray != NULL) {
+ /*lint --e{661} Possible access of out-of-bounds pointer */
+ /*lint --e{662} Possible creation of out-of-bounds pointer */
+ return contextArray->contexts[aContextId];
+ }
+
+ return NULL;
+}
+
+void DestroyDictionaries()
+{
+ NW_DictionaryContext_Array_t* contextArray = (NW_DictionaryContext_Array_t*)Dll::Tls();
+
+ if(contextArray)
+ {
+
+ /*Check the dictionary reference count. If it is zero
+ * then free the dictionary.
+ */
+ if(contextArray->contexts[NW_CONTEXT_REF_DICT_CNT] == 0)
+ {
+ NW_WBXML_Dictionary_t **dictionaries = GetDictionaries();
+
+ NW_Mem_Free(dictionaries);
+ StoreDictionaries(NULL);
+ StoreDictionaryCount(0);
+
+ // Get the TLS pointer
+
+ delete contextArray;
+ contextArray = NULL;
+ Dll::SetTls(contextArray);
+ }
+ }/*end if(contextArray)*/
+}
+
+/* Temporary methods for storing dictionary & dictionary size inside the context.
+ */
+void StoreDictionaries(NW_WBXML_Dictionary_t** dictionaries)
+{
+ DictContext_Set(NW_CONTEXT_DICTIONARY, (void*)dictionaries);
+
+}
+
+NW_WBXML_Dictionary_t** GetDictionaries()
+{
+ return (NW_WBXML_Dictionary_t**)DictContext_Get(NW_CONTEXT_DICTIONARY);
+}
+
+void StoreDictionaryCount(NW_Uint32 dictionary_count)
+{
+ DictContext_Set(NW_CONTEXT_DICTIONARY_COUNT, (void*)dictionary_count);
+
+}
+
+NW_Uint32 GetDictionaryCount()
+{
+ NW_Uint32 count = (NW_Uint32)DictContext_Get(NW_CONTEXT_DICTIONARY_COUNT);
+
+ return count;
+
+}
+
+
+void UpdateDictRefCnt(CXML_DICT_REF_CNT updateVal)
+{
+ NW_DictionaryContext_Array_t* contextArray;
+ NW_Uint32 refCount = 0;
+
+ /* Get the pointer to the context array */
+
+ contextArray = (NW_DictionaryContext_Array_t*)Dll::Tls();
+
+ if(contextArray != NULL)
+ {
+ refCount = (NW_Uint32) contextArray->contexts[NW_CONTEXT_REF_DICT_CNT];
+ if(updateVal == NW_CONTEXT_REF_DICT_CNT_INR)
+ {
+ contextArray->contexts[NW_CONTEXT_REF_DICT_CNT] =
+ (void*)++refCount;
+ }
+ else if(updateVal == NW_CONTEXT_REF_DICT_CNT_DCR)
+ {
+ contextArray->contexts[NW_CONTEXT_REF_DICT_CNT] =
+ (void*)--refCount;
+ }
+
+ }/*end if(contextArray != NULL)*/
+ return;
+}/*end UpdateDictRefCnt(CXML_DICT_REF_CNT updateVal)*/
+
+
+//
+//For Non DTD element support and checking for other features in the release
+//
+
+EXPORT_C
+CXML_Int32 CXML_Additional_Feature_Supprted()
+{
+
+CXML_Int32 featureFlag = 0;
+
+featureFlag |= CXML_DTD_SUPPORT_ON;
+
+ /* The feature manager not supported. May be hook up for future use.
+
+ CXML_Bool retVal = CXML_TRUE;
+
+ FeatureManager::InitializeLibL();
+
+ if(FeatureManager::FeatureSupported(KFeatureIdEcmaScript) )
+ {
+ retVal = CXML_TRUE;
+ }
+ else
+ {
+ retVal = CXML_FALSE;
+ }
+
+
+ retVal = CXML_TRUE;
+
+ return retVal;
+ */
+
+ return featureFlag;
+
+}//end CXML_Non_DTD_supprted()
+
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/wbxmlp/src/dictionary.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/wbxmlp/src/dictionary.c Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,776 @@
+/*
+* Copyright (c) 2000 - 2001 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/*****************************************************************
+** File: dictionary.c
+** Description:
+*****************************************************************/
+#include "cxml_internal.h"
+#include "nw_wbxml_parsei.h"
+#include
+#include
+#include "DictionaryContext.h"
+
+/* HTTP_iso_8859_1 IANA MIBenum 4 */
+#define NW_WBXML_DICTIONARY_CHARSET 4
+
+/*
+ * The dictionaries ...
+ */
+
+
+static
+NW_Bool
+NW_WBXML_Dictionary_CmpDictDocType(NW_WBXML_Dictionary_t* dictionary,
+ NW_String_t* string,
+ NW_Uint32 encoding)
+{
+ NW_Ucs2* docType;
+
+ docType = dictionary->doc_type;
+ while (*docType != 0)
+ {
+ NW_Int32 bytesRead;
+ NW_Ucs2 c;
+
+ bytesRead = NW_String_readChar(string->storage, &c, encoding);
+ if (c != *docType){
+ return NW_FALSE;
+ }
+ NW_ASSERT(bytesRead > 0);
+ string->storage = string->storage + bytesRead;
+ string->length = string->length - (NW_Uint32)bytesRead;
+ docType++;
+ }
+ return NW_TRUE;
+}
+
+static
+NW_String_UCS2Buff_t *
+getTagByToken (NW_WBXML_Codepage_t * page,
+ NW_Byte token)
+{
+ NW_WBXML_DictEntry_t *e;
+ NW_Int32 r;
+ NW_Int32 l = 0;
+
+ if (page == NULL)
+ return NULL;
+
+ r = page->count - 1;
+ e = page->tokens;
+
+ /* Binary search (tokens must be stored in order) */
+
+ while (r >= l)
+ {
+ NW_Int32 m = (l + r) / 2;
+ if (token == e[m].token)
+ return e[m].name;
+ if (token < e[m].token)
+ r = m - 1;
+ else
+ l = m + 1;
+ }
+
+ return NULL;
+}
+
+/*
+ * Return -1 if tag is not found, page is 0 or tag is 0
+ */
+
+static
+NW_Int16
+getTokenByTag (NW_WBXML_Codepage_t * page,
+ NW_String_UCS2Buff_t * tag,
+ NW_Bool matchCase)
+{
+ NW_Byte *names;
+ NW_Int32 r;
+ NW_Int32 l = 0;
+
+ if (page == NULL || tag == NULL)
+ return -1;
+
+ names = page->names;
+ r = page->count - 1;
+
+ while (r >= l)
+ {
+ NW_Int32 m = (l + r) / 2;
+ NW_Int32 c = NW_String_UCS2BuffCmp (tag, (page->tokens)[names[m]].name, matchCase);
+ if (c == 0)
+ return (page->tokens)[names[m]].token;
+ if (c < 0)
+ r = m - 1;
+ else
+ l = m + 1;
+ }
+
+ return -1;
+}
+
+static
+NW_Status_t
+getTokenByTag2 (NW_WBXML_Codepage_t * page,
+ NW_Uint32 encoding,
+ NW_Uint32 charCount,
+ NW_Uint8 * name,
+ NW_Uint16 * pageToken)
+{
+ NW_Byte *names;
+ NW_Int32 r;
+ NW_Int32 l = 0;
+
+ if (page == NULL || name == NULL || pageToken == NULL) {
+ return NW_STAT_FAILURE;
+ }
+
+ names = page->names;
+ r = page->count - 1;
+
+ while (r >= l)
+ {
+ NW_Int32 m = (l + r) / 2;
+ NW_Int32 c;
+ NW_Status_t s;
+ s = NW_String_CmpToNativeAlignedUCS2 (encoding, charCount, name,
+ (NW_Uint16*)((page->tokens)[names[m]].name),
+ &c);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+ if (c == 0) {
+ *pageToken = (page->tokens)[names[m]].token;
+ return NW_STAT_SUCCESS;
+ }
+ if (c < 0)
+ r = m - 1;
+ else
+ l = m + 1;
+ }
+ return NW_STAT_FAILURE;
+}
+
+static
+NW_Status_t
+getTokenByTag_HandleDuplicates (NW_WBXML_Codepage_t * page,
+ NW_Uint32 encoding,
+ NW_Uint32 charCount,
+ NW_Uint8 * name,
+ NW_Uint16 * pageToken,
+ NW_Bool isName)
+{
+ NW_Byte *names;
+ NW_Int32 i = 0;
+ NW_Uint16 tmpToken;
+
+ if (page == NULL || name == NULL || pageToken == NULL) {
+ return NW_STAT_FAILURE;
+ }
+
+ names = page->names;
+
+ while (i < page->count)
+ {
+ NW_Int32 c;
+ NW_Status_t s;
+ tmpToken = (page->tokens)[names[i]].token;
+ /* If the tag is AttributeTag, then MSB of lower order byte (token)
+ * should be unset. If the tag is AttributeValueTag, then MSB of
+ * lower order byte (token) should be set.
+ */
+ if((isName && !(tmpToken & 0x80)) || (!isName && (tmpToken & 0x80)))
+ {
+ s = NW_String_CmpToNativeAlignedUCS2 (encoding, charCount, name,
+ (NW_Uint16*)((page->tokens)[names[i]].name),
+ &c);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+ if (c == 0) {
+ *pageToken = tmpToken;
+ return NW_STAT_SUCCESS;
+ }
+ }
+ i++;
+ }
+ return NW_STAT_FAILURE;
+}
+
+/*
+ * Dictionary ids are a 1-based index into the dictionary table
+ *
+ * Return NULL if id is < 1 or id is greater than dictionary_count
+ */
+
+static
+NW_WBXML_Dictionary_t *
+getDictionaryById (NW_Uint32 id)
+{
+ NW_WBXML_Dictionary_t *d;
+ NW_WBXML_Dictionary_t **dictionaries = GetDictionaries();
+
+ if (id < 1 || id > GetDictionaryCount())
+ return NULL;
+
+//#ifdef __WINS__
+ d = dictionaries[id - 1];
+//#endif
+
+ return d;
+}
+
+/*
+ * This function checks if the dictionary has already been added
+ * to the 'dictionaries' table. The comparison is based on
+ * puclic ids, and therefore it is important that each dictionary
+ * has unique public id.
+ *
+ */
+static NW_Bool ExistingDictionary(NW_WBXML_Dictionary_t *dictionary)
+{
+//#ifdef __WINS__
+ NW_Uint32 i;
+ NW_Uint32 dictionary_count = GetDictionaryCount();
+ NW_WBXML_Dictionary_t **dictionaries = GetDictionaries();
+
+ for (i=0; ipublic_id == dictionary->public_id) {
+ return NW_TRUE;
+ }
+ }
+//#endif
+ return NW_FALSE;
+}
+
+EXPORT_C NW_Status_t
+NW_WBXML_Dictionary_initialize (NW_Int32 n,
+ NW_WBXML_Dictionary_t * d[])
+{
+ NW_WBXML_Dictionary_t **dictionaries = GetDictionaries();
+
+ /* Make sure that adding dictionaries is done by calling NW_WBXML_Dictionary_add(). */
+ if (dictionaries == NULL)
+ {
+ dictionaries = (NW_WBXML_Dictionary_t **)NW_Mem_Malloc(sizeof(NW_WBXML_Dictionary_t*) * MAX_DICTIONARIES);
+ if (dictionaries == NULL) {
+ DestroyDictionaries();
+ return NW_STAT_OUT_OF_MEMORY;
+ }
+ StoreDictionaries(dictionaries);
+ StoreDictionaryCount(0);
+ }
+ UpdateDictRefCnt(NW_CONTEXT_REF_DICT_CNT_INR);
+ return NW_WBXML_Dictionary_add(n, d);
+}
+
+NW_Status_t
+NW_WBXML_Dictionary_add(NW_Int32 n, NW_WBXML_Dictionary_t* d[])
+{
+ NW_Int32 i;
+ NW_WBXML_Dictionary_t **dictionaries = GetDictionaries();
+
+ if (dictionaries == NULL)
+ {
+ return NW_STAT_FAILURE;
+ }
+
+ NW_ASSERT(n > 0);
+ NW_ASSERT(d != NULL);
+
+ /* This loop adds only the new dictionaries received in the
+ function call (the *d[] table) into the 'dictionaries' table. */
+ for (i=0; i= MAX_DICTIONARIES) {
+ return NW_STAT_FAILURE;
+ }
+ dictionaries[dictionary_count++] = d[i];
+ StoreDictionaryCount(dictionary_count);
+ }
+ }
+
+ return NW_STAT_SUCCESS;
+}
+
+EXPORT_C NW_Status_t
+NW_WBXML_Dictionary_destroy ()
+{
+ UpdateDictRefCnt(NW_CONTEXT_REF_DICT_CNT_DCR);
+ DestroyDictionaries();
+ return NW_STAT_SUCCESS;
+}
+
+
+/*
+ * Return NULL if GetDictionaryById returns 0 or if GetTagByToken returns 0
+ */
+
+EXPORT_C NW_String_UCS2Buff_t *
+NW_WBXML_Dictionary_getTagByFqToken (NW_Uint32 fq_token)
+{
+ NW_WBXML_Dictionary_t *d;
+ NW_Byte cp_index = (NW_Byte) ((fq_token & NW_WBXML_MASK_CODEPAGE) >> 8);
+ NW_Byte token = (NW_Byte) (fq_token & NW_WBXML_MASK_TOKEN);
+ NW_WBXML_Codepage_t page;
+ NW_Uint16 dict_id = (NW_Uint16) ((fq_token & NW_WBXML_MASK_DICTIONARY) >> 16);
+
+ if ((d = getDictionaryById (dict_id)) == NULL)
+ return NULL;
+
+ if ((fq_token & NW_WBXML_MASK_CPSTATE) == NW_WBXML_CP_STATE_TAG)
+ {
+ if (cp_index > (d->tag_page_count - 1))
+ return NULL;
+ page = d->tag_pages[cp_index];
+ token &= NW_WBXML_MASK_TAG_ID; /* Only lowest 6 bits for tags */
+ }
+ else
+ {
+ if (cp_index > (d->attr_page_count - 1))
+ return NULL;
+ page = d->attr_pages[cp_index];
+ }
+
+
+ return getTagByToken (&page, token);
+}
+
+NW_String_UCS2Buff_t *
+NW_WBXML_Dictionary_getElementNameByToken (NW_WBXML_Dictionary_t *dictionary,
+ NW_Uint16 token)
+{
+ NW_Byte cp_index = (NW_Byte) ((token & NW_WBXML_MASK_CODEPAGE) >> 8);
+ NW_Byte tok = (NW_Byte) (token & NW_WBXML_MASK_TOKEN);
+ NW_WBXML_Codepage_t page;
+
+ if (dictionary == NULL)
+ return NULL;
+
+ if (cp_index > (dictionary->tag_page_count - 1))
+ return NULL;
+ page = dictionary->tag_pages[cp_index];
+ tok &= NW_WBXML_MASK_TAG_ID; /* Only lowest 6 bits for tags */
+ return getTagByToken (&page, tok);
+}
+
+EXPORT_C NW_String_UCS2Buff_t *
+NW_WBXML_Dictionary_getAttributeNameByToken (NW_WBXML_Dictionary_t *dictionary,
+ NW_Uint16 token)
+{
+ NW_Byte cp_index = (NW_Byte) ((token & NW_WBXML_MASK_CODEPAGE) >> 8);
+ NW_Byte tok = (NW_Byte) (token & NW_WBXML_MASK_TOKEN);
+ NW_WBXML_Codepage_t page;
+
+ if (dictionary == NULL)
+ return NULL;
+
+ if (cp_index > (dictionary->attr_page_count - 1))
+ return NULL;
+ page = dictionary->attr_pages[cp_index];
+ return getTagByToken (&page, tok);
+}
+
+/*
+ * These return the lower 16 bits of the fully qualified token
+ * i.e., the token and code page. The rest of the token can be
+ * constructed by the caller if needed. We don't use all 32 bits
+ * in order to be able to return a signed quantity to indicate
+ * failure.
+ */
+
+/*
+ * Return -1 if the token is not found for the given attribute name or if
+ * dictionary or name is 0
+ */
+
+EXPORT_C NW_Int16
+NW_WBXML_Dictionary_getAttributeToken (NW_WBXML_Dictionary_t * dictionary,
+ const NW_String_t* name,
+ NW_Uint32 encoding,
+ NW_Bool matchCase)
+{
+ NW_Int16 token = -1;
+ NW_WBXML_Codepage_t *page;
+ NW_Byte i;
+ NW_Ucs2* ucs2Name;
+ NW_Status_t status;
+
+ if (dictionary == NULL || name == NULL){
+ return -1;
+ }
+ if (encoding != HTTP_iso_10646_ucs_2){
+ status = NW_String_stringToUCS2Char(name, encoding, &ucs2Name);
+ NW_ASSERT(status == NW_STAT_SUCCESS);
+ /* To fix TI compiler warning */
+ (void) status;
+ }
+ else{
+ ucs2Name = (NW_Ucs2*)name->storage;
+ }
+
+ for (i = 0; i < dictionary->attr_page_count; i++)
+ {
+ page = dictionary->attr_pages + i;
+ /* this is a hack - ucs2buff types should be removed */
+ if ((token = getTokenByTag (page, (NW_String_UCS2Buff_t*) ucs2Name, matchCase)) >= 0){
+ token = (NW_Int16) (token | (i << 8));
+ break;
+ }
+ }
+ if (encoding != HTTP_iso_10646_ucs_2){
+ NW_Mem_Free(ucs2Name);
+ }
+ return token;
+}
+
+NW_Status_t
+NW_WBXML_Dictionary_getAttributeToken2 (NW_WBXML_Dictionary_t * dictionary,
+ NW_Uint32 encoding,
+ NW_Uint32 charCount,
+ NW_Uint8 * name,
+ NW_Uint16 * pageToken,
+ NW_Bool isName)
+{
+ NW_WBXML_Codepage_t *page;
+ NW_Byte i;
+ NW_Status_t s;
+
+ if (dictionary == NULL || name == NULL || pageToken == NULL) {
+ return NW_STAT_FAILURE;
+ }
+
+ for (i = 0; i < dictionary->attr_page_count; i++) {
+ page = dictionary->attr_pages + i;
+ s = getTokenByTag2 (page, encoding, charCount, name, pageToken);
+ if (NW_STAT_IS_FAILURE(s)) {
+ /* failure may mean "not found" so continue to next page */
+ continue;
+ }
+ if (isName) {
+ if (*pageToken >= 128) {
+ s = getTokenByTag_HandleDuplicates (page, encoding, charCount, name, pageToken, isName);
+ if (NW_STAT_IS_FAILURE(s)) {
+ /* failure may mean "not found" so continue to next page */
+ continue;
+ }
+ }
+ } else {
+ if (*pageToken < 128) {
+ s = getTokenByTag_HandleDuplicates (page, encoding, charCount, name, pageToken, isName);
+ if (NW_STAT_IS_FAILURE(s)) {
+ /* failure may mean "not found" so continue to next page */
+ continue;
+ }
+ }
+ }
+ *pageToken |= (i << 8);
+ return NW_STAT_SUCCESS;
+ }
+ return NW_STAT_FAILURE;
+}
+
+NW_Status_t
+NW_WBXML_Dictionary_getAttributeNameToken (NW_WBXML_Dictionary_t * dictionary,
+ NW_Uint32 encoding,
+ NW_Uint32 charCount,
+ NW_Uint8 * name,
+ NW_Uint16 * pageToken)
+{
+ return NW_WBXML_Dictionary_getAttributeToken2 (dictionary, encoding,
+ charCount, name, pageToken,
+ NW_TRUE);
+
+}
+
+NW_Status_t
+NW_WBXML_Dictionary_getAttributeValueToken (NW_WBXML_Dictionary_t * dictionary,
+ NW_Uint32 encoding,
+ NW_Uint32 charCount,
+ NW_Uint8 * name,
+ NW_Uint16 * pageToken)
+{
+ return NW_WBXML_Dictionary_getAttributeToken2 (dictionary, encoding,
+ charCount, name, pageToken,
+ NW_FALSE);
+
+}
+
+/*
+ * Return -1 if the token is not found for the given tag name or if
+ * dictionary or name is 0
+ */
+
+EXPORT_C NW_Int16
+NW_WBXML_Dictionary_getTagToken (NW_WBXML_Dictionary_t * dictionary,
+ NW_String_UCS2Buff_t * name,
+ NW_Bool matchCase)
+{
+ NW_Int16 token = 0;
+ NW_WBXML_Codepage_t *page;
+ NW_Byte i;
+
+ if (dictionary == NULL || name == NULL)
+ return -1;
+
+ for (i = 0; i < dictionary->tag_page_count; i++)
+ {
+ page = dictionary->tag_pages + i;
+ if ((token = getTokenByTag (page, name, matchCase)) >= 0)
+ return (NW_Int16)(token | (i << 8));
+ }
+
+ return -1;
+}
+
+NW_Status_t
+NW_WBXML_Dictionary_getTagToken2(NW_WBXML_Dictionary_t * dictionary,
+ NW_Uint32 encoding,
+ NW_Uint32 charCount,
+ NW_Uint8* name,
+ NW_Uint16* pageToken)
+{
+ NW_WBXML_Codepage_t *page;
+ NW_Byte i;
+ NW_Status_t s;
+
+ if (dictionary == NULL || name == NULL || pageToken == NULL) {
+ return NW_STAT_FAILURE;
+ }
+
+ for (i = 0; i < dictionary->tag_page_count; i++) {
+ page = dictionary->tag_pages + i;
+ s = getTokenByTag2 (page, encoding, charCount, name, pageToken);
+ if (NW_STAT_IS_FAILURE(s)) {
+ /* failure may mean "not found" so continue to next page */
+ continue;
+ }
+ *pageToken |= (i << 8);
+ return NW_STAT_SUCCESS;
+ }
+ return NW_STAT_FAILURE;
+}
+
+/* Linear searches are ok here since we only do these once */
+
+/*
+ * Return NULL if a dictionary is not found for the given public_id
+ */
+
+EXPORT_C
+NW_WBXML_Dictionary_t *
+NW_WBXML_Dictionary_getByPublicId (NW_Uint32 public_id)
+{
+//#ifdef __WINS__
+ NW_Uint32 i;
+ NW_Uint32 dictionary_count = GetDictionaryCount();
+ NW_WBXML_Dictionary_t **dictionaries = GetDictionaries();
+
+ for (i = 0; i < dictionary_count; i++)
+ {
+ if (dictionaries[i]->public_id == public_id)
+ return dictionaries[i];
+ }
+//#endif
+ return NULL;
+}
+
+/*
+ * Return NULL if a dictionary is not found for the given doc_type or if
+ * doc_type is 0
+ */
+
+NW_WBXML_Dictionary_t *
+NW_WBXML_Dictionary_getByDocType (NW_String_t * doc_type, NW_Uint32 encoding)
+{
+//#ifdef __WINS__
+ NW_Uint32 i;
+ NW_Uint32 dictionary_count = GetDictionaryCount();
+ NW_WBXML_Dictionary_t **dictionaries = GetDictionaries();
+
+ if (doc_type == NULL)
+ return NULL;
+
+ for (i = 0; i < dictionary_count; i++)
+ {
+ if (NW_WBXML_Dictionary_CmpDictDocType(dictionaries[i], doc_type, encoding)){
+ return dictionaries[i];
+ }
+ }
+//#endif
+ return NULL;
+}
+
+/* Get the 1-based index into the dictionary table */
+
+/*
+ * Return 0 if the dictionary is not found
+ */
+
+NW_Uint32
+NW_WBXML_Dictionary_getIndexByPublicId (NW_Uint32 public_id)
+{
+//#ifdef __WINS__
+ NW_Uint32 i;
+ NW_Uint32 dictionary_count = GetDictionaryCount();
+ NW_WBXML_Dictionary_t **dictionaries = GetDictionaries();
+
+ for (i = 0; i < dictionary_count; i++)
+ {
+ if (dictionaries[i]->public_id == public_id)
+ return i + 1;
+ }
+//#endif
+ return 0;
+}
+
+/*
+ * Return 0 if the dictionary is not found or doc_type is 0
+ */
+
+NW_Uint32
+NW_WBXML_Dictionary_getIndexByDocType (NW_String_t * doc_type, NW_Uint32 encoding)
+{
+//#ifdef __WINS__
+ NW_Uint32 i;
+ NW_Uint32 dictionary_count = GetDictionaryCount();
+ NW_WBXML_Dictionary_t **dictionaries = GetDictionaries();
+
+ if(doc_type == NULL){
+ return 0;
+ }
+
+ for (i = 0; i < dictionary_count; i++) {
+ if (NW_WBXML_Dictionary_CmpDictDocType(dictionaries[i], doc_type, encoding)){
+ return i + 1;
+ }
+ }
+//#endif
+ return 0;
+}
+
+NW_WBXML_Dictionary_t *
+NW_WBXML_Dictionary_getByIndex(NW_Uint32 dictIndex)
+{
+//#ifdef __WINS__
+ NW_WBXML_Dictionary_t **dictionaries = GetDictionaries();
+
+ if (dictIndex == 0){
+ return NULL;
+ }
+ return dictionaries[dictIndex -1];
+//#else
+// return NULL;
+//#endif
+}
+
+/*
+ * Given a tag or attribute token, if the token is a literal,
+ * use the given name to lookup the tag/attribute's "real" token
+ * and return that token.
+ *
+ *
+ * Returns NW_STAT_SUCCESS
+ * NW_STAT_FAILURE - if the token lookup fails (NOT fatal)
+ * NW_STAT_OUT_OF_MEMORY
+ */
+
+EXPORT_C NW_Status_t
+NW_WBXML_Dictionary_resolveLiteralToken(NW_Uint32 *token, /* In/Out */
+ NW_String_t *name, /* Ask Deepika why NULL is allowed */
+ NW_Bool is_tag, /* NW_TRUE == token is for tag;
+ NW_FALSE == attribute */
+ NW_Uint32 encoding, /* Used in the name conversion */
+ NW_Bool matchCase)
+{
+
+ NW_Ucs2 * buff;
+ NW_Uint32 dict_id = ((*token) & NW_WBXML_MASK_DICTIONARY) >> 16;
+ NW_Int16 tmp_token;
+
+ if (NW_WBXML_Dictionary_getTagByFqToken(*token) != NULL){
+ /* The token is NOT a literal, no need for further processing */
+ return NW_STAT_SUCCESS;
+ }
+
+ if(name == NULL){ /* TODO: Ask Deepika if this can be made an assert?? */
+ return NW_STAT_FAILURE;
+ }
+
+ /*
+ * Before looking up the name in the dictionary, must convert
+ * name to the type used in dictionary names.
+ */
+
+ if (NW_String_stringToUCS2Char(name, encoding, &buff) != NW_STAT_SUCCESS) {
+ return NW_STAT_OUT_OF_MEMORY;
+ }
+
+ tmp_token = (NW_Int16) ((is_tag == NW_TRUE) ?
+ NW_WBXML_Dictionary_getTagToken(getDictionaryById(dict_id), (NW_String_UCS2Buff_t *) buff, matchCase) :
+ NW_WBXML_Dictionary_getAttributeToken(getDictionaryById(dict_id), name, encoding, matchCase));
+
+ NW_Mem_Free (buff);
+
+ if (tmp_token == -1)
+ {
+ return NW_STAT_FAILURE;
+ }
+
+ *token = ((NW_Uint16) dict_id << 16)| (NW_Uint16) tmp_token;
+
+ return NW_STAT_SUCCESS;
+}
+
+
+/* 1. returns success, oom, or failure
+ 2. if oom or failure, no leaks and no residual memory allocations
+ 3. if oom or failure on return *ppDocType is NULL
+ 4 if success on return *ppDocType is a valid string or NULL if
+ no matching dictionary or dictionary did not have a doc_type string. */
+NW_Status_t
+NW_WBXML_Dictionary_publicId_to_doctypeString(NW_Uint32 publicId,
+ NW_String_t** ppDocType)
+{
+ NW_WBXML_Dictionary_t *pDictionary
+ = NW_WBXML_Dictionary_getByPublicId (publicId);
+ *ppDocType = NULL;
+ if (pDictionary != NULL) {
+ if (pDictionary->doc_type != NULL) {
+ *ppDocType = NW_String_new();
+ if (*ppDocType != NULL) {
+ if (NW_String_initialize(*ppDocType, pDictionary->doc_type,
+ NW_WBXML_DICTIONARY_CHARSET)
+ != NW_STAT_SUCCESS) {
+ NW_String_delete(*ppDocType);
+ *ppDocType = NULL;
+ return NW_STAT_FAILURE;
+ }
+ } else {
+ return NW_STAT_OUT_OF_MEMORY;
+ }
+ }
+ }
+ return NW_STAT_SUCCESS;
+}
+
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/wbxmlp/src/doc.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/wbxmlp/src/doc.c Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,213 @@
+/*
+* Copyright (c) 2000 - 2001 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/*****************************************************************
+** File: wbxml_doc.c
+** Description:
+*****************************************************************/
+
+#include "cxml_internal.h"
+#include
+#include
+#include
+
+
+EXPORT_C NW_Status_t
+NW_WBXML_Document_construct(NW_WBXML_Document_t * doc, NW_Uint32 default_public_id)
+{
+ doc->version = 0;
+ doc->publicid = 0;
+ doc->doc_type = NULL;
+ doc->default_public_id = default_public_id;
+ doc->charset = 0;
+ doc->strtbl.length = 0;
+ doc->strtbl.data = 0;
+ doc->body_len = 0;
+ doc->strtbl_extension = NW_Encoder_StringTable_new();
+ if (doc->strtbl_extension == NULL){
+ return NW_STAT_OUT_OF_MEMORY;
+ }
+ return NW_STAT_SUCCESS;
+}
+
+/* There is no document construct, since initialization is done by
+ * the parser
+ */
+
+EXPORT_C void
+NW_WBXML_Document_destruct (NW_WBXML_Document_t * doc)
+{
+ if (doc == NULL) {
+ return;
+ }
+
+ if (doc->doc_type) {
+ NW_String_delete (doc->doc_type);
+ doc->doc_type = NULL;
+ }
+
+ NW_Encoder_StringTable_delete(doc->strtbl_extension);
+}
+
+/*
+ * Safely get a string from the string table
+ *
+ * RETURN NULL if an error occurs and sets parser->flags accordingly
+ */
+
+
+EXPORT_C NW_Status_t
+NW_WBXML_Document_getTableString (NW_WBXML_Document_t * doc,
+ NW_Uint32 index,
+ NW_String_t *string)
+{
+
+ NW_ASSERT(doc != NULL);
+ NW_ASSERT(string != NULL);
+
+ if (index >= doc->strtbl.length){
+ /* See if there are extended table members */
+ if(NW_Encoder_StringTable_GetSize(doc->strtbl_extension) != 0)
+ {
+ NW_Status_t status;
+ NW_Encoder_StringTableIterator_t extTblIter;
+ NW_Uint32 strTblItrByteCnt = 0;
+ NW_Uint32 startingExtTblByteCnt = 0;
+ NW_Uint8* indexBuf;
+ NW_Uint32 extensionTblInx = index - doc->strtbl.length;
+ NW_Bool found = NW_FALSE;
+
+ /* NW_Encoder_StringTable_get(..) requires the vector item
+ * index not the absolute extension string table index (as
+ * passed parameter [NW_Uint32 index]). So, itertor method
+ * is used to get the string.
+ *
+ */
+
+ /*The following function always return success so why bother to check? */
+
+ NW_Encoder_StringTable_StringTableIterateInit(doc->strtbl_extension,&extTblIter);
+
+ status = NW_Encoder_StringTable_StringTableIterateNext
+ (&extTblIter,&strTblItrByteCnt,&indexBuf);
+
+
+ while(status == NW_STAT_WBXML_ITERATE_MORE)
+ {
+
+ if(startingExtTblByteCnt == extensionTblInx)
+ {
+ found = NW_TRUE;
+ break;
+ }
+
+ startingExtTblByteCnt += strTblItrByteCnt;
+
+ status = NW_Encoder_StringTable_StringTableIterateNext
+ (&extTblIter,&strTblItrByteCnt,&indexBuf) ;
+ }//end while
+
+
+ if(found == NW_TRUE)
+ {
+ string->storage = indexBuf;
+ string->length = strTblItrByteCnt;
+ return NW_STAT_SUCCESS;
+ }
+ }
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+
+ /* Make sure string ends within string table */
+
+ if (!NW_String_valid(doc->strtbl.data + index, doc->strtbl.length - index,
+ doc->charset))
+ {
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+
+ return NW_String_initialize (string, doc->strtbl.data + index, doc->charset);
+}
+
+/* String table write method
+ *
+ * Writing a dom tree may require adding strings to the string table,
+ * if one exists, or creating a string table if none exists. We create
+ * an extended table using the encoder string table write methods if
+ * this is necessary. Unfortunately, there can be some duplication of
+ * strings between the two tables, because there is no efficient way to
+ * look up a string by name in the real string table. Therefore, any
+ * string that gets added to the table gets added to the extension
+ * table. The encoder takes care of rationalizing the two tables if
+ * the document gets rewritten as wbxml.
+ *
+ * If the string is not already in the table, this method adds it. The
+ * out parameter byteOffset returns the byte offset of the string in the
+ * extension table plus the size of the real string table so that
+ * extension table strings always have positions higher than real table
+ * strings.
+ */
+EXPORT_C NW_Status_t
+NW_WBXML_Document_putTableString(NW_WBXML_Document_t * doc,
+ NW_String_t *string,
+ NW_Uint32 *byteOffset)
+{
+ NW_Uint32 extensionOffset;
+ NW_Status_t retval =
+ NW_Encoder_StringTable_append(doc->strtbl_extension,
+ string,
+ NW_TRUE,
+ &extensionOffset);
+ *byteOffset = doc->strtbl.length + extensionOffset;
+ return retval;
+}
+
+NW_Uint8
+NW_WBXML_Document_getVersion(NW_WBXML_Document_t *document)
+{
+ NW_ASSERT(document != NULL);
+ return document->version;
+}
+
+NW_Uint32
+NW_WBXML_Document_getPublicID(NW_WBXML_Document_t *document)
+{
+ NW_ASSERT(document != NULL);
+ return document->publicid;
+}
+
+NW_String_t*
+NW_WBXML_Document_getDocType(NW_WBXML_Document_t *document)
+{
+ NW_ASSERT(document != NULL);
+ return document->doc_type;
+}
+
+NW_Uint32
+NW_WBXML_Document_getEncoding(NW_WBXML_Document_t *document)
+{
+ NW_ASSERT(document != NULL);
+ return document->charset;
+}
+
+
+
+
+
+
+
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/wbxmlp/src/opaque.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/wbxmlp/src/opaque.c Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,82 @@
+/*
+* Copyright (c) 2000 - 2001 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/*****************************************************************
+** File: opaque.c
+** Description: Methods on WBXML opaque data objects
+*****************************************************************/
+
+#include "cxml_internal.h"
+#include
+
+/*
+ * Initialize an opaque object
+ *
+ */
+
+NW_Status_t
+NW_WBXML_Opaque_construct(NW_WBXML_Opaque_t * opaque,
+ NW_Byte * data,
+ NW_Uint32 length)
+{
+
+ NW_ASSERT(opaque != NULL);
+
+ opaque->length = length;
+ opaque->data = (length ? data : NULL);
+
+ return NW_STAT_SUCCESS;
+}
+
+/*
+ * Create a new opaque structure
+ */
+
+NW_WBXML_Opaque_t *
+NW_WBXML_Opaque_new (void)
+{
+ NW_WBXML_Opaque_t *opaque =
+ (NW_WBXML_Opaque_t *) NW_Mem_Malloc (sizeof (NW_WBXML_Opaque_t));
+
+ if(opaque != NULL){
+ NW_WBXML_Opaque_construct(opaque,0,0);
+ }
+
+ return opaque;
+}
+
+
+
+/*
+ * Delete an opaque structure
+ */
+
+NW_Status_t
+NW_WBXML_Opaque_delete (NW_WBXML_Opaque_t * opaque)
+{
+
+ NW_ASSERT(opaque != NULL);
+
+ /* The data member is a pointer to memory we
+ * don't own, so it is not freed here
+ */
+
+ NW_Mem_Free(opaque);
+
+ return NW_STAT_SUCCESS;
+}
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/wbxmlp/src/parse_buffer.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/wbxmlp/src/parse_buffer.c Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,457 @@
+/*
+* Copyright (c) 2000 - 2001 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/*****************************************************************
+** File: wbxml_parse_buffer.c
+** Description:
+*
+* A buffer-based implementation of the "parser_reader interface".
+* To create a parser that gets wbxml from some other source (such
+* as reading from a stream), these are the only functions that should
+* have to be ported. wbxml_parse.c contains implementation of the
+* parsing logic, independent of how wbxml is read/stored (with a few
+* small exceptions).
+*
+* The parser reader is responsible for safely getting various primitive
+* data types and in-line strings from the wbxml NW_Byte code. The reader
+* also returns a pointer to the string table (which in this case is
+* just a pointer into the wbxml buffer.)
+*
+*****************************************************************/
+
+#include "cxml_internal.h"
+#include
+#include
+#include
+#include
+#include
+#include "nw_wbxml_parsei.h"
+#include
+#include
+
+/*
+ * Initialize the parser
+ */
+
+EXPORT_C void
+NW_WBXML_Parser_newInPlace (NW_WBXML_Parser_t * parser)
+{
+ NW_ASSERT(parser != NULL);
+
+ parser->handler = NULL;
+ parser->flags = 0;
+ parser->state = NW_WBXML_PARSER_S_START;
+ parser->tag_code_page = 0;
+ parser->attribute_code_page = 0;
+ parser->cp_registry.storage = NULL;
+ parser->cp_registry.current = 0;
+ parser->cp_registry.count = 0;
+ parser->dictionary = 0;
+ parser->doc = NULL;
+ parser->p = NULL;
+ parser->offset = 0;
+ parser->left = 0;
+ parser->status = NW_STAT_SUCCESS;
+ parser->recursiveCallCnt = 0;
+ parser->ext_t_not_table_index = 0;
+}
+
+
+void
+NW_WBXML_Parser_reset (NW_WBXML_Parser_t * parser)
+{
+ NW_ASSERT(parser != NULL);
+
+ parser->handler = NULL;
+ parser->state = NW_WBXML_PARSER_S_START;
+ parser->tag_code_page = 0;
+ parser->attribute_code_page = 0;
+ parser->p = NULL;
+ parser->offset = 0;
+ parser->left = 0;
+ parser->status = NW_STAT_SUCCESS;
+ parser->recursiveCallCnt = 0;
+}
+
+void
+NW_WBXML_Parser_delete (NW_WBXML_Parser_t * parser)
+{
+ if (parser->cp_registry.storage != NULL) {
+ NW_Mem_Free(parser->cp_registry.storage);
+ }
+}
+
+
+/*
+* Safely advance the parser through bytecode.
+* The functions which read values from the parser don't advance
+* the parser since this may not be necessary or safe (e.g. when reading
+* the last data item.).
+*
+* "Count" may equal "left" so zero is a possible "left" value.
+*/
+
+NW_Int32
+NW_WBXML_Parser_advance (NW_WBXML_Parser_t * parser,
+ NW_Int32 count)
+{
+ NW_ASSERT(parser != NULL);
+
+ if ((count > (NW_Int32) parser->left)
+ || (((NW_Int32)parser->offset + count) < 0)){
+ return -1;
+ }
+ parser->p += count;
+ parser->offset = (NW_Uint32) ((NW_Int32)parser->offset + count);
+ parser->left = (NW_Uint32) ((NW_Int32) parser->left - count);
+ return count;
+}
+
+/* Get the current offset */
+
+NW_Uint32
+NW_WBXML_Parser_getOffset(NW_WBXML_Parser_t * parser)
+{
+ NW_ASSERT(parser != NULL);
+
+ return parser->offset;
+}
+
+/* Safely set the parser to a new offset */
+
+NW_Int32
+NW_WBXML_Parser_setOffset(NW_WBXML_Parser_t * parser,
+ NW_Uint32 offset)
+{
+ NW_Int32 count =
+ (NW_Int32)offset - (NW_Int32)NW_WBXML_Parser_getOffset(parser);
+
+ NW_ASSERT(parser != NULL);
+
+ /* If the code page registry exists and is inited, reset code pages */
+ if((parser->cp_registry.count > 0)
+ && ((parser->flags & NW_WBXML_REGISTRY_INIT) == NW_WBXML_REGISTRY_INIT)){
+ NW_WBXML_CPRegistry_getCodePages(&(parser->cp_registry),
+ offset,
+ &(parser->tag_code_page),
+ &(parser->attribute_code_page));
+ }
+
+ /*
+ * Try to "advance" the parser to the new position. This will fail
+ * if the offset is not in the parser's current buffer.
+ */
+
+ return NW_WBXML_Parser_advance(parser, count);
+}
+
+
+/* Check if there is more NW_Byte code to read */
+
+NW_Int32
+NW_WBXML_Parser_hasMoreBytecode (NW_WBXML_Parser_t * parser)
+{
+ NW_ASSERT(parser != NULL);
+
+ return (parser->left > 0);
+}
+
+
+/*
+ * Read one unsigned NW_Byte from the current parser position.
+ */
+
+NW_Uint8
+NW_WBXML_Parser_readUint8 (NW_WBXML_Parser_t * parser)
+{
+ NW_ASSERT(parser != NULL);
+
+ return (NW_Uint8) (*(parser->p));
+}
+
+
+/*
+ * Safely read an unsigned_32 from the current parser position
+ */
+
+NW_Int32
+NW_WBXML_Parser_readMbUint32 (NW_WBXML_Parser_t * parser,
+ NW_Uint32 * val)
+{
+ NW_Uint32 i, space, next;
+
+ NW_ASSERT(parser != NULL);
+
+ space = parser->left;
+
+ for (i = 0, *val = 0;; i++, *val <<= 7)
+ {
+ if (i > 4 || i == space)
+ {
+ return -1;
+ }
+ next = (parser->p)[i];
+ if (!(next & 0x80))
+ {
+ *val |= next;
+ break;
+ }
+ else
+ *val |= (next &= 0x7F);
+ }
+ return (NW_Int32)(i + 1);
+}
+
+/*
+ * Safely get the length of an inline string at current parser position
+ */
+
+NW_Int32 NW_WBXML_Parser_getInlineStrLen(NW_WBXML_Parser_t *parser,
+ NW_WBXML_Document_t *doc)
+{
+ NW_Uint32 len = 0;
+
+ NW_ASSERT(parser != NULL);
+
+ if (!NW_String_valid(parser->p, parser->left, doc->charset)) {
+ return -1;
+ }
+
+ if(NW_String_charBuffGetLength (parser->p, doc->charset, &len) < 0){
+ return -1;
+ }
+ return (NW_Int32)len;
+}
+
+/*
+ * Safely read an inline string at the current parser position
+ */
+
+EXPORT_C NW_Status_t
+NW_WBXML_Parser_getStringInline (NW_WBXML_Parser_t * parser,
+ NW_WBXML_Document_t * doc,
+ NW_String_t *string)
+{
+ NW_ASSERT(parser != NULL);
+ NW_ASSERT(doc != NULL);
+ NW_ASSERT(string != NULL);
+
+ if (!NW_String_valid (parser->p, parser->left, doc->charset))
+ {
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+
+ if (NW_String_initialize (string, parser->p, doc->charset)
+ != NW_STAT_SUCCESS){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ return NW_STAT_SUCCESS;
+}
+
+
+/*
+ * Safely get an opaque at the current parser position
+ */
+
+EXPORT_C NW_Status_t
+NW_WBXML_Parser_getOpaque (NW_WBXML_Parser_t * parser,
+ NW_Uint32 length,
+ NW_WBXML_Opaque_t *opaque)
+{
+ NW_ASSERT(parser != NULL);
+ NW_ASSERT(length != 0);
+ NW_ASSERT(opaque != NULL);
+
+ if (length > parser->left){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+
+ return NW_WBXML_Opaque_construct (opaque, parser->p, length);
+}
+
+/*
+ * Read in the string table
+ */
+
+NW_Status_t
+NW_WBXML_Parser_readStringTable (NW_WBXML_Parser_t * parser,
+ NW_WBXML_Document_t * doc,
+ NW_Byte **table)
+{
+ NW_Int32 skip;
+
+ NW_ASSERT(parser != NULL);
+ NW_ASSERT(doc != NULL);
+ NW_ASSERT(table != NULL);
+
+ *table = NULL;
+
+ /* Read the string table length into the document header */
+
+ skip = NW_WBXML_Parser_readMbUint32 (parser, &(doc->strtbl.length));
+ if (skip < 0) {
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+
+ /* Try to advance over the length bytes to beginning of table */
+
+ if (NW_WBXML_Parser_advance (parser, skip) < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+
+ /* Set table to current parser location*/
+
+ *table = parser->p;
+
+ /* Try to advance to end of table */
+
+ if (NW_WBXML_Parser_advance (parser, (NW_Int32) doc->strtbl.length) < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+
+ return NW_STAT_SUCCESS;
+}
+
+
+/* Reset the parser to the start of a buffer. The buffsize is
+ * critical here since it is used in all safety tests by the
+ * parser reader to make sure the parser doesn't read past the
+ * end of the buffer.
+ */
+
+NW_Status_t
+NW_WBXML_Parser_resetBuffer(NW_WBXML_Parser_t *parser,
+ NW_Byte *buff,
+ NW_Uint32 buffsize)
+{
+ NW_ASSERT(parser != NULL);
+
+ parser->offset = 0;
+ parser->p = buff;
+ if (buffsize == 0 || buff == NULL) {
+ parser->left = 0;
+ }
+ else {
+ parser->left = buffsize;
+ }
+ parser->tag_code_page = 0;
+ parser->attribute_code_page = 0;
+ parser->state = NW_WBXML_PARSER_S_HEADER;
+ parser->recursiveCallCnt = 0;
+ return NW_STAT_SUCCESS;
+}
+
+
+/*
+ * This method sets the parser to a buffer which may contain only
+ * wbxml fragments and no header. Used by writable DOM only.
+ *
+ */
+
+NW_Status_t
+NW_WBXML_Parser_setBuffer (NW_WBXML_Parser_t * parser,
+ NW_WBXML_Document_t * doc,
+ NW_Byte * buff,
+ NW_Uint32 buffsize)
+{
+ NW_ASSERT(parser != NULL);
+ NW_ASSERT(doc != NULL);
+ NW_ASSERT(buff != NULL);
+ NW_ASSERT(buffsize > 0);
+
+ /* Find dictionary from document */
+
+ if (doc->publicid > 0){
+ parser->dictionary =
+ NW_WBXML_Dictionary_getIndexByPublicId (doc->publicid);
+ }
+ else if (doc->doc_type){
+ parser->dictionary =
+ NW_WBXML_Dictionary_getIndexByDocType (doc->doc_type, doc->charset);
+ }
+ else{
+ NW_ASSERT(0); /* Doc not correctly initialized */
+ }
+
+ /* Set the buffer */
+
+ NW_WBXML_Parser_resetBuffer(parser, buff, buffsize);
+ return NW_STAT_SUCCESS;
+}
+
+/*
+ * Parse a document from a buffer
+ */
+
+EXPORT_C NW_Status_t
+NW_WBXML_Parser_parseBuffer (NW_WBXML_Parser_t * parser,
+ NW_WBXML_Document_t * doc,
+ NW_Byte * buff,
+ NW_Uint32 buffsize)
+{
+ NW_Status_t status;
+
+ NW_ASSERT(parser != NULL);
+ NW_ASSERT(doc != NULL);
+ NW_ASSERT(buff != NULL);
+ NW_ASSERT(buffsize > 0);
+
+ if (parser->p == NULL)
+ {
+ parser->p = buff;
+ parser->left = buffsize;
+
+ /* First parser the document header */
+
+ if ((status = NW_WBXML_Parser_docHeaderParse (parser, doc))
+ != NW_STAT_SUCCESS)
+ return status;
+
+ /* Now get the dictionary from the document */
+
+ if (doc->publicid > 0){
+ parser->dictionary =
+ NW_WBXML_Dictionary_getIndexByPublicId (doc->publicid);
+ }
+
+ else if (doc->doc_type){
+ parser->dictionary =
+ NW_WBXML_Dictionary_getIndexByDocType (doc->doc_type, doc->charset);
+ }
+
+ /* If a dictionary could not be attained try using the default public id */
+ if (parser->dictionary == 0){
+ doc->publicid = doc->default_public_id;
+ parser->dictionary =
+ NW_WBXML_Dictionary_getIndexByPublicId (doc->publicid);
+ }
+
+ /* Make the StartDocument callback */
+ if (parser->handler && parser->handler->StartDocument_CB)
+ {
+ status = (*(parser->handler->StartDocument_CB)) (parser, doc,
+ parser->context);
+ if (status != NW_STAT_SUCCESS)
+ return status;
+ }
+ }
+
+ /* Parse the document body */
+
+ return NW_WBXML_Parser_bodyParse (parser);
+}
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/wbxmlp/src/parse_logic.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/wbxmlp/src/parse_logic.cpp Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,1651 @@
+/*
+* Copyright (c) 2000 - 2001 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+/*****************************************************************
+** File: wbxml_parse_logic.c
+**
+** Description:
+*
+* Here is the main parser logic. None of these functions has
+* any knowlege of how wbxml is stored or read, so they should
+* work as well with a buffer, stream or file based parser. These
+* functions require some implementation of the "parser reader
+* interface" as defined in wbxml_reader.h.
+*
+*****************************************************************/
+
+#include "cxml_internal.h"
+#include
+#include
+#include
+#include
+#include
+#include "nw_wbxml_parsei.h"
+#include
+
+#ifndef HTTP_utf_8
+#define HTTP_utf_8 0x6A
+#endif
+
+#define TOKEN_STATE_TAG 0
+#define TOKEN_STATE_ATTR 1
+
+#define WBXML_MAX_RECURSIVE_CALL_DEPTH 120 /* For parse element only */
+
+/* The parser tries to be very strict about errors caused by bad NW_Byte
+ * code, lack of memory, etc. For example, the parser will not read
+ * past the end of the buffer. Callbacks can also set error status to
+ * stop parsing. These will be detected as soon as possible after the
+ * callback returns. The following method is called with the return
+ * value (NW_Status_t) from the callback functions. The status is
+ * saved and if it is not NW_STAT_SUCCESS, then the parser's flags
+ * field is updated so that the parser will know that a callback has
+ * raised an exception/error condition. The parser will quit as soon
+ * as it checks the flags.
+ */
+
+static void
+NW_WBXML_Parser_setStatus (NW_WBXML_Parser_t * parser,
+ NW_Status_t status)
+{
+ parser->status = status;
+
+ switch (status)
+ {
+ case NW_STAT_SUCCESS:
+ break;
+ case NW_STAT_OUT_OF_MEMORY:
+ parser->flags |= NW_WBXML_PARSER_NOMEMORY;
+ break;
+ case NW_STAT_WBXML_ERROR_BYTECODE:
+ parser->flags |= NW_WBXML_PARSER_BYTECODEERROR;
+ break;
+ case NW_STAT_WBXML_ERROR_CHARSET_UNSUPPORTED:
+ parser->flags |= NW_WBXML_PARSER_CHARSET_UNSUPPORTED;
+ break;
+ default:
+ parser->flags |= NW_WBXML_PARSER_UNKNOWN_ERROR;
+ break;
+ }
+ return;
+}
+
+/*
+ * Convert the parser's flag status code to a NW_Status_t constant
+ */
+
+static NW_Status_t
+NW_WBXML_Parser_flagToStatus (NW_WBXML_Parser_t * parser)
+{
+ if (parser->flags & NW_WBXML_PARSER_NOMEMORY)
+ return NW_STAT_OUT_OF_MEMORY;
+
+ if (parser->flags & NW_WBXML_PARSER_BYTECODEERROR)
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+
+ if (parser->flags & NW_WBXML_PARSER_CHARSET_UNSUPPORTED)
+ return NW_STAT_WBXML_ERROR_CHARSET_UNSUPPORTED;
+
+ return parser->status;
+}
+
+
+#define GET_STATE(parser) ((parser)->state & NW_WBXML_PARSER_S_MASK)
+#define SET_STATE(parser, st) \
+ ((parser)->state = (~NW_WBXML_PARSER_S_MASK & parser->state) | (st))
+
+#define CHECK_PARSER_STATUS \
+ if((parser->flags & NW_WBXML_PARSER_S_MASK) != NW_WBXML_PARSER_OK) \
+ return NW_WBXML_Parser_flagToStatus(parser)
+
+
+/*
+* Create an uninitialized code page registry. As long as the registry is not
+* created, it will be ignored. Once it has been created, the parser will check
+* the REGISTRY_INIT flag. If this is not set, the registry will be initialized
+* as the parser runs. If this is set, then the registry will be consulted when
+* updating the offset.
+*/
+
+NW_Status_t
+NW_WBXML_Parser_addCPRegistry(NW_WBXML_Parser_t* parser,
+ NW_WBXML_CP_Registry_Entry_t* storage,
+ NW_Int32 count)
+{
+ NW_ASSERT(parser != NULL);
+ NW_ASSERT(storage != NULL);
+
+ parser->cp_registry.storage = storage;
+ parser->cp_registry.current = storage;
+ parser->cp_registry.count = count;
+ // WLIU_DEBUG: parser->cp_registry.realcount = 0;
+ parser->state &= ~NW_WBXML_REGISTRY_INIT; /* Make sure flag is not set */
+ return NW_STAT_SUCCESS;
+}
+
+static void
+NW_WBXML_CPRegistry_addEntry(NW_WBXML_CP_Registry_t *registry ,
+ NW_Uint8 code_page,
+ NW_Uint32 offset, /* must point to switch_page token */
+ NW_Uint8 token_state)
+{
+ NW_ASSERT(registry != NULL);
+ NW_ASSERT(registry->current < (registry->storage + registry->count));
+
+ /* ignoring page type (tag or attribute) check that registry is in
+ increasing order of offset so that the algorith in
+ NW_WBXML_CPRegistry_getCodePages() works */
+ NW_ASSERT((registry->current > registry->storage) ?
+ (offset > (registry->current - 1)->start_offset)
+ : 1);
+ /* Each entry must record if it is for tokens or attributes. A
+ trick to encode this without extra memory relies on the use of two
+ bytes in WBXML to encode a page switch. With two bytes one has an
+ even offset and one an odd offset. We pick the even if it is a tag
+ page and the odd offset if it is an attribute page. */
+ if (token_state == TOKEN_STATE_TAG) {
+ if (offset & 1) { /* if it is odd, advance one to make it even */
+ offset++;
+ }
+ } else {
+ NW_ASSERT(token_state == TOKEN_STATE_ATTR);
+ if ((offset & 1) == 0) { /* if it is even, advance one to make it odd */
+ offset++;
+ }
+ }
+ registry->current->start_offset = offset;
+ registry->current->code_page = code_page;
+
+ //if(registry->current < (registry->storage + registry->count - 1)){
+ registry->current++;
+ // WLIU_DEBUG: registry->realcount++;
+ //
+}
+
+void
+NW_WBXML_CPRegistry_getCodePages(NW_WBXML_CP_Registry_t* registry,
+ NW_Uint32 offset,
+ NW_Uint8 *tag_code_page,
+ NW_Uint8 *attribute_code_page)
+{
+ NW_WBXML_CP_Registry_Entry_t* entry;
+
+ NW_ASSERT(registry != NULL);
+
+ *tag_code_page = 0;
+ *attribute_code_page = 0;
+ for (entry = registry->storage;
+ entry < (registry->storage + registry->count);
+ entry++){
+ /* assume that the entries are in increasing offset order */
+ NW_ASSERT((entry > registry->storage) ?
+ (entry->start_offset > (entry - 1)->start_offset)
+ : 1);
+
+ if(offset > entry->start_offset) {
+ if(entry->start_offset & 1) {
+ /* odd offset indicates attributes */
+ *attribute_code_page = entry->code_page;
+ } else {
+ /* even offset indicates tokens */
+ *tag_code_page = entry->code_page;
+ }
+ } else {
+ break; /* early out */
+ }
+ }
+}
+
+
+/*
+ This function parses "version publicid charset strtbl" which is a
+ sequence that comprises the "header" of a WBXML document.
+
+ From specification WAP-192-WBXML-20010725-a, Version 1.3, 25 July 2001,
+ section 5.3 BNF for Document Structure:
+
+ start = version publicid charset strtbl body
+ version = u_int8 // WBXML version number
+ publicid = mb_u_int32 | ( zero index )
+ charset = mb_u_int32
+ strtbl = length *byte
+ length = mb_u_int32
+
+ The "version" specifies the WBXML specification version. The
+ version byte contains the major version minus one in the upper
+ four bits and the minor version in the lower four bits. For
+ example, the version number 1.3 would be encoded as 0x03.
+
+ The first form of publicid is a multi-byte positive integer value,
+ greater than zero, representing a well-known XML document type given
+ an assigned value. See table at section 7.2.1 or try
+ http://www.wapforum.org/wina/wbxml-public-docid.htm
+ Note that 0x01 is used for "unknown or missing public identifier."
+
+ The second form of publicid begins with a 0 byte followed by a
+ string table index (note that these "index" values are all 0-based
+ byte offsets from the start of the string table). The entry in the
+ string table encodes the XML document type string.
+
+ The charset is the multi-byte encoding of the IANA charset MIBenum
+ http://www.iana.org/assignments/character-sets
+
+ The string table either has length 0, if empty, or the length is the
+ byte count of the string table block not counting the length byte
+ itself.
+
+ This is what the specification says about "index" as an index into
+ the string table:
+
+ "Various tokens encode references to the contents of the string
+ table. These references are encoded as scalar byte offsets from the
+ first byte of the first string in the string table. For example, the
+ offset of the first string is zero (0)."
+
+ So, "index" is a 0-based byte offset from the first byte of the
+ string table. The first byte of the string table is the one after
+ the multi-byte encoding of the string table length.
+
+ This function returns one of:
+
+ NW_STAT_SUCCESS
+ NW_STAT_OUT_OF_MEMORY
+ NW_STAT_WBXML_ERROR_BYTECODE
+*/
+NW_Status_t
+NW_WBXML_Parser_docHeaderParse(NW_WBXML_Parser_t* pParser,
+ NW_WBXML_Document_t* pDoc)
+{
+ NW_Int32 bytesRead;
+ NW_Uint32 docTypeByteOffset = 0;
+ NW_Status_t substatus;
+ NW_Status_t status = NW_STAT_WBXML_ERROR_BYTECODE;
+
+ /* this is an internal function where caller should guarantee these */
+ NW_ASSERT(pParser != NULL);
+ NW_ASSERT(pDoc != NULL);
+ NW_ASSERT(GET_STATE(pParser) == NW_WBXML_PARSER_S_START);
+
+ /* version */
+ pDoc->version = NW_WBXML_Parser_readUint8(pParser);
+ if (NW_WBXML_Parser_advance(pParser, 1) < 0) {
+ goto errorExitHeaderParse;
+ }
+ /* publicid */
+ bytesRead = NW_WBXML_Parser_readMbUint32(pParser, &(pDoc->publicid));
+ if ((bytesRead < 0)
+ || (NW_WBXML_Parser_advance(pParser, bytesRead) < 0)) {
+ goto errorExitHeaderParse;
+ }
+ /* check for publicid second form referencing string table */
+ if (pDoc->publicid == 0) {
+ /* save doctype string table index for after string table is read */
+ bytesRead = NW_WBXML_Parser_readMbUint32(pParser, &docTypeByteOffset);
+ if ((bytesRead < 0)
+ || (NW_WBXML_Parser_advance(pParser, bytesRead) < 0)) {
+ goto errorExitHeaderParse;
+ }
+ }
+
+ if(pDoc->publicid == 1) //As per WBXML spec, invalid public identifier
+ {
+ return NW_STAT_WMLBROWSER_BAD_CONTENT;
+ }
+
+ /* charset */
+ if (pDoc->version != 0) {
+ bytesRead = NW_WBXML_Parser_readMbUint32(pParser, &(pDoc->charset));
+ if ((bytesRead < 0)
+ || (NW_WBXML_Parser_advance(pParser, bytesRead) < 0)) {
+ goto errorExitHeaderParse;
+ }
+ } else {
+ /* For WBXML version 1.0, which did not have a charset field in
+ the document header, we hardwire the charset to UTF-8. This is
+ against the spec which says that the charset should come as
+ side info with the doc (e.g., get charset from the load
+ response), but the API needs to change to support this so
+ rather than reject all version 1.0 docs we accept the UTF-8
+ (includes ASCII but not Latin-1) encoded ones. */
+ pDoc->charset = HTTP_utf_8;
+ }
+ substatus = NW_String_charsetValid(pDoc->charset);
+ if (substatus != NW_STAT_SUCCESS) {
+ status = substatus;
+ goto errorExitHeaderParse;
+ }
+ /* strtbl */
+ substatus = NW_WBXML_Parser_readStringTable(pParser, pDoc,
+ &(pDoc->strtbl.data));
+ if (substatus != NW_STAT_SUCCESS) {
+ status = substatus;
+ goto errorExitHeaderParse;
+ }
+
+ /* record remainder of doc as the body length */
+ pDoc->body_len = pParser->left;
+
+ /* deal with doctype string, maybe from string table */
+
+ if(pDoc->doc_type)
+ {
+ NW_String_delete(pDoc->doc_type);
+ }
+
+ pDoc->doc_type = NULL;
+ if (pDoc->publicid == 0) {
+ /* now that we have the string table, get the doctype string */
+ if ((docTypeByteOffset >= pDoc->strtbl.length)
+ || (!NW_String_valid(pDoc->strtbl.data + docTypeByteOffset,
+ pDoc->strtbl.length - docTypeByteOffset,
+ pDoc->charset))) {
+ goto errorExitHeaderParse;
+ }
+ pDoc->doc_type = NW_String_new();
+ if (pDoc->doc_type != NULL) {
+ if (NW_String_initialize(pDoc->doc_type,
+ pDoc->strtbl.data + docTypeByteOffset,
+ pDoc->charset) != NW_STAT_SUCCESS) {
+ NW_String_delete(pDoc->doc_type);
+ pDoc->doc_type = NULL;
+ goto errorExitHeaderParse;
+ }
+ /* TBD should now go back and try to fill in the internal "publicId"
+ from the WBXML dictionary to match the docType. */
+ } else {
+ status = NW_STAT_OUT_OF_MEMORY;
+ goto errorExitHeaderParse;
+ }
+ } else {
+ /* doc came with publicid so now fill in the type string. */
+ substatus
+ = NW_WBXML_Dictionary_publicId_to_doctypeString(pDoc->publicid,
+ &(pDoc->doc_type));
+ /* ignore any error other than OOM */
+ if (substatus == NW_STAT_OUT_OF_MEMORY) {
+ status = NW_STAT_OUT_OF_MEMORY;
+ goto errorExitHeaderParse;
+ }
+ }
+ SET_STATE(pParser, NW_WBXML_PARSER_S_HEADER);
+ pParser->doc = pDoc;
+ status = NW_STAT_SUCCESS;
+ errorExitHeaderParse:
+ return status;
+}
+
+/*
+ * Save/restore context can be used if the parser is to be invoked
+ * reentrantly (in a callback). Normally this should be avoided since
+ * the only really safe way to do this is to save the whole parser
+ * object on the stack. This uses a lot of space!
+ */
+
+NW_Status_t
+NW_WBXML_Parser_saveContext(NW_WBXML_Parser_t *parser,
+ NW_WBXML_Parser_t *context)
+{
+ NW_ASSERT(parser != NULL);
+ NW_ASSERT(context != NULL);
+
+ NW_Mem_memcpy(context, parser, sizeof(*parser));
+ return NW_STAT_SUCCESS;
+}
+
+NW_Status_t
+NW_WBXML_Parser_restoreContext(NW_WBXML_Parser_t *parser,
+ NW_WBXML_Parser_t *context)
+{
+ NW_ASSERT(parser != NULL);
+ NW_ASSERT(context != NULL);
+
+ NW_Mem_memcpy(parser, context, sizeof(*parser));
+ return NW_STAT_SUCCESS;
+}
+
+NW_Status_t
+NW_WBXML_Parser_setTagCodepage(NW_WBXML_Parser_t *parser,
+ NW_Uint8 page)
+{
+ NW_ASSERT(parser != NULL);
+
+ parser->tag_code_page = page;
+ return NW_STAT_SUCCESS;
+}
+
+NW_Uint8
+NW_WBXML_Parser_getTagCodepage(NW_WBXML_Parser_t *parser)
+{
+ NW_ASSERT(parser != NULL);
+
+ return parser->tag_code_page;
+}
+
+NW_Status_t
+NW_WBXML_Parser_setAttrCodepage(NW_WBXML_Parser_t *parser,
+ NW_Uint8 page)
+{
+ NW_ASSERT(parser != NULL);
+
+ parser->attribute_code_page = page;
+ return NW_STAT_SUCCESS;
+}
+
+NW_Uint8
+NW_WBXML_Parser_getAttrCodepage(NW_WBXML_Parser_t *parser)
+{
+ NW_ASSERT(parser != NULL);
+
+ return parser->attribute_code_page;
+}
+
+/*
+* Turn an eight bit token into a fully qualified 32 bit token depending
+* on the parser state.
+*/
+
+static
+NW_Uint32
+FqToken (NW_WBXML_Parser_t * parser,
+ NW_Uint8 token,
+ NW_Int32 token_state)
+{
+ NW_Uint32 fq_token = token;
+
+ NW_ASSERT(parser != NULL);
+
+ fq_token |= (parser->dictionary << 16);
+ if (token_state == TOKEN_STATE_ATTR) {
+ fq_token |=
+ ((parser->attribute_code_page << 8) | NW_WBXML_CP_STATE_ATTR);
+ } else {
+ fq_token |= ((parser->tag_code_page << 8) | NW_WBXML_CP_STATE_TAG);
+ }
+ return fq_token;
+}
+
+
+/* Invoke callbacks */
+
+/* The callback wrappers use the parser flags to implement an
+ * "exception" mechanism. If a callback returns a non-OK status, the
+ * parser will detect this as soon as possible and stop what
+ * it is doing.
+ */
+
+/* Handle state callbacks */
+
+static
+void
+Handle_Pi(NW_WBXML_Parser_t *parser)
+{
+ NW_Status_t status;
+ if ((parser->handler) && (parser->handler->Pi_CB)){
+ status = (*(parser->handler->Pi_CB)) (parser, parser->context);
+ NW_WBXML_Parser_setStatus (parser, status);
+ }
+}
+
+static
+void
+Handle_Pi_End(NW_WBXML_Parser_t *parser)
+{
+ NW_Status_t status;
+ if ((parser->handler) && (parser->handler->Pi_End_CB)){
+ status = (*(parser->handler->Pi_End_CB)) (parser, parser->context);
+ NW_WBXML_Parser_setStatus (parser, status);
+ }
+}
+
+static
+void
+Handle_Tag_Start(NW_WBXML_Parser_t *parser)
+{
+ NW_Status_t status;
+ if ((parser->handler) && (parser->handler->Tag_Start_CB)){
+ status = (*(parser->handler->Tag_Start_CB)) (parser, parser->context);
+ NW_WBXML_Parser_setStatus (parser, status);
+ }
+}
+
+static
+void
+Handle_Tag_End(NW_WBXML_Parser_t *parser)
+{
+ NW_Status_t status;
+ if ((parser->handler) && (parser->handler->Tag_End_CB)){
+ status = (*(parser->handler->Tag_End_CB)) (parser, parser->context);
+ NW_WBXML_Parser_setStatus (parser, status);
+ }
+}
+
+static
+void
+Handle_Attr_Start(NW_WBXML_Parser_t *parser)
+{
+ NW_Status_t status;
+ if ((parser->handler) && (parser->handler->Attr_Start_CB)){
+ status = (*(parser->handler->Attr_Start_CB)) (parser, parser->context);
+ NW_WBXML_Parser_setStatus (parser, status);
+ }
+}
+
+static
+void
+Handle_Attr_Val(NW_WBXML_Parser_t *parser)
+{
+ NW_Status_t status;
+ if ((parser->handler) && (parser->handler->Attr_Val_CB)){
+ status = (*(parser->handler->Attr_Val_CB)) (parser, parser->context);
+ NW_WBXML_Parser_setStatus (parser, status);
+ }
+}
+
+static
+void
+Handle_Content(NW_WBXML_Parser_t *parser)
+{
+ NW_Status_t status;
+ if ((parser->handler) && (parser->handler->Content_CB)){
+ status = (*(parser->handler->Content_CB)) (parser, parser->context);
+ NW_WBXML_Parser_setStatus (parser, status);
+ }
+}
+
+static
+void
+Handle_Codepage(NW_WBXML_Parser_t *parser)
+{
+ NW_Status_t status;
+ if ((parser->handler) && (parser->handler->CodePage_CB)){
+ status = (*(parser->handler->CodePage_CB)) (parser, parser->context);
+ NW_WBXML_Parser_setStatus (parser, status);
+ }
+}
+
+static
+void
+Handle_Extension(NW_WBXML_Parser_t *parser)
+{
+ NW_Status_t status;
+ if ((parser->handler) && (parser->handler->Extension_CB)){
+ status = (*(parser->handler->Extension_CB)) (parser, parser->context);
+ NW_WBXML_Parser_setStatus (parser, status);
+ }
+}
+
+/* Handle data type callbacks */
+
+static
+void
+Handle_Fq_Token(NW_WBXML_Parser_t *parser,
+ NW_Uint32 token)
+{
+ NW_Status_t status;
+ if ((parser->handler) && (parser->handler->FQToken_CB)){
+ status = (*(parser->handler->FQToken_CB)) (parser, token, parser->context);
+ NW_WBXML_Parser_setStatus (parser, status);
+ }
+}
+
+static
+void
+Handle_Inline_String(NW_WBXML_Parser_t *parser,
+ NW_Uint32 len)
+{
+ NW_Status_t status;
+ if ((parser->handler) && (parser->handler->InlineString_CB)){
+ status = (*(parser->handler->InlineString_CB)) (parser, len,
+ parser->context);
+
+ NW_WBXML_Parser_setStatus (parser, status);
+ }
+}
+
+static
+void
+Handle_Table_String(NW_WBXML_Parser_t *parser,
+ NW_Uint32 index)
+{
+ NW_Status_t status;
+ if ((parser->handler) && (parser->handler->TableString_CB)){
+ status = (*(parser->handler->TableString_CB)) (parser, index,
+ parser->context);
+ NW_WBXML_Parser_setStatus (parser, status);
+ }
+}
+
+static
+void
+Handle_Binary(NW_WBXML_Parser_t *parser,
+ NW_Uint32 value)
+{
+ NW_Status_t status;
+ if ((parser->handler) && (parser->handler->Binary_CB)){
+ status = (*(parser->handler->Binary_CB)) (parser, value, parser->context);
+ NW_WBXML_Parser_setStatus (parser, status);
+ }
+}
+
+static
+void
+Handle_Opaque(NW_WBXML_Parser_t *parser,
+ NW_Uint32 len)
+{
+ NW_Status_t status;
+ if ((parser->handler) && (parser->handler->Opaque_CB)){
+ status = (*(parser->handler->Opaque_CB)) (parser, len, parser->context);
+ NW_WBXML_Parser_setStatus (parser, status);
+ }
+}
+
+static
+void
+Handle_Entity(NW_WBXML_Parser_t *parser,
+ NW_Uint32 e)
+{
+ NW_Status_t status;
+ if ((parser->handler) && (parser->handler->Entity_CB)){
+ status = (*(parser->handler->Entity_CB)) (parser, e, parser->context);
+ NW_WBXML_Parser_setStatus (parser, status);
+ }
+}
+
+/*
+* Safely get the next token, checking for switch pages along the way.
+* While this does advance past any switch pages, it DOES NOT advance
+* past the returned token.
+*/
+
+static
+NW_Status_t
+NW_WBXML_Parser_getNextToken (NW_WBXML_Parser_t * parser,
+ NW_Uint8 * token,
+ NW_Int32 token_state)
+{
+
+ NW_ASSERT(parser != NULL);
+
+ if (!NW_WBXML_Parser_hasMoreBytecode (parser)) {
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+
+ while ((*token = NW_WBXML_Parser_readUint8 (parser)) ==
+ NW_WBXML_SWITCH_PAGE)
+ {
+ if (NW_WBXML_Parser_advance (parser, 1) < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ if (!NW_WBXML_Parser_hasMoreBytecode (parser)) {
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+
+ if (token_state == TOKEN_STATE_TAG){
+ parser->tag_code_page = NW_WBXML_Parser_readUint8 (parser);
+ } else {
+ parser->attribute_code_page = NW_WBXML_Parser_readUint8 (parser);
+ }
+
+ if((parser->cp_registry.count > 0)
+ && ((parser->flags & NW_WBXML_REGISTRY_INIT) != NW_WBXML_REGISTRY_INIT)){
+ NW_ASSERT(parser->offset > 0);
+ /* We have a registry but we haven't finished initing it yet */
+ // WLIU_DEBUG: RFileLogger::WriteFormat(_L("Browser"), _L("cp_count.txt"), EFileLoggingModeAppend, _L("=== cp_count: %x, pW->index: %x \n"), parser->cp_registry.realcount +1, parser->offset - parser->lastValid);
+ NW_WBXML_CPRegistry_addEntry(&(parser->cp_registry),
+ NW_WBXML_Parser_readUint8(parser),
+ /* must use switch page token position */
+ parser->offset - 1,
+ (NW_Uint8)token_state);
+ }
+
+ Handle_Codepage(parser);
+
+ if (NW_WBXML_Parser_advance (parser, 1) < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ if (!NW_WBXML_Parser_hasMoreBytecode (parser)) {
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ }
+ return NW_STAT_SUCCESS;
+}
+
+/*
+ * Element parsing methods: The parser is made up of a set of methods
+ * that know how to parse individual elements of the wbxml source. For
+ * elements that repeat, these are implemented in iterators. Building
+ * the parser from a set of element parsers and iterators makes it
+ * simple to use the parser as a deserializer for wbxml elements.
+ */
+
+#define HAS_CONTENT(t) ((t)&NW_WBXML_FLAGS_CONTENT)
+#define HAS_ATTRIBUTES(t) ((t)&NW_WBXML_FLAGS_ATTRIBUTES)
+
+/*
+* Parse the token and name part of a tag. This generates a fully
+* qualified token.
+*/
+
+NW_Status_t
+NW_WBXML_Parser_tagNameParse(NW_WBXML_Parser_t *parser)
+{
+ NW_Uint8 token;
+ NW_Int32 ilen;
+ NW_Uint32 index;
+ NW_Uint32 fq_token;
+ NW_Status_t status;
+
+ NW_ASSERT(parser != NULL);
+
+ Handle_Tag_Start(parser);
+
+ CHECK_PARSER_STATUS;
+
+ status = NW_WBXML_Parser_getNextToken (parser, &token, TOKEN_STATE_TAG);
+ if(status != NW_STAT_SUCCESS){
+ return status;
+ }
+
+ fq_token = FqToken (parser, token, TOKEN_STATE_TAG);
+ Handle_Fq_Token(parser, fq_token);
+
+ if (HAS_CONTENT(fq_token) || HAS_ATTRIBUTES(fq_token) ||
+ (NW_WBXML_Parser_hasMoreBytecode (parser)))
+ {
+ if (NW_WBXML_Parser_advance (parser, 1) < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ }
+
+ /*
+ * Note that while the spec defines tokens for literal tags with
+ * and without attributes and content, they are just
+ * NW_WBXML_LITERAL with the content and/or attributes flags
+ * set. So ...
+ */
+
+ if ((token & NW_WBXML_MASK_TAG_ID) == NW_WBXML_LITERAL){
+
+ /*
+ * TODO: Should check for another global token
+ * and return an error?
+ */
+
+ ilen = NW_WBXML_Parser_readMbUint32 (parser, &index);
+ if(ilen < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+
+ Handle_Table_String(parser, index);
+
+ if(NW_WBXML_Parser_advance(parser, ilen) < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ }
+
+ if (HAS_ATTRIBUTES (fq_token)){ /* Has attributes, possibly content */
+ status = NW_STAT_WBXML_HAS_ATTRIBUTES;
+ if (HAS_CONTENT (fq_token)){
+ status = NW_STAT_WBXML_HAS_ATTR_CONTENT;
+ }
+ }
+
+ else if (HAS_CONTENT (fq_token)){ /* Has content, no attributes */
+ status = NW_STAT_WBXML_HAS_CONTENT;
+ }
+
+ else{ /* No attributes, no content */
+ status = NW_STAT_SUCCESS;
+ Handle_Tag_End(parser);
+ }
+
+ return status;
+}
+
+/* Parse an attribute list */
+
+NW_Status_t
+NW_WBXML_Parser_attributeListIterate(NW_WBXML_Parser_t *parser)
+{
+ NW_Uint8 token;
+ NW_Status_t status;
+
+ NW_ASSERT(parser != NULL);
+
+ status = NW_WBXML_Parser_attributeParse (parser);
+ if(status != NW_STAT_SUCCESS){
+ return status;
+ }
+
+ status = NW_WBXML_Parser_getNextToken (parser, &token, TOKEN_STATE_ATTR);
+ if(status != NW_STAT_SUCCESS){
+ return status;
+ }
+
+ if (token == NW_WBXML_END){
+ return NW_STAT_WBXML_ITERATE_DONE;
+ }
+ return NW_STAT_WBXML_ITERATE_MORE;
+}
+
+static
+NW_Status_t
+NW_WBXML_Parser_attributeListParse(NW_WBXML_Parser_t *parser)
+{
+ NW_Status_t status;
+
+ /* Run the attribute list iterator till it completes */
+
+ while ((parser->flags & NW_WBXML_PARSER_S_MASK) == NW_WBXML_PARSER_OK){
+ status = NW_WBXML_Parser_attributeListIterate(parser);
+ if(status == NW_STAT_WBXML_ITERATE_DONE){
+ return NW_STAT_SUCCESS;
+ }
+ if(status != NW_STAT_WBXML_ITERATE_MORE){
+ return status;
+ }
+ }
+ return NW_WBXML_Parser_flagToStatus(parser);
+}
+
+/*
+* Parse a processing instruction
+*/
+static
+NW_Status_t
+NW_WBXML_Parser_piParse (NW_WBXML_Parser_t * parser,
+ NW_Int32 token_state)
+{
+
+ NW_Uint8 token;
+ NW_Status_t status;
+
+ status = NW_WBXML_Parser_getNextToken (parser, &token, token_state);
+ if(status != NW_STAT_SUCCESS){
+ return status;
+ }
+
+ switch (token){
+ case NW_WBXML_PI:
+ Handle_Pi(parser);
+ /*
+ * Advance past the PI token and then get the PI's
+ * target and value
+ */
+ if(NW_WBXML_Parser_advance (parser, 1) < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ status = NW_WBXML_Parser_attributeParse (parser);
+ if(status != NW_STAT_SUCCESS){
+ return status;
+ }
+ /* Advance past the PI's end token */
+ status = NW_WBXML_Parser_getNextToken (parser, &token, TOKEN_STATE_ATTR);
+ if(status != NW_STAT_SUCCESS){
+ return status;
+ }
+ if (token == NW_WBXML_END){
+ Handle_Pi_End(parser);
+ /*
+ * Must advance the reader past the end token but since this
+ * PI may be the last NW_Byte in the bytecode, first check to see
+ * if there is any bytecode left.
+ */
+ if (NW_WBXML_Parser_hasMoreBytecode (parser)){
+ NW_WBXML_Parser_advance (parser, 1);
+ }
+ }
+ else
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ break;
+ default:
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ return NW_STAT_SUCCESS;
+}
+
+/* Parse an element, recursively parsing content */
+
+static
+NW_Status_t
+NW_WBXML_Parser_elementParse (NW_WBXML_Parser_t * parser)
+{
+ NW_Status_t tag_status = NW_STAT_SUCCESS;
+ NW_Status_t status = NW_STAT_WBXML_ERROR_BYTECODE;
+
+ if (++(parser->recursiveCallCnt) >= WBXML_MAX_RECURSIVE_CALL_DEPTH) {
+ goto FuncExit;
+ }
+
+ /* The while loop checks parser status after each case. */
+ while ((parser->flags & NW_WBXML_PARSER_S_MASK) == NW_WBXML_PARSER_OK){
+ if (tag_status == NW_STAT_SUCCESS){
+ tag_status = NW_WBXML_Parser_tagNameParse(parser);
+ if(tag_status == NW_STAT_SUCCESS){
+ status = NW_STAT_SUCCESS; /* Normal return */
+ goto FuncExit;
+ }
+ }
+
+ else if((tag_status == NW_STAT_WBXML_HAS_ATTRIBUTES) ||
+ (tag_status == NW_STAT_WBXML_HAS_ATTR_CONTENT)) {
+
+ status = NW_WBXML_Parser_attributeListParse (parser);
+ if(status != NW_STAT_SUCCESS){
+ goto FuncExit;
+ }
+
+ if (NW_WBXML_Parser_hasMoreBytecode (parser)){
+ if(NW_WBXML_Parser_advance (parser, 1) < 0){
+ status = NW_STAT_WBXML_ERROR_BYTECODE;
+ goto FuncExit;
+ }
+ }
+
+ if(tag_status == NW_STAT_WBXML_HAS_ATTR_CONTENT) {
+ tag_status = NW_STAT_WBXML_HAS_CONTENT;
+ }
+ else {
+ Handle_Tag_End(parser);
+ status = NW_STAT_SUCCESS; /* Normal return */
+ goto FuncExit;
+ }
+
+ /* TODO: else check for error (token >= 128) */
+ }
+
+ else if((tag_status == NW_STAT_WBXML_HAS_CONTENT) ||
+ (tag_status == NW_STAT_WBXML_HAS_ATTR_CONTENT)) {
+
+ status = NW_WBXML_Parser_contentParse(parser);
+ if(status != NW_STAT_SUCCESS){
+ goto FuncExit;
+ }
+
+ Handle_Tag_End(parser);
+ status = NW_STAT_SUCCESS; /* Normal return */
+ goto FuncExit;
+ }
+ else{
+ /* Unexpected NW_Byte code */
+ status = NW_STAT_WBXML_ERROR_BYTECODE;
+ goto FuncExit;
+ }
+ }
+ status = NW_STAT_WBXML_ERROR_BYTECODE; /* Bad parser status */
+
+ FuncExit:
+ --(parser->recursiveCallCnt);
+ return status;
+}
+
+
+/* Parse a sequence of text components until a non-text component is reached */
+
+
+static
+NW_Uint32
+isTextToken(NW_Uint8 token){
+ if((token == NW_WBXML_STR_I)
+ ||(token == NW_WBXML_STR_T)
+ ||(token == NW_WBXML_OPAQUE)
+ ||(token == NW_WBXML_ENTITY)
+ ||(token == NW_WBXML_EXT_I_0)
+ || (token == NW_WBXML_EXT_I_1)
+ || (token == NW_WBXML_EXT_I_2)
+ || (token == NW_WBXML_EXT_T_0)
+ || (token == NW_WBXML_EXT_T_1)
+ || (token == NW_WBXML_EXT_T_2)
+ || (token == NW_WBXML_EXT_0)
+ || (token == NW_WBXML_EXT_1)
+ || (token == NW_WBXML_EXT_2)){
+ return 1;
+ }
+ return 0;
+}
+
+
+NW_Status_t
+NW_WBXML_Parser_textIterate(NW_WBXML_Parser_t * parser){
+
+ NW_Uint8 token;
+ NW_Int32 ilen = 0;
+ NW_Uint32 index;
+ NW_Uint32 e;
+ NW_Status_t status;
+
+ status = NW_WBXML_Parser_getNextToken (parser, &token, TOKEN_STATE_TAG);
+ if(status != NW_STAT_SUCCESS){
+ return status;
+ }
+
+ switch (token){
+ case NW_WBXML_STR_I:
+ Handle_Content(parser);
+ if(NW_WBXML_Parser_advance (parser, 1) < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ ilen = NW_WBXML_Parser_getInlineStrLen(parser, parser->doc);
+ if(ilen < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ Handle_Inline_String(parser, (NW_Uint32)ilen);
+ if(NW_WBXML_Parser_advance(parser, ilen) < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ break;
+ case NW_WBXML_STR_T:
+ Handle_Content(parser);
+ if(NW_WBXML_Parser_advance (parser, 1) < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ ilen = NW_WBXML_Parser_readMbUint32 (parser, &index);
+ if ((ilen < 0) || (index >= parser->doc->strtbl.length)) {
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ if (!NW_String_valid(parser->doc->strtbl.data + index,
+ parser->doc->strtbl.length - index,
+ parser->doc->charset)) {
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ Handle_Table_String(parser, index);
+ if(NW_WBXML_Parser_advance(parser, ilen)< 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ break;
+ case NW_WBXML_ENTITY:
+ Handle_Content(parser);
+ if(NW_WBXML_Parser_advance (parser, 1) < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ ilen = NW_WBXML_Parser_readMbUint32 (parser, &e);
+ if(ilen < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ if(NW_WBXML_Parser_advance (parser, ilen) < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ Handle_Entity(parser, e);
+ break;
+ case NW_WBXML_EXT_I_0:
+ case NW_WBXML_EXT_I_1:
+ case NW_WBXML_EXT_I_2:
+ case NW_WBXML_EXT_T_0:
+ case NW_WBXML_EXT_T_1:
+ case NW_WBXML_EXT_T_2:
+ case NW_WBXML_EXT_0:
+ case NW_WBXML_EXT_1:
+ case NW_WBXML_EXT_2:
+ Handle_Content(parser);
+ status = NW_WBXML_Parser_extensionParse (parser, TOKEN_STATE_TAG);
+ if(status != NW_STAT_SUCCESS){
+ return status;
+ }
+ break;
+ case NW_WBXML_OPAQUE:
+ Handle_Content(parser);
+ status = NW_WBXML_Parser_opaqueParse (parser, TOKEN_STATE_TAG);
+ if(status != NW_STAT_SUCCESS){
+ return status;
+ }
+ break;
+ case NW_WBXML_PI:
+ status = NW_WBXML_Parser_piParse (parser, TOKEN_STATE_TAG);
+ if (status != NW_STAT_SUCCESS){
+ return status;
+ }
+ break;
+ default:
+ return NW_STAT_FAILURE;
+ }
+ if (NW_WBXML_Parser_hasMoreBytecode (parser)) {
+ status = NW_WBXML_Parser_getNextToken(parser, &token, TOKEN_STATE_TAG);
+ if(status != NW_STAT_SUCCESS){
+ return status;
+ }
+ if(isTextToken(token))
+ return NW_STAT_WBXML_ITERATE_MORE;
+ }
+ return NW_STAT_WBXML_ITERATE_DONE;
+}
+
+static
+NW_Status_t
+NW_WBXML_Parser_textParse(NW_WBXML_Parser_t * parser){
+
+ NW_Status_t status;
+
+ /* Run the text iterator till it completes */
+
+ while ((parser->flags & NW_WBXML_PARSER_S_MASK) == NW_WBXML_PARSER_OK){
+ status = NW_WBXML_Parser_textIterate(parser);
+ if(status == NW_STAT_WBXML_ITERATE_DONE){
+ return NW_STAT_SUCCESS;
+ }
+ if(status != NW_STAT_WBXML_ITERATE_MORE){
+ return status;
+ }
+ }
+ return NW_WBXML_Parser_flagToStatus(parser);
+}
+
+
+/* Parse tag content */
+
+NW_Status_t
+NW_WBXML_Parser_contentParse (NW_WBXML_Parser_t * parser){
+
+ NW_Uint8 token;
+ NW_Status_t status;
+
+ while ((parser->flags & NW_WBXML_PARSER_S_MASK) == NW_WBXML_PARSER_OK){
+
+ status = NW_WBXML_Parser_getNextToken (parser, &token, TOKEN_STATE_TAG);
+ if(status != NW_STAT_SUCCESS){
+ return status;
+ }
+
+ switch (token){
+ case NW_WBXML_END:
+ if (NW_WBXML_Parser_hasMoreBytecode (parser)){
+ NW_WBXML_Parser_advance (parser, 1);
+ }
+ return NW_STAT_SUCCESS; /* Normal return */
+
+ case NW_WBXML_STR_I:
+ case NW_WBXML_STR_T:
+ case NW_WBXML_ENTITY:
+ case NW_WBXML_PI:
+ case NW_WBXML_EXT_I_0:
+ case NW_WBXML_EXT_I_1:
+ case NW_WBXML_EXT_I_2:
+ case NW_WBXML_EXT_T_0:
+ case NW_WBXML_EXT_T_1:
+ case NW_WBXML_EXT_T_2:
+ case NW_WBXML_EXT_0:
+ case NW_WBXML_EXT_1:
+ case NW_WBXML_EXT_2:
+ case NW_WBXML_OPAQUE:
+ status = NW_WBXML_Parser_textParse(parser);
+ if(status != NW_STAT_SUCCESS){
+ return status;
+ }
+ break;
+ case NW_WBXML_LITERAL:
+ case NW_WBXML_LITERAL_A:
+ case NW_WBXML_LITERAL_C:
+ case NW_WBXML_LITERAL_AC:
+ default:
+ Handle_Content(parser);
+ status = NW_WBXML_Parser_elementParse (parser);
+ if(status != NW_STAT_SUCCESS){
+ return status;
+ }
+ break;
+ }
+ }
+ return NW_WBXML_Parser_flagToStatus(parser);
+}
+
+/* Parse an extension */
+
+NW_Status_t
+NW_WBXML_Parser_extensionParse (NW_WBXML_Parser_t * parser,
+ NW_Int32 token_state)
+{
+ NW_Uint8 token = 0;
+ NW_Uint32 fq_token;
+ int ilen;
+ NW_Uint32 value;
+ NW_Status_t status;
+
+ /* if (token_state == TOKEN_STATE_TAG)
+ * handler = parser->handler; TODO: deal with this
+ */
+
+ Handle_Extension(parser);
+
+ status = NW_WBXML_Parser_getNextToken (parser, &token, token_state);
+ if(status != NW_STAT_SUCCESS){
+ return status;
+ }
+
+ fq_token = FqToken (parser, token, token_state);
+ Handle_Fq_Token(parser, fq_token);
+
+ switch (token){
+ case NW_WBXML_EXT_I_0:
+ case NW_WBXML_EXT_I_1:
+ case NW_WBXML_EXT_I_2:
+ if(NW_WBXML_Parser_advance (parser, 1) < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+
+ ilen = NW_WBXML_Parser_getInlineStrLen(parser, parser->doc);
+ if(ilen < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+
+ Handle_Inline_String(parser, (NW_Uint32)ilen);
+
+ if(NW_WBXML_Parser_advance(parser, ilen)<0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ break;
+ case NW_WBXML_EXT_T_0:
+ case NW_WBXML_EXT_T_1:
+ case NW_WBXML_EXT_T_2:
+
+ if(NW_WBXML_Parser_advance (parser, 1) < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+
+ ilen = NW_WBXML_Parser_readMbUint32 (parser, &value);
+
+ if(ilen < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+
+ if (parser->ext_t_not_table_index == 0) {
+ Handle_Table_String(parser, value);
+ } else {
+ Handle_Binary(parser, value); /* handle ext_t anonymous int */
+ }
+ if(NW_WBXML_Parser_advance (parser, ilen) < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ break;
+ case NW_WBXML_EXT_0:
+ case NW_WBXML_EXT_1:
+ case NW_WBXML_EXT_2:
+ if(NW_WBXML_Parser_advance (parser, 1) < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ /* Note - For an extension token without other parameters the
+ second parameter to Handle_Binary is bogus. The callback is here
+ so that the parser client can manage its internal state. */
+ Handle_Binary(parser, 0);
+ break;
+ default:
+ NW_ASSERT(NW_FALSE);
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ return NW_STAT_SUCCESS;
+}
+
+
+/*
+* Parse an attribute
+*/
+
+
+
+NW_Status_t
+NW_WBXML_Parser_attributeNameParse (NW_WBXML_Parser_t * parser){
+
+ NW_Uint8 token;
+ NW_Uint32 fq_token;
+ NW_Uint32 index;
+ NW_Int32 ilen;
+ NW_Status_t status;
+
+ if (!NW_WBXML_Parser_hasMoreBytecode(parser)) {
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+
+ status = NW_WBXML_Parser_getNextToken (parser, &token, TOKEN_STATE_ATTR);
+ if(status != NW_STAT_SUCCESS){
+ return status;
+ }
+
+ if (token < 128){
+ Handle_Attr_Start(parser);
+ if (parser->status == NW_STAT_OUT_OF_MEMORY) {
+ return parser->status;
+ }
+ if(NW_WBXML_Parser_advance (parser, 1)<0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+
+ fq_token = FqToken (parser, token, TOKEN_STATE_ATTR);
+
+ Handle_Fq_Token(parser, fq_token);
+ }
+
+ else{
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+
+ if (token == NW_WBXML_LITERAL){
+ /* TODO: Should check for another global token and return an error? */
+ ilen = NW_WBXML_Parser_readMbUint32 (parser, &index);
+ if(ilen < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ Handle_Table_String(parser, index);
+ if(NW_WBXML_Parser_advance(parser, ilen) < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ }
+ return NW_STAT_SUCCESS;
+}
+
+
+NW_Status_t
+NW_WBXML_Parser_attributeValsIterate (NW_WBXML_Parser_t * parser)
+{
+ NW_Uint8 token;
+ NW_Uint32 fq_token;
+ NW_Uint32 index;
+ NW_Uint32 e;
+ NW_Int32 ilen;
+ NW_Status_t status;
+
+ status = NW_WBXML_Parser_getNextToken (parser, &token, TOKEN_STATE_ATTR);
+ if(status != NW_STAT_SUCCESS){
+ return status;
+ }
+
+ if (token == NW_WBXML_STR_I){
+ /* NW_WBXML_ATTR_COMPONENT_STRING; */
+ if(NW_WBXML_Parser_advance (parser, 1) < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ ilen = NW_WBXML_Parser_getInlineStrLen(parser, parser->doc);
+ if(ilen < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ Handle_Attr_Val(parser);
+ Handle_Inline_String(parser, (NW_Uint32) ilen);
+ if(NW_WBXML_Parser_advance(parser, ilen) < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ }
+ else if (token == NW_WBXML_STR_T){
+ /* NW_WBXML_ATTR_COMPONENT_STRING; */
+ if(NW_WBXML_Parser_advance (parser, 1) < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ ilen = NW_WBXML_Parser_readMbUint32 (parser, &index);
+ if(ilen < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ Handle_Attr_Val(parser);
+ Handle_Table_String(parser, index);
+ if(NW_WBXML_Parser_advance(parser, ilen)<0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ }
+ else if (token == NW_WBXML_OPAQUE){
+ /* NW_WBXML_ATTR_COMPONENT_OPAQUE; */
+ if(NW_WBXML_Parser_advance (parser, 1) < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ ilen = NW_WBXML_Parser_readMbUint32 (parser, &index);
+ if(ilen < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ /* Move past the length NW_Byte(s) */
+ if(NW_WBXML_Parser_advance (parser, ilen) < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ Handle_Attr_Val(parser);
+ Handle_Opaque(parser, index);
+ if(NW_WBXML_Parser_advance (parser, (NW_Int32)index) < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ }
+ else if (token == NW_WBXML_ENTITY){
+ /*NW_WBXML_ATTR_COMPONENT_ENTITY; */
+ if(NW_WBXML_Parser_advance (parser, 1) < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ ilen = NW_WBXML_Parser_readMbUint32 (parser,&e);
+ if(ilen < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ Handle_Entity(parser, e);
+ if(NW_WBXML_Parser_advance (parser, ilen) < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ }
+ else if ((token == NW_WBXML_EXT_I_0)
+ || (token == NW_WBXML_EXT_I_1)
+ || (token == NW_WBXML_EXT_I_2)
+ || (token == NW_WBXML_EXT_T_0)
+ || (token == NW_WBXML_EXT_T_1)
+ || (token == NW_WBXML_EXT_T_2)
+ || (token == NW_WBXML_EXT_0)
+ || (token == NW_WBXML_EXT_1)
+ || (token == NW_WBXML_EXT_2)){
+
+ /* NW_WBXML_ATTR_COMPONENT_EXT; */
+ Handle_Attr_Val(parser);
+ status = NW_WBXML_Parser_extensionParse (parser, TOKEN_STATE_ATTR);
+ if(status != NW_STAT_SUCCESS){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ }
+ else if (token >= 128){
+ /*NW_WBXML_ATTR_COMPONENT_TOKEN; */
+ fq_token = FqToken(parser, token, TOKEN_STATE_ATTR);
+ Handle_Attr_Val(parser);
+ Handle_Fq_Token(parser, fq_token);
+ if(NW_WBXML_Parser_advance (parser, 1) < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ }
+
+ status = NW_WBXML_Parser_getNextToken (parser, &token, TOKEN_STATE_ATTR);
+ if(status != NW_STAT_SUCCESS){
+ return status;
+ }
+
+ /*
+ * Attribute tokens are either text tokens or
+ * dictionary-defined tokens > 128
+ */
+ if(isTextToken(token) || (token >=128)){
+
+ return NW_STAT_WBXML_ITERATE_MORE; /* Normal exit */
+ }
+ else /*if ((token < 128) || (token == NW_WBXML_END)
+ || (token == NW_WBXML_LITERAL))*/{
+ /*parser->state &= ~NW_WBXML_PARSER_S_ATTR_VAL; */
+ /* Don't advance parser */
+ return NW_STAT_WBXML_ITERATE_DONE; /* Normal exit */
+ }
+}
+
+NW_Status_t
+NW_WBXML_Parser_attributeParse(NW_WBXML_Parser_t *parser)
+{
+ NW_Status_t status;
+
+ status = NW_WBXML_Parser_attributeNameParse(parser);
+ if(status != NW_STAT_SUCCESS){
+ return status;
+ }
+ while ((parser->flags & NW_WBXML_PARSER_S_MASK) == NW_WBXML_PARSER_OK){
+ status = NW_WBXML_Parser_attributeValsIterate(parser);
+ if(status == NW_STAT_WBXML_ITERATE_DONE){
+ return NW_STAT_SUCCESS;
+ }
+ if(status != NW_STAT_WBXML_ITERATE_MORE){
+ return status;
+ }
+ }
+ return NW_WBXML_Parser_flagToStatus(parser);
+}
+
+
+/*
+* Parse opaque data
+*/
+
+NW_Status_t
+NW_WBXML_Parser_opaqueParse (NW_WBXML_Parser_t * parser,
+ NW_Int32 token_state)
+{
+
+ NW_Uint32 index;
+ NW_Int32 ilen = 0;
+ NW_Uint8 token;
+ NW_Status_t status;
+
+ status = NW_WBXML_Parser_getNextToken (parser, &token, token_state);
+ if(status != NW_STAT_SUCCESS){
+ return status;
+ }
+
+ switch (token){
+ case NW_WBXML_OPAQUE:
+ if(NW_WBXML_Parser_advance (parser, 1) < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ ilen = NW_WBXML_Parser_readMbUint32 (parser, &index);
+ if(ilen < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ if(NW_WBXML_Parser_advance (parser, ilen) < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ Handle_Opaque(parser,index);
+ if(NW_WBXML_Parser_advance (parser, (NW_Int32)index) < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ break;
+ default:
+ /* return NW_STAT_WBXML_ERROR_BYTECODE;*/
+ NW_ASSERT(NW_FALSE); /* Never reached */
+ }
+ return NW_STAT_SUCCESS;
+}
+
+
+/*
+* Parse the body of a document
+*
+* RETURN NW_STAT_SUCCESS
+* NW_STAT_OUT_OF_MEMORY
+* NW_STAT_BAD_INPUT_PARAM
+* NW_STAT_WBXML_ERROR_BYTECODE
+* NW_STAT_WBXML_ERROR_CHARSET_UNSUPPORTED
+*/
+
+NW_Status_t
+NW_WBXML_Parser_bodyParse (NW_WBXML_Parser_t * parser)
+{
+ NW_Status_t status;
+ NW_Uint8 token;
+
+ NW_ASSERT(parser != NULL);
+ // WLIU_DEBUG: RFileLogger::WriteFormat(_L("Browser"), _L("cp_count.txt"), EFileLoggingModeAppend, _L("====== body parse starts =====\n"));
+
+ /* This is not quite the WBXML grammar because we want to permit
+ loose HTML docs where there is no one document node. */
+ while (((parser->flags & NW_WBXML_PARSER_S_MASK) == NW_WBXML_PARSER_OK)
+ && NW_WBXML_Parser_hasMoreBytecode (parser)) {
+
+ status = NW_WBXML_Parser_getNextToken (parser, &token, TOKEN_STATE_TAG);
+ if(status != NW_STAT_SUCCESS){
+ return status;
+ }
+
+ switch (token){
+ case NW_WBXML_END:
+ if (NW_WBXML_Parser_hasMoreBytecode (parser)) {
+ if(NW_WBXML_Parser_advance (parser, 1) < 0){
+ return NW_STAT_WBXML_ERROR_BYTECODE;
+ }
+ Handle_Tag_End(parser);
+ }
+ break;
+
+ case NW_WBXML_STR_I:
+ case NW_WBXML_STR_T:
+ case NW_WBXML_ENTITY:
+ case NW_WBXML_PI:
+ case NW_WBXML_EXT_I_0:
+ case NW_WBXML_EXT_I_1:
+ case NW_WBXML_EXT_I_2:
+ case NW_WBXML_EXT_T_0:
+ case NW_WBXML_EXT_T_1:
+ case NW_WBXML_EXT_T_2:
+ case NW_WBXML_EXT_0:
+ case NW_WBXML_EXT_1:
+ case NW_WBXML_EXT_2:
+ case NW_WBXML_OPAQUE:
+ status = NW_WBXML_Parser_textParse(parser);
+ if(status != NW_STAT_SUCCESS){
+ return status;
+ }
+ break;
+
+ case NW_WBXML_LITERAL:
+ case NW_WBXML_LITERAL_A:
+ case NW_WBXML_LITERAL_C:
+ case NW_WBXML_LITERAL_AC:
+ default:
+ status = NW_WBXML_Parser_elementParse (parser);
+ if(status != NW_STAT_SUCCESS){
+ return status;
+ }
+ break;
+ }
+ }
+ CHECK_PARSER_STATUS;
+
+ /*
+ * If we have a registry then it must be inited at this point, so
+ * set the init flag.
+ */
+
+ if((parser->cp_registry.count > 0)
+ && ((parser->flags & NW_WBXML_REGISTRY_INIT) != NW_WBXML_REGISTRY_INIT)){
+ parser->flags |= NW_WBXML_REGISTRY_INIT;
+ }
+
+ // WLIU_DEBUG: RFileLogger::WriteFormat(_L("Browser"), _L("cp_count.txt"), EFileLoggingModeAppend, _L("====== body parse ends =====\n"));
+
+ if (parser->handler && parser->handler->EndDocument_CB){
+ return (*(parser->handler->EndDocument_CB)) (parser, parser->context);
+ }
+ return NW_STAT_SUCCESS;
+}
+
+
+/*
+* Cache the parser's event handler and context
+*
+* RETURN: NW_STAT_SUCCESS
+*/
+
+EXPORT_C NW_Status_t
+NW_WBXML_Parser_registerHandler (NW_WBXML_Parser_t * parser,
+ const struct NW_WBXML_EventHandler_s * handler,
+ void *context)
+{
+
+ NW_ASSERT(parser != NULL);
+
+ parser->handler = handler;
+ parser->context = context;
+
+ return NW_STAT_SUCCESS;
+}
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/xmlp/include/cxml_xmlp_entity.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/xmlp/include/cxml_xmlp_entity.h Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,157 @@
+/*
+* Copyright (c) 2003 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Provides a single header for the cXML Parser
+*
+*/
+
+
+
+#ifndef _CXML_ENTITY_H_
+#define _CXML_ENTITY_H_
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* As per WBXML Format Specification (WAP-192-WBXML-20010725-a),
+ * section 5.8.4.3, the entities in WBXML can be represented either
+ * as String token (STR_I) or the ENTITY Token. The numeric character
+ * entities are reprented as ENTITY token and all other as STR_I.
+ *
+ * In our implementation, all XML/HTML is represented as the numeric
+ * character entities. The numeric character entities is allocated four
+ * bytes (NW_Uint32). The highest order byte will distinguish between the
+ * different types of entities e.g. between predefined or character numeric
+ * entities.
+ *
+ */
+
+
+// The maximum length of the entities can't exceed than
+// 9 bytes in current implementation. Provides safty
+// for the infinite loop.
+
+enum { CXML_ATTR_VAL_STR = 512,
+ CXML_ENTITY_VAL_LEN =4
+};
+
+typedef struct CXML_EntitySet_Entry_s {
+ CXML_Uint8* name;
+ CXML_Ucs2 value;
+}CXML_EntitySet_Entry_t;
+
+
+
+
+/** ----------------------------------------------------------------------- **
+ @function: CXML_XML_Handle_entity
+ @synopsis: Resolve the entities.
+ @scope: public
+
+ @parameters:
+ [in] NW_XML_Reader_t* pT
+
+
+ [in] NW_XML_Reader_Interval_t* pI_entityData
+ Entity name
+
+
+ [out] NW_Uint32* entityVal
+ If it is Character hex entry, Character decimal entry or
+ Prefined entry then it contains the hex value of entity.
+ In case of Internal entities it is zero.
+
+ [out] CXML_Uint8** entityStr
+ In case of Internal Entities, it is string corresponding
+ to the entity name defined in
+ NW_XML_Reader_Interval_t* pI_entityData.
+
+ [out] NW_Bool* entityFound
+ NW_TRUE: If valid type of entity is defined.
+ [in] RPointerArray internalEntityList
+ List of Internal Entities for search. This is
+ casted to (void*) to avoid c++ related error in
+
+
+ @description: * The following type of entities are handled
+ * 1) Character hex entry
+ * 2) Character decimal entry
+ * 3) Prefined entry
+ * 4) Internal Entities defined in the DTD.
+ *
+ *
+
+
+
+ @returns:
+ In case of file related failures: Error codes is returned defined in
+ nwx_status.h
+ NW_STAT_FAILURE : For any general error and entity is not predefined
+ entity.
+ NW_STAT_SUCCESS: For success
+ -----------------------------------------------------------------------------------**/
+
+NW_Status_t CXML_XML_Handle_entity(NW_XML_Reader_t* pT,
+ NW_XML_Reader_Interval_t* pI_entityData,
+ NW_Uint32* entityVal,
+ CXML_Uint8** entityStr,
+ NW_Bool* entityFound,
+ void* internalEntityList);
+
+
+
+
+NW_Status_t CXML_XML_Parser_Entity(NW_XML_Reader_t* pT,
+ NW_XML_Reader_Interval_t* I_entityData,
+ NW_Bool* entityFound);
+
+/** ----------------------------------------------------------------------- **
+ @function: CXML_XML_Get_Entity
+ @synopsis: Converts the entity value from CXML_Uint32 to CXML_Byte string.
+ @scope: public
+
+ @parameters:
+ [in] entityVal
+
+
+ [out] CXML_Byte* entityStr
+ Entity value in the string.
+
+
+ [out] CXML_Uint32* strLen
+ Length of the entity string.
+ 0: In case of error.
+
+ @description: Converts the entity value from CXML_Uint32 to CXML_Byte string.
+
+ @returns:
+ In case of file related failures: Error codes is returned defined in
+ nwx_status.h
+ NW_STAT_FAILURE : For any general error and entity is not predefined
+ entity.
+ NW_STAT_SUCCESS: For success
+ -----------------------------------------------------------------------------------**/
+
+IMPORT_C
+NW_Status_t CXML_XML_Get_Entity(CXML_Uint32 entityVal,
+ CXML_Byte* entityStr,
+ CXML_Uint32* strLen);
+
+#ifdef __cplusplus
+} // extern "C" {
+#endif /* __cplusplus */
+
+#endif //_CXML_ENTITY_H_
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/xmlp/include/cxml_xmlp_int_entity.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/xmlp/include/cxml_xmlp_int_entity.h Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,131 @@
+/*
+* Copyright (c) 2003 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Provides a single header for the cXML Parser
+*
+*/
+
+
+
+#ifndef _CXML_XMLP_INT_ENTITY_H_
+#define _CXML_XMLP_INT_ENTITY_H_
+#include
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+typedef struct CXML_Internal_Entity_s {
+ NW_Ucs2 * name;
+ NW_Ucs2 * value;
+ NW_Uint32 nameLen;
+}CXML_Internal_Entity_t;
+
+
+/** ----------------------------------------------------------------------- **
+ @function: CXML_XML_Parser_Store_I_Entity
+ @synopsis: Function to store the internal entity.
+ @scope: public
+
+ @parameters:
+ [in] entityVal
+
+
+ [in] NW_XML_Reader_Interval_t* I_entityName
+ Internal Entity Name
+
+
+ [in] NW_XML_Reader_Interval_t* I_entityValue
+ Internal Entity Value
+
+ @description: This extracts the Internal Entity name from the XML buffer
+ and stores in the Link list.
+
+ @returns:
+ In case of file related failures: Error codes is returned defined in
+ nwx_status.h
+ NW_STAT_FAILURE : For any general error and entity is not predefined
+ entity.
+ NW_STAT_SUCCESS: For success
+ -----------------------------------------------------------------------------------**/
+
+ NW_Status_t CXML_XML_Parser_Store_I_Entity(NW_XML_Reader_t* pT,
+ NW_XML_Reader_Interval_t* I_entityName,
+ NW_XML_Reader_Interval_t* I_entityValue,
+ RPointerArray * internalEntityList);
+
+ /** ----------------------------------------------------------------------- **
+ @function: CXML_XML_Parser_Free_I_Entity_List
+ @synopsis: Function to free the internal entity list.
+ @scope: public
+
+ @parameters: void
+
+
+ @description: Function to free the internal entity list.
+
+ @returns:
+ void
+ -----------------------------------------------------------------------------------**/
+
+ void CXML_XML_Parser_Free_I_Entity_List(RPointerArray internalEntityList);
+
+ /** ----------------------------------------------------------------------- **
+ @function: CXML_XML_Resolve_Internal_Entity
+ @synopsis: Function to resolve the internal entity.
+ @scope: public
+
+ @parameters:
+ [in] NW_Ucs2* entityName: Name of Entity
+
+
+ [out] CXML_Uint8** entityValStr
+ If the entity name is the internal entity then this
+ contains the entiy value string otherwise NULL.
+
+
+
+ [out] NW_Bool* entityFound
+ If it is internal entity then it is true otherwise false.
+ [in] NW_Uint32 encoding:
+ Original encoding of the buffer so that entityValStr contain
+ correct.
+ [in] void* internalEntityList: Internal Entity list
+
+ @description: This extracts the Internal Entity name from the XML buffer
+ and stores in the Link list.
+
+ @returns:
+ In case of file related failures: Error codes is returned defined in
+ nwx_status.h
+ NW_STAT_FAILURE : For any general error and entity is not predefined
+ entity.
+ NW_STAT_SUCCESS: For success
+ -----------------------------------------------------------------------------------**/
+
+ NW_Status_t CXML_XML_Resolve_Internal_Entity(NW_Ucs2* entityName,
+ CXML_Uint8** entityValStr,
+ NW_Bool* entityFound,
+ NW_Uint32 encoding,
+ void* internalEntityList);
+
+
+
+
+#ifdef __cplusplus
+} // extern "C" {
+#endif /* __cplusplus */
+
+#endif //_CXML_XMLP_INT_ENTITY_H_
diff -r ed3155dbd163 -r 74f0b3eb154c xml/cxmllibrary/src/xmlp/src/XMLParser.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/cxmllibrary/src/xmlp/src/XMLParser.cpp Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,2215 @@
+/*
+* Copyright (c) 2000 - 2001 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "cxml_internal.h"
+#include
+#include
+#include
+
+
+#include "cxml_xmlp_entity.h"
+#include
+#include "cxml_xmlp_int_entity.h"
+
+
+
+/* "" len 2 */
+#define NW_XML_String_PiFormStartLength 2
+static
+const NW_Uint8 NW_XML_String_PiFormStart[NW_XML_String_PiFormStartLength] =
+{
+ '<', '?'
+};
+
+/* "?>" len 2 */
+#define NW_XML_String_PiFormStopLength 2
+static
+const NW_Uint8 NW_XML_String_PiFormStop[NW_XML_String_PiFormStopLength] =
+{
+ '?', '>'
+};
+
+/* "version" len 7 */
+#define NW_XML_String_VersionLength 7
+static
+const NW_Uint8 NW_XML_String_Version[NW_XML_String_VersionLength] =
+{
+ 'v', 'e', 'r', 's', 'i', 'o', 'n'
+};
+
+/* "encoding" len 8 */
+#define NW_XML_String_EncodingLength 8
+static
+const NW_Uint8 NW_XML_String_Encoding[NW_XML_String_EncodingLength] =
+{
+ 'e', 'n', 'c', 'o', 'd', 'i', 'n', 'g'
+};
+
+/* "standalone" len 10 */
+#define NW_XML_String_StandaloneLength 10
+static
+const NW_Uint8 NW_XML_String_Standalone[NW_XML_String_StandaloneLength] =
+{
+ 's', 't', 'a', 'n', 'd', 'a', 'l', 'o', 'n', 'e'
+};
+
+/* "" len 3 comment end */
+#define NW_XML_String_CommentStopLength 3
+static
+const NW_Uint8 NW_XML_String_CommentStop[NW_XML_String_CommentStopLength] =
+{
+ '-', '-', '>'
+};
+
+/* "/>" len 2 */
+#define NW_XML_String_EmptyTagEndLength 2
+static
+const NW_Uint8 NW_XML_String_EmptyTagEnd[NW_XML_String_EmptyTagEndLength] =
+{
+ '/', '>'
+};
+
+/* "" len 2 */
+#define NW_XML_String_EndTagStartLength 2
+static
+const NW_Uint8 NW_XML_String_EndTagStart[NW_XML_String_EndTagStartLength] =
+{
+ '<', '/'
+};
+
+/* "" len 3 */
+#define NW_XML_String_CdataEndLength 3
+static
+const NW_Uint8 NW_XML_String_CdataEnd[NW_XML_String_CdataEndLength] =
+{
+ ']', ']', '>'
+};
+
+/* All case variations of "xml" */
+#define NW_XML_String_XmlNameVariationCount 8
+#define NW_XML_String_XmlLength 3
+static
+const NW_Uint8 NW_XML_String_XmlVariations[(NW_XML_String_XmlNameVariationCount
+ * NW_XML_String_XmlLength)] =
+{
+ 'x', 'm', 'l', /* all lower case form must be first */
+ 'x', 'm', 'L',
+ 'x', 'M', 'l',
+ 'x', 'M', 'L',
+ 'X', 'm', 'l',
+ 'X', 'm', 'L',
+ 'X', 'M', 'l',
+ 'X', 'M', 'L'
+};
+
+
+/* Assumes position in Reader is at the first character of keyword.
+returns: *pMatch = 1 if found keyword and advanced over it, 0 if no match
+NOTE: Keyword match just means the string of keyword chars
+exists at the read position so it does not mean that the keyword
+is delimited at the end---it might be followed by more name chars. */
+static
+NW_Status_t
+NW_XML_Parse_KeywordConsume(NW_XML_Reader_t* pT, NW_XML_Reader_Interval_t* pI,
+ NW_Uint32 l, const NW_Uint8* pKeyword,
+ NW_Uint32* pMatch)
+{
+ NW_Status_t s;
+ NW_XML_Reader_Interval_Init(pI);
+ s = NW_XML_Reader_AsciiStringMatch(pT, l, pKeyword, pMatch);
+ if (NW_STAT_IS_SUCCESS(s) && *pMatch) {
+ NW_XML_Reader_Interval_Start(pI, pT);
+ NW_XML_Reader_AdvanceOffset(pT, l);
+ NW_XML_Reader_Interval_Stop(pI, pT);
+ }
+ return s;
+}
+
+/*
+Parses an XML Name (productions 5, 4) in Reader.
+If no parse error, then *pI marks the Name.
+Assumes position in Reader is at the first character of name.
+returns: *pMatch = 1 if found name and advanced over it, 0 if no match
+*/
+static
+NW_Status_t
+NW_XML_Parse_NameConsume(NW_XML_Reader_t* pT, NW_XML_Reader_Interval_t* pI,
+ NW_Uint32* pMatch)
+{
+ /*
+ [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':'
+ | CombiningChar | Extender
+
+ Note: combining and extender ignored here.
+
+ [5] Name ::= (Letter | '_' | ':') (NameChar)*
+ */
+ NW_Status_t sl;
+ NW_Uint32 isLetter;
+ NW_Status_t su;
+ NW_Uint32 isUnderscore;
+ NW_Status_t sc;
+ NW_Uint32 isColon;
+ NW_Status_t sd = NW_STAT_SUCCESS;
+ NW_Uint32 isDigit = 0;
+ NW_Status_t sp = NW_STAT_SUCCESS;
+ NW_Uint32 isPeriod = 0;
+ NW_Status_t sh = NW_STAT_SUCCESS;
+ NW_Uint32 isHyphen = 0;
+ NW_Status_t s = NW_STAT_SUCCESS;
+
+ sl = NW_XML_Reader_IsLetter(pT, &isLetter);
+ su = NW_XML_Reader_AsciiCharMatch(pT, '_', &isUnderscore);
+ sc = NW_XML_Reader_AsciiCharMatch(pT, ':', &isColon);
+ *pMatch = 0;
+ NW_XML_Reader_Interval_Init(pI);
+ if (NW_STAT_IS_SUCCESS(sl) && NW_STAT_IS_SUCCESS(su)
+ && NW_STAT_IS_SUCCESS(sc)) {
+ if (isLetter | isUnderscore | isColon) {
+ NW_XML_Reader_Interval_Start(pI, pT);
+ while ((NW_STAT_IS_SUCCESS(sl) && NW_STAT_IS_SUCCESS(su)
+ && NW_STAT_IS_SUCCESS(sc) && NW_STAT_IS_SUCCESS(sd)
+ && NW_STAT_IS_SUCCESS(sp) && NW_STAT_IS_SUCCESS(sh)
+ && NW_STAT_IS_SUCCESS(s))
+ && (isLetter | isDigit | isPeriod | isHyphen | isUnderscore
+ | isColon )) {
+ s = NW_XML_Reader_Advance(pT);
+ sl = NW_XML_Reader_IsLetter(pT, &isLetter);
+ sd = NW_XML_Reader_IsDigit(pT, &isDigit);
+ sp = NW_XML_Reader_AsciiCharMatch(pT, '.', &isPeriod);
+ sh = NW_XML_Reader_AsciiCharMatch(pT, '-', &isHyphen);
+ su = NW_XML_Reader_AsciiCharMatch(pT, '_', &isUnderscore);
+ sc = NW_XML_Reader_AsciiCharMatch(pT, ':', &isColon);
+ }
+ NW_XML_Reader_Interval_Stop(pI, pT);
+ *pMatch = 1;
+ }
+ }
+ if (NW_STAT_IS_SUCCESS(sl) && NW_STAT_IS_SUCCESS(su)
+ && NW_STAT_IS_SUCCESS(sc) && NW_STAT_IS_SUCCESS(sd)
+ && NW_STAT_IS_SUCCESS(sp) && NW_STAT_IS_SUCCESS(sh)
+ && NW_STAT_IS_SUCCESS(s)) {
+ return NW_STAT_SUCCESS;
+ }
+ return NW_STAT_FAILURE;
+}
+
+/* This function reads data from the pT->pBuf and converts this data to
+ * the NW_String_t. The string memory is allocated here but it is freed
+ * in the calling function.
+ *
+ * pT --> Parser Structute (IN)
+ * I_attrVal --> Attribute value Interval parameter (IN)
+ * *dataStr --> Output string (OUT)
+ *
+ *
+ */
+
+static NW_Status_t NW_XML_Data_to_String(NW_XML_Reader_t* pT, NW_XML_Reader_Interval_t* I_attrVal,
+ NW_String_t* dataStr)
+{
+ NW_Uint8* pData;
+ NW_Uint32 numbytes = 0;
+ NW_Uint32 totalByteCount = 0;
+ CXML_Uint8* tempAttrValBuf;
+ CXML_Uint32 tempBufLen = 0;
+ NW_Uint32 length;
+ NW_Uint32 i =0;
+ NW_Ucs2 c;
+ NW_Status_t s;
+
+ length = I_attrVal->stop - I_attrVal->start;
+ tempBufLen = length; //Desired bytes need to read.
+
+ s = NW_XML_Reader_DataAddressFromBuffer(pT,I_attrVal->start,
+ &tempBufLen,
+ &tempAttrValBuf);
+
+ if (NW_STAT_IS_FAILURE(s))
+ {
+ return s;
+ }
+
+ if (tempBufLen != length)
+ {
+ return NW_STAT_FAILURE;
+ }
+
+
+
+ /* pData is not NULL terminated so need to use following method. The num byte
+ * will be used for both pName and pVlaue.
+ */
+
+
+ numbytes = NW_String_readChar( (NW_Byte*) tempAttrValBuf,&c,pT->encoding);
+
+ /* Calculate the length of string. Also add the number of characters
+ * required for the NULL termination.
+ */
+
+ totalByteCount = length + numbytes;
+
+ pData = (NW_Uint8*) NW_Mem_Malloc(totalByteCount);
+
+ if (pData != NULL)
+ {
+ (void)NW_Mem_memcpy(pData , tempAttrValBuf, length );
+
+
+ for(i=0; i < numbytes; i++)
+ {
+ pData[length+i] = '\0';
+ }
+ } /*end if (pName != NULL)*/
+ else
+ {
+ return NW_STAT_OUT_OF_MEMORY;
+ }
+
+ s = NW_String_initialize( dataStr , pData, pT->encoding);
+
+ if (NW_STAT_IS_FAILURE(s))
+ {
+ return s;
+ }
+
+ /* This will the storage of the dataStr by the NW_String_delete() */
+
+ dataStr->length |= 0x80000000;
+
+ return NW_STAT_SUCCESS;
+
+}/*end NW_XML_Data_to_String()*/
+
+/* Assumes position in Reader is at the opening quote character for value.
+* BUG not yet spec compliant.
+* The following function is called for Process Instruction and Element
+* attribute consume. The predefined entities will be handled in
+* element attributes only. So, the "entity" parameter is used to
+* distinguish between these two cases.
+* Careful about the "entity" parameter passed. This is used both as
+* IN/OUT paramter.
+
+* IN --> if(entity == CXML_TRUE): Then parse attribute value for the
+* entities.
+
+* OUT --> (entity=CXML_TRUE): The entity is found in the attribute value.
+
+*/
+
+static
+NW_Status_t
+NW_XML_Parse_ValueConsume(NW_XML_Reader_t* pT, NW_XML_Reader_Interval_t* pI,
+ CXML_Bool* entityCheck, NW_String_t* attrValStr,
+ const RPointerArray * internalEntityList)
+{
+ /*
+ Literal data is any quoted string not containing the quotation mark
+ used as a delimiter for that string.
+
+ [10] AttValue ::= '"' ([^<&"] | Reference)* '"'
+ | "'" ([^<&'] | Reference)* "'"
+ */
+
+ /* BUG this only pays attention to the quote chars not the value
+ so it ignores [<&]. */
+ NW_Status_t s;
+ NW_Status_t ssq;
+ NW_Uint32 isOpenSingleQuote;
+ NW_Uint32 isCloseSingleQuote = 0;
+ NW_Status_t sdq;
+ NW_Uint32 isOpenDoubleQuote;
+ NW_Uint32 isCloseDoubleQuote = 0;
+ NW_Status_t slt;
+ NW_Uint32 isLessThan;
+
+ NW_Uint32 prevIndex;
+ NW_Uint32 prevCharIndex;
+ NW_XML_Reader_LineColumn_t prevLineColumn;
+ CXML_Uint8* intEntityValStr = NULL;
+ CXML_Uint32 tempBufLen = 0;
+ NW_String_t* tempStr = NULL;
+ NW_String_t entityValStr;
+ CXML_Bool entityFoundLevel_2 = NW_FALSE;
+ CXML_Bool entityFoundOnce = NW_FALSE;
+ NW_String_initialize (&entityValStr, NULL, 0);
+
+
+
+
+ NW_XML_Reader_Interval_Init(pI);
+ ssq = NW_XML_Reader_AsciiCharMatch(pT, '\'', &isOpenSingleQuote);
+ sdq = NW_XML_Reader_AsciiCharMatch(pT, '\"', &isOpenDoubleQuote);
+ if (NW_STAT_IS_FAILURE(sdq) || NW_STAT_IS_FAILURE(ssq)
+ || (!isOpenSingleQuote && !isOpenDoubleQuote)) {
+ return NW_STAT_FAILURE;
+ }
+ /* xor, mutually exclusive */
+ NW_ASSERT(isOpenSingleQuote ^ isOpenDoubleQuote);
+ s = NW_XML_Reader_Advance(pT);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return NW_STAT_FAILURE;
+ }
+ NW_XML_Reader_Interval_Start(pI, pT);
+ for (;;) {
+
+ /* Check for the closing quotes. If this is empty attribute value
+ * then no need for the checking the entities.
+ */
+
+ if (isOpenSingleQuote) {
+ ssq = NW_XML_Reader_AsciiCharMatch(pT, '\'', &isCloseSingleQuote);
+ }
+ if (isOpenDoubleQuote) {
+ sdq = NW_XML_Reader_AsciiCharMatch(pT, '\"', &isCloseDoubleQuote);
+ }
+ slt = NW_XML_Reader_AsciiCharMatch(pT, '<', &isLessThan);
+ if (NW_STAT_IS_FAILURE(ssq) || NW_STAT_IS_FAILURE(sdq)
+ || NW_STAT_IS_FAILURE(slt) || isLessThan) {
+ return NW_STAT_FAILURE;
+ }
+
+
+ if( (*entityCheck == CXML_TRUE) && !isCloseSingleQuote && !isCloseDoubleQuote)
+ {
+ NW_Uint32 match;
+
+ s = NW_XML_Reader_AsciiCharMatch(pT, '&', &match);
+
+ if (NW_STAT_IS_FAILURE(s))
+ {
+ return NW_STAT_FAILURE;
+ }
+ if (match)
+ {
+ NW_XML_Reader_Interval_t I_entityData;
+ NW_Bool entityFoundLevel_1 = NW_FALSE; //If end of entity (;) found
+ NW_Uint32 entityVal = 0;
+ NW_XML_Reader_Interval_t* I_attrVal = pI;
+
+
+
+ entityFoundLevel_2 = NW_FALSE;
+ NW_XML_Reader_Interval_Stop(I_attrVal, pT); //Contents before entity
+
+ //Will back if not a valid entity
+ NW_XML_Reader_GetPosition(pT,
+ &prevIndex, &prevCharIndex, &prevLineColumn);
+
+ s = CXML_XML_Parser_Entity(pT,&I_entityData,&entityFoundLevel_1);
+
+ if (NW_STAT_IS_FAILURE(s))
+ {
+ return NW_STAT_FAILURE;
+ }
+ /*
+ if(entityFoundLevel_1 == NW_FALSE)
+ {
+ return NW_STAT_XHTML_BAD_CONTENT;
+ }
+ */
+ if (entityFoundLevel_1)
+ {
+ // Validate the entity
+ // The following function checks for the character,
+ // predefined and Internal Entities.
+
+ if( (I_entityData.stop - I_entityData.start) > 0)
+ {
+ s = CXML_XML_Handle_entity(pT,
+ &I_entityData,&entityVal,&intEntityValStr,
+ &entityFoundLevel_2,
+ (void*) internalEntityList);
+ }
+ else
+ {
+ //Not a valid entity e.g. "&&;" test case
+ entityFoundLevel_2 = NW_FALSE;
+ }
+
+ if (NW_STAT_IS_FAILURE(s))
+ {
+ return NW_STAT_FAILURE;
+ }
+
+ if(entityFoundLevel_2 == CXML_TRUE)
+ {
+ /* Read contents before entity*/
+
+ tempBufLen = I_attrVal->stop - I_attrVal->start;
+
+ if(tempBufLen > 0)
+ {
+
+ if(tempStr == NULL)
+ {
+ tempStr = NW_String_new();
+ if(tempStr == NULL)
+ {
+ return NW_STAT_OUT_OF_MEMORY;
+ }
+
+ } /*end if(tempStr == NULL)*/
+
+ s = NW_XML_Data_to_String (pT,I_attrVal,tempStr);
+
+ if (NW_STAT_IS_FAILURE(s))
+ {
+ return s;
+ }
+
+ s = NW_String_concatenate(attrValStr,tempStr,pT->encoding);
+
+
+ if (NW_STAT_IS_FAILURE(s))
+ {
+ return s;
+ }
+
+ // Do some clean up
+
+ if(tempStr != NULL)
+ {
+ NW_String_delete(tempStr);
+ tempStr = NULL;
+ }
+
+ }//end if(tempBufLen > 0)
+
+ // Write the entity content now. There are two possibilities for entities.
+ //
+ // 1) If it is character or decimal or predefined entities.
+ // In this case, intEntityValStr = NULL.
+ //
+ // 2) If it is "Internal Entity" then In this case, entityVal = 0;
+
+ if (intEntityValStr == NULL)
+ {
+
+ /* convert contents of the character/predfined entity to string */
+
+ s = NW_String_entityToString(entityVal,&entityValStr,pT->encoding);
+
+ if (NW_STAT_IS_FAILURE(s))
+ {
+ return s;
+ }
+ }/*end if (intEntityValStr == NULL)*/
+ else if(entityVal == 0)
+ {
+ /* This is a internal entity string */
+
+ s = NW_String_initialize(&entityValStr,intEntityValStr,pT->encoding);
+ if (NW_STAT_IS_FAILURE(s))
+ {
+ return s;
+ }
+ } /*end else if(entityVal == 0)*/
+
+ /* Add this entity value to the string */
+
+ s = NW_String_concatenate(attrValStr,&entityValStr,pT->encoding);
+
+ if (NW_STAT_IS_FAILURE(s))
+ {
+ return s;
+ }
+
+
+
+ if(entityValStr.storage != NULL)
+ {
+ NW_Mem_Free (entityValStr.storage);
+ }
+ // Initialize the entity string for next entity
+
+ NW_String_initialize (&entityValStr, NULL, 0);
+
+ //Again start the top level interval
+
+ NW_XML_Reader_Interval_Init(pI);
+ NW_XML_Reader_Interval_Start(pI, pT);
+
+ /*Check for the closing quotes after entity parsing */
+
+ if (isOpenSingleQuote) {
+ ssq = NW_XML_Reader_AsciiCharMatch(pT, '\'', &isCloseSingleQuote);
+ }
+ if (isOpenDoubleQuote) {
+ sdq = NW_XML_Reader_AsciiCharMatch(pT, '\"', &isCloseDoubleQuote);
+ }
+ slt = NW_XML_Reader_AsciiCharMatch(pT, '<', &isLessThan);
+ if (NW_STAT_IS_FAILURE(ssq) || NW_STAT_IS_FAILURE(sdq)
+ || NW_STAT_IS_FAILURE(slt) || isLessThan) {
+ return NW_STAT_FAILURE;
+ }
+ entityFoundOnce = CXML_TRUE;
+ }//endif(entityFoundLevel_2 == CXML_TRUE)
+ else
+ {
+ /* If it is here, the entity is not well formed or a entity is
+ * not supported. But, it is error for now.
+ */
+ /*
+ return NW_STAT_XHTML_BAD_CONTENT;*/
+
+ //No valid entity found. Parse as the normal string
+ NW_XML_Reader_SetPosition(pT,
+ prevIndex,
+ prevCharIndex,
+ &prevLineColumn);
+ }
+
+ } //end if (entityFound && inContent)
+ else
+ {
+ //No valid entity found. Parse as the normal string
+ NW_XML_Reader_SetPosition(pT,
+ prevIndex,
+ prevCharIndex,
+ &prevLineColumn);
+ }//end else
+ } //end match
+ } //end if( !isCloseSingleQuote && !isCloseDoubleQuote)
+
+
+
+ if ((isOpenSingleQuote & isCloseSingleQuote)
+ | (isOpenDoubleQuote & isCloseDoubleQuote)) {
+ break;
+ }
+
+ if(entityFoundLevel_2 != CXML_TRUE)
+ {
+ s = NW_XML_Reader_Advance(pT);
+ }
+ else
+ {
+ entityFoundLevel_2 = CXML_FALSE;
+ }
+ }//end for (;;)
+ NW_XML_Reader_Interval_Stop(pI, pT);
+ s = NW_XML_Reader_Advance(pT);
+
+
+ if( (*entityCheck == CXML_TRUE) &&
+ ( (entityFoundLevel_2 == CXML_TRUE) || (entityFoundOnce == CXML_TRUE) ) )
+ {
+ /* Get rest of the attribute value contents */
+
+
+ tempBufLen = pI->stop - pI->start;
+
+ if(tempBufLen > 0)
+ {
+ if(tempStr == NULL)
+ {
+ tempStr = NW_String_new();
+ if(tempStr == NULL)
+ {
+ return NW_STAT_OUT_OF_MEMORY;
+ }
+
+ } /*end if(tempStr == NULL)*/
+ s = NW_XML_Data_to_String (pT,pI,tempStr);
+
+ if (NW_STAT_IS_FAILURE(s))
+ {
+ return s;
+ }
+
+
+ s = NW_String_concatenate(attrValStr,tempStr,pT->encoding);
+
+ if (NW_STAT_IS_FAILURE(s))
+ {
+ return s;
+ }
+
+ // Do some clean up
+
+ if(tempStr != NULL)
+ {
+ NW_String_delete(tempStr);
+ tempStr = NULL;
+ }
+
+ }//endif(tempBufLen > 0)
+
+ }//end if( (*entityCheck == CXML_TRUE) && (entityFoundLevel_2 == CXML_TRUE) )
+ else
+ {
+ *entityCheck = CXML_FALSE;
+ }
+
+ return s;
+}
+
+/*
+Parses an XML attribute (production ???) in Reader.
+If no parse error, then ti_name and ti_attvalue mark the two items.
+Allows for leading whitespace. If l is > 0 then p is a "string" of
+length l that is the name that must match (parse error if doesn't).
+Assumes position in Reader is at whitespace before or first character
+of attribute.
+return: *pMatch = 1 if keyword or attribute name found
+
+ Careful about the "entity" parameter passed. This is used both as
+ IN/OUT paramter.
+
+ IN --> if(entity == CXML_TRUE): Then parse attribute value for the
+ entities.
+
+ OUT --> (entity=CXML_TRUE): The entity is found in the attribute value.
+*/
+
+
+static
+NW_Status_t
+NW_XML_Parse_AttributeValueConsume(NW_XML_Reader_t* pT,
+ NW_XML_Reader_Interval_t* pI_name,
+ NW_XML_Reader_Interval_t* pI_attvalue,
+ NW_Uint32 l, const NW_Uint8* pKeyword,
+ NW_Uint32* pMatch,
+ CXML_Bool* entity, NW_String_t* attrValStr,
+ const RPointerArray * internalEntityList)
+{
+ /*
+ [41] Attribute ::= Name Eq AttValue
+ where Name is possibly a keyword that must match
+ */
+ NW_Status_t s;
+ NW_Uint32 match;
+ NW_Uint32 prevIndex0;
+ NW_Uint32 prevIndex1;
+ NW_Uint32 prevCharIndex0;
+ NW_Uint32 prevCharIndex1;
+ NW_XML_Reader_LineColumn_t prevLineColumn0;
+ NW_XML_Reader_LineColumn_t prevLineColumn1;
+
+ *pMatch = 0;
+
+ /* S mandatory */
+ NW_XML_Reader_GetPosition(pT, &prevIndex0, &prevCharIndex0, &prevLineColumn0);
+ s = NW_XML_Reader_SkipSpace(pT);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+ NW_XML_Reader_GetPosition(pT, &prevIndex1, &prevCharIndex1, &prevLineColumn1);
+ if (prevIndex0 == prevIndex1) {
+ return NW_STAT_FAILURE;
+ }
+ /* Name */
+ if ((l != 0U) && (pKeyword != NULL)) {
+ s = NW_XML_Parse_KeywordConsume(pT, pI_name, l, pKeyword, pMatch);
+ if (NW_STAT_IS_SUCCESS(s) && !*pMatch) {
+ /* backup so mandatory space not consumed */
+ NW_XML_Reader_SetPosition(pT, prevIndex0, prevCharIndex0, &prevLineColumn0);
+ }
+ } else {
+ s = NW_XML_Parse_NameConsume(pT, pI_name, pMatch);
+ }
+ if (NW_STAT_IS_FAILURE(s) || !*pMatch) {
+ return NW_STAT_FAILURE;
+ }
+ /* S */
+ s = NW_XML_Reader_SkipSpace(pT);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+ /* = */
+ s = NW_XML_Reader_AsciiCharMatch(pT, '=', &match);
+ if (NW_STAT_IS_FAILURE(s) || !match) {
+ return NW_STAT_FAILURE;
+ }
+ s = NW_XML_Reader_Advance(pT);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return NW_STAT_FAILURE;
+ }
+ /* S */
+ s = NW_XML_Reader_SkipSpace(pT);
+ if (NW_STAT_IS_FAILURE(s)) {
+ return s;
+ }
+ /* attValue */
+
+ if(*entity == CXML_FALSE)
+ {
+ return NW_XML_Parse_ValueConsume(pT, pI_attvalue,entity,NULL, internalEntityList);
+ }
+ else
+ {
+ return NW_XML_Parse_ValueConsume(pT, pI_attvalue,entity,attrValStr, internalEntityList);
+ }
+}
+
+/*
+Parses an XML Comment (production 15) in Reader.
+If no parse error, then ti marks the Comment--all chars
+between the start and end marks including spaces.
+Assumes position in Reader is the character after "'
+
+ Note: the pattern with (Char - '-') means that the comment cannot
+ end with '--->' although it can begin with '
+
+
+
diff -r ed3155dbd163 -r 74f0b3eb154c xml/legacyminidomparser/XMLParser/test/SMIL_Test_Files/SMIL_Output/Valid/utf8.txt
--- a/xml/legacyminidomparser/XMLParser/test/SMIL_Test_Files/SMIL_Output/Valid/utf8.txt Mon May 03 14:14:40 2010 +0300
+++ b/xml/legacyminidomparser/XMLParser/test/SMIL_Test_Files/SMIL_Output/Valid/utf8.txt Wed Jun 23 20:27:15 2010 +0530
@@ -1,5 +1,10 @@
-
+
-
-
+
+
diff -r ed3155dbd163 -r 74f0b3eb154c xml/legacyminidomparser/XMLParser/test/group/bld.inf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/legacyminidomparser/XMLParser/test/group/bld.inf Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,361 @@
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+PRJ_PLATFORMS
+ DEFAULT
+
+PRJ_TESTMMPFILES
+ t_GmxmlParser.mmp
+ t_GmxmlFailure.mmp
+ t_smiltranslatortest.mmp
+
+PRJ_TESTEXPORTS
+../GmxmlTest.txt c:/gmxmltest.txt
+
+
+
+// SMIL Input valid
+../SMIL_Test_Files/smil_input/valid/anchor_att_1.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/anchor_att_1.txt
+../SMIL_Test_Files/smil_input/valid/anchor_att_2.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/anchor_att_2.txt
+../SMIL_Test_Files/smil_input/valid/anchor_att_3.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/anchor_att_3.txt
+../SMIL_Test_Files/smil_input/valid/anchor_att_4.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/anchor_att_4.txt
+../SMIL_Test_Files/smil_input/valid/anchor_att_5.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/anchor_att_5.txt
+../SMIL_Test_Files/smil_input/valid/animation_att_1.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/animation_att_1.txt
+../SMIL_Test_Files/smil_input/valid/animation_att_2.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/animation_att_2.txt
+../SMIL_Test_Files/smil_input/valid/animation_att_3.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/animation_att_3.txt
+../SMIL_Test_Files/smil_input/valid/animation_att_4.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/animation_att_4.txt
+../SMIL_Test_Files/smil_input/valid/animation_att_5.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/animation_att_5.txt
+../SMIL_Test_Files/smil_input/valid/area_att_1.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/area_att_1.txt
+../SMIL_Test_Files/smil_input/valid/area_att_2.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/area_att_2.txt
+../SMIL_Test_Files/smil_input/valid/area_att_3.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/area_att_3.txt
+../SMIL_Test_Files/smil_input/valid/area_att_4.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/area_att_4.txt
+../SMIL_Test_Files/smil_input/valid/area_att_5.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/area_att_5.txt
+../SMIL_Test_Files/smil_input/valid/ascii_1.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/ascii_1.txt
+../SMIL_Test_Files/smil_input/valid/att_order_1.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/att_order_1.txt
+../SMIL_Test_Files/smil_input/valid/att_order_2.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/att_order_2.txt
+../SMIL_Test_Files/smil_input/valid/att_var_1.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/att_var_1.txt
+../SMIL_Test_Files/smil_input/valid/audio_att_1.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/audio_att_1.txt
+../SMIL_Test_Files/smil_input/valid/audio_att_2.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/audio_att_2.txt
+../SMIL_Test_Files/smil_input/valid/audio_att_3.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/audio_att_3.txt
+../SMIL_Test_Files/smil_input/valid/audio_att_4.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/audio_att_4.txt
+../SMIL_Test_Files/smil_input/valid/audio_att_5.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/audio_att_5.txt
+../SMIL_Test_Files/smil_input/valid/a_att_1.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/a_att_1.txt
+../SMIL_Test_Files/smil_input/valid/a_att_2.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/a_att_2.txt
+../SMIL_Test_Files/smil_input/valid/a_att_3.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/a_att_3.txt
+../SMIL_Test_Files/smil_input/valid/a_att_4.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/a_att_4.txt
+../SMIL_Test_Files/smil_input/valid/a_att_5.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/a_att_5.txt
+../SMIL_Test_Files/smil_input/valid/a_struc_1.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/a_struc_1.txt
+../SMIL_Test_Files/smil_input/valid/a_struc_2.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/a_struc_2.txt
+../SMIL_Test_Files/smil_input/valid/a_struc_3.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/a_struc_3.txt
+../SMIL_Test_Files/smil_input/valid/a_struc_4.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/a_struc_4.txt
+../SMIL_Test_Files/smil_input/valid/body_att_1.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/body_att_1.txt
+../SMIL_Test_Files/smil_input/valid/body_att_2.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/body_att_2.txt
+../SMIL_Test_Files/smil_input/valid/body_struc_1.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/body_struc_1.txt
+../SMIL_Test_Files/smil_input/valid/body_struc_2.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/body_struc_2.txt
+../SMIL_Test_Files/smil_input/valid/cdata_1.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/cdata_1.txt
+../SMIL_Test_Files/smil_input/valid/cdata_10.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/cdata_10.txt
+../SMIL_Test_Files/smil_input/valid/cdata_11.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/cdata_11.txt
+../SMIL_Test_Files/smil_input/valid/cdata_12.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/cdata_12.txt
+../SMIL_Test_Files/smil_input/valid/cdata_13.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/cdata_13.txt
+../SMIL_Test_Files/smil_input/valid/cdata_14.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/cdata_14.txt
+../SMIL_Test_Files/smil_input/valid/cdata_15.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/cdata_15.txt
+../SMIL_Test_Files/smil_input/valid/cdata_16.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/cdata_16.txt
+../SMIL_Test_Files/smil_input/valid/cdata_17.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/cdata_17.txt
+../SMIL_Test_Files/smil_input/valid/cdata_18.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/cdata_18.txt
+../SMIL_Test_Files/smil_input/valid/cdata_19.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/cdata_19.txt
+../SMIL_Test_Files/smil_input/valid/cdata_2.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/cdata_2.txt
+../SMIL_Test_Files/smil_input/valid/cdata_20.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/cdata_20.txt
+../SMIL_Test_Files/smil_input/valid/cdata_21.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/cdata_21.txt
+../SMIL_Test_Files/smil_input/valid/cdata_22.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/cdata_22.txt
+../SMIL_Test_Files/smil_input/valid/cdata_23.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/cdata_23.txt
+../SMIL_Test_Files/smil_input/valid/cdata_24.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/cdata_24.txt
+../SMIL_Test_Files/smil_input/valid/cdata_25.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/cdata_25.txt
+../SMIL_Test_Files/smil_input/valid/cdata_26.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/cdata_26.txt
+../SMIL_Test_Files/smil_input/valid/cdata_27.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/cdata_27.txt
+../SMIL_Test_Files/smil_input/valid/cdata_28.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/cdata_28.txt
+../SMIL_Test_Files/smil_input/valid/cdata_29.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/cdata_29.txt
+../SMIL_Test_Files/smil_input/valid/cdata_3.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/cdata_3.txt
+../SMIL_Test_Files/smil_input/valid/cdata_30.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/cdata_30.txt
+../SMIL_Test_Files/smil_input/valid/cdata_4.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/cdata_4.txt
+../SMIL_Test_Files/smil_input/valid/cdata_5.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/cdata_5.txt
+../SMIL_Test_Files/smil_input/valid/cdata_6.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/cdata_6.txt
+../SMIL_Test_Files/smil_input/valid/cdata_7.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/cdata_7.txt
+../SMIL_Test_Files/smil_input/valid/cdata_8.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/cdata_8.txt
+../SMIL_Test_Files/smil_input/valid/comments_1.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/comments_1.txt
+../SMIL_Test_Files/smil_input/valid/doctype_variation.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/doctype_variation.txt
+../SMIL_Test_Files/smil_input/valid/entitiy_1.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/entitiy_1.txt
+../SMIL_Test_Files/smil_input/valid/entity_ref_1.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/entity_ref_1.txt
+../SMIL_Test_Files/smil_input/valid/entity_ref_10.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/entity_ref_10.txt
+../SMIL_Test_Files/smil_input/valid/entity_ref_11.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/entity_ref_11.txt
+../SMIL_Test_Files/smil_input/valid/entity_ref_12.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/entity_ref_12.txt
+../SMIL_Test_Files/smil_input/valid/entity_ref_13.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/entity_ref_13.txt
+../SMIL_Test_Files/smil_input/valid/entity_ref_14.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/entity_ref_14.txt
+../SMIL_Test_Files/smil_input/valid/entity_ref_15.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/entity_ref_15.txt
+../SMIL_Test_Files/smil_input/valid/entity_ref_17.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/entity_ref_17.txt
+../SMIL_Test_Files/smil_input/valid/entity_ref_18.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/entity_ref_18.txt
+../SMIL_Test_Files/smil_input/valid/entity_ref_19.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/entity_ref_19.txt
+../SMIL_Test_Files/smil_input/valid/entity_ref_2.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/entity_ref_2.txt
+../SMIL_Test_Files/smil_input/valid/entity_ref_20.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/entity_ref_20.txt
+../SMIL_Test_Files/smil_input/valid/entity_ref_21.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/entity_ref_21.txt
+../SMIL_Test_Files/smil_input/valid/entity_ref_22.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/entity_ref_22.txt
+../SMIL_Test_Files/smil_input/valid/entity_ref_24.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/entity_ref_24.txt
+../SMIL_Test_Files/smil_input/valid/entity_ref_26.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/entity_ref_26.txt
+../SMIL_Test_Files/smil_input/valid/entity_ref_27.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/entity_ref_27.txt
+../SMIL_Test_Files/smil_input/valid/entity_ref_3.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/entity_ref_3.txt
+../SMIL_Test_Files/smil_input/valid/entity_ref_30.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/entity_ref_30.txt
+../SMIL_Test_Files/smil_input/valid/entity_ref_31.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/entity_ref_31.txt
+../SMIL_Test_Files/smil_input/valid/entity_ref_4.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/entity_ref_4.txt
+../SMIL_Test_Files/smil_input/valid/entity_ref_5.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/entity_ref_5.txt
+../SMIL_Test_Files/smil_input/valid/entity_ref_6.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/entity_ref_6.txt
+../SMIL_Test_Files/smil_input/valid/entity_ref_7.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/entity_ref_7.txt
+../SMIL_Test_Files/smil_input/valid/entity_ref_8.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/entity_ref_8.txt
+../SMIL_Test_Files/smil_input/valid/head_att_1.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/head_att_1.txt
+../SMIL_Test_Files/smil_input/valid/head_att_2.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/head_att_2.txt
+../SMIL_Test_Files/smil_input/valid/img_att_1.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/img_att_1.txt
+../SMIL_Test_Files/smil_input/valid/img_att_2.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/img_att_2.txt
+../SMIL_Test_Files/smil_input/valid/img_att_3.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/img_att_3.txt
+../SMIL_Test_Files/smil_input/valid/img_att_4.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/img_att_4.txt
+../SMIL_Test_Files/smil_input/valid/img_att_5.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/img_att_5.txt
+../SMIL_Test_Files/smil_input/valid/inc021337.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/inc021337.txt
+../SMIL_Test_Files/smil_input/valid/inc022160.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/inc022160.txt
+../SMIL_Test_Files/smil_input/valid/inc025788.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/inc025788.txt
+../SMIL_Test_Files/smil_input/valid/layout_att_1.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/layout_att_1.txt
+../SMIL_Test_Files/smil_input/valid/layout_att_2.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/layout_att_2.txt
+../SMIL_Test_Files/smil_input/valid/newline_1.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/newline_1.txt
+../SMIL_Test_Files/smil_input/valid/par_att_1.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/par_att_1.txt
+../SMIL_Test_Files/smil_input/valid/par_att_2.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/par_att_2.txt
+../SMIL_Test_Files/smil_input/valid/par_att_3.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/par_att_3.txt
+../SMIL_Test_Files/smil_input/valid/par_att_4.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/par_att_4.txt
+../SMIL_Test_Files/smil_input/valid/par_att_5.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/par_att_5.txt
+../SMIL_Test_Files/smil_input/valid/ref_att_1.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/ref_att_1.txt
+../SMIL_Test_Files/smil_input/valid/ref_att_2.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/ref_att_2.txt
+../SMIL_Test_Files/smil_input/valid/ref_att_3.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/ref_att_3.txt
+../SMIL_Test_Files/smil_input/valid/ref_att_4.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/ref_att_4.txt
+../SMIL_Test_Files/smil_input/valid/ref_att_5.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/ref_att_5.txt
+../SMIL_Test_Files/smil_input/valid/region_att_1.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/region_att_1.txt
+../SMIL_Test_Files/smil_input/valid/region_att_2.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/region_att_2.txt
+../SMIL_Test_Files/smil_input/valid/region_att_3.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/region_att_3.txt
+../SMIL_Test_Files/smil_input/valid/region_att_4.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/region_att_4.txt
+../SMIL_Test_Files/smil_input/valid/region_att_5.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/region_att_5.txt
+../SMIL_Test_Files/smil_input/valid/region_att_6.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/region_att_6.txt
+../SMIL_Test_Files/smil_input/valid/root-layout_att_1.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/root-layout_att_1.txt
+../SMIL_Test_Files/smil_input/valid/root-layout_att_2.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/root-layout_att_2.txt
+../SMIL_Test_Files/smil_input/valid/root-layout_att_3.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/root-layout_att_3.txt
+../SMIL_Test_Files/smil_input/valid/seq_att_1.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/seq_att_1.txt
+../SMIL_Test_Files/smil_input/valid/seq_att_2.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/seq_att_2.txt
+../SMIL_Test_Files/smil_input/valid/seq_att_3.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/seq_att_3.txt
+../SMIL_Test_Files/smil_input/valid/seq_att_4.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/seq_att_4.txt
+../SMIL_Test_Files/smil_input/valid/seq_att_5.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/seq_att_5.txt
+../SMIL_Test_Files/smil_input/valid/seq_struc_1.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/seq_struc_1.txt
+../SMIL_Test_Files/smil_input/valid/seq_struc_2.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/seq_struc_2.txt
+../SMIL_Test_Files/smil_input/valid/seq_struc_3.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/seq_struc_3.txt
+../SMIL_Test_Files/smil_input/valid/seq_struc_4.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/seq_struc_4.txt
+../SMIL_Test_Files/smil_input/valid/seq_struc_5.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/seq_struc_5.txt
+../SMIL_Test_Files/smil_input/valid/seq_struc_6.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/seq_struc_6.txt
+../SMIL_Test_Files/smil_input/valid/smil_att_1.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/smil_att_1.txt
+../SMIL_Test_Files/smil_input/valid/smil_att_2.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/smil_att_2.txt
+../SMIL_Test_Files/smil_input/valid/switch_att_1.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/switch_att_1.txt
+../SMIL_Test_Files/smil_input/valid/switch_att_2.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/switch_att_2.txt
+../SMIL_Test_Files/smil_input/valid/switch_struc_1.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/switch_struc_1.txt
+../SMIL_Test_Files/smil_input/valid/switch_struc_2.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/switch_struc_2.txt
+../SMIL_Test_Files/smil_input/valid/switch_struc_3.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/switch_struc_3.txt
+../SMIL_Test_Files/smil_input/valid/textstream_att_1.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/textstream_att_1.txt
+../SMIL_Test_Files/smil_input/valid/textstream_att_2.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/textstream_att_2.txt
+../SMIL_Test_Files/smil_input/valid/textstream_att_3.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/textstream_att_3.txt
+../SMIL_Test_Files/smil_input/valid/textstream_att_4.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/textstream_att_4.txt
+../SMIL_Test_Files/smil_input/valid/textstream_att_5.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/textstream_att_5.txt
+../SMIL_Test_Files/smil_input/valid/text_att_1.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/text_att_1.txt
+../SMIL_Test_Files/smil_input/valid/text_att_2.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/text_att_2.txt
+../SMIL_Test_Files/smil_input/valid/text_att_3.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/text_att_3.txt
+../SMIL_Test_Files/smil_input/valid/text_att_4.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/text_att_4.txt
+../SMIL_Test_Files/smil_input/valid/text_att_5.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/text_att_5.txt
+../SMIL_Test_Files/smil_input/valid/utf8.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/utf8.txt
+../SMIL_Test_Files/smil_input/valid/video_att_1.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/video_att_1.txt
+../SMIL_Test_Files/smil_input/valid/video_att_2.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/video_att_2.txt
+../SMIL_Test_Files/smil_input/valid/video_att_3.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/video_att_3.txt
+../SMIL_Test_Files/smil_input/valid/video_att_4.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/video_att_4.txt
+../SMIL_Test_Files/smil_input/valid/video_att_5.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/video_att_5.txt
+../SMIL_Test_Files/smil_input/valid/whitespace_1.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/whitespace_1.txt
+../SMIL_Test_Files/smil_input/valid/whitespace_2.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/whitespace_2.txt
+../SMIL_Test_Files/smil_input/valid/xml_version_1.txt c:/legacyminidomparsertest/smil_test_files/smil_input/valid/xml_version_1.txt
+
+// SMIL Input invalid
+../SMIL_Test_Files/smil_input/invalid/a_att_10.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/a_att_10.txt
+../SMIL_Test_Files/smil_input/invalid/a_att_11.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/a_att_11.txt
+../SMIL_Test_Files/smil_input/invalid/a_att_6.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/a_att_6.txt
+../SMIL_Test_Files/smil_input/invalid/a_att_7.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/a_att_7.txt
+../SMIL_Test_Files/smil_input/invalid/a_att_8.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/a_att_8.txt
+../SMIL_Test_Files/smil_input/invalid/a_att_9.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/a_att_9.txt
+../SMIL_Test_Files/smil_input/invalid/cdata_1.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/cdata_1.txt
+../SMIL_Test_Files/smil_input/invalid/empty.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/empty.txt
+../SMIL_Test_Files/smil_input/invalid/entitiy_2.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/entitiy_2.txt
+../SMIL_Test_Files/smil_input/invalid/entity_ref_1.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/entity_ref_1.txt
+../SMIL_Test_Files/smil_input/invalid/entity_ref_2.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/entity_ref_2.txt
+../SMIL_Test_Files/smil_input/invalid/entity_ref_3.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/entity_ref_3.txt
+../SMIL_Test_Files/smil_input/invalid/entity_ref_4.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/entity_ref_4.txt
+../SMIL_Test_Files/smil_input/invalid/further_invalid_1.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/further_invalid_1.txt
+../SMIL_Test_Files/smil_input/invalid/further_invalid_10.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/further_invalid_10.txt
+../SMIL_Test_Files/smil_input/invalid/further_invalid_11.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/further_invalid_11.txt
+../SMIL_Test_Files/smil_input/invalid/further_invalid_12.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/further_invalid_12.txt
+../SMIL_Test_Files/smil_input/invalid/further_invalid_13.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/further_invalid_13.txt
+../SMIL_Test_Files/smil_input/invalid/further_invalid_14.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/further_invalid_14.txt
+../SMIL_Test_Files/smil_input/invalid/further_invalid_15.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/further_invalid_15.txt
+../SMIL_Test_Files/smil_input/invalid/further_invalid_16.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/further_invalid_16.txt
+../SMIL_Test_Files/smil_input/invalid/further_invalid_17.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/further_invalid_17.txt
+../SMIL_Test_Files/smil_input/invalid/further_invalid_18.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/further_invalid_18.txt
+../SMIL_Test_Files/smil_input/invalid/further_invalid_19.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/further_invalid_19.txt
+../SMIL_Test_Files/smil_input/invalid/further_invalid_2.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/further_invalid_2.txt
+../SMIL_Test_Files/smil_input/invalid/further_invalid_20.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/further_invalid_20.txt
+../SMIL_Test_Files/smil_input/invalid/further_invalid_21.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/further_invalid_21.txt
+../SMIL_Test_Files/smil_input/invalid/further_invalid_22.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/further_invalid_22.txt
+../SMIL_Test_Files/smil_input/invalid/further_invalid_23.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/further_invalid_23.txt
+../SMIL_Test_Files/smil_input/invalid/further_invalid_24.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/further_invalid_24.txt
+../SMIL_Test_Files/smil_input/invalid/further_invalid_25.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/further_invalid_25.txt
+../SMIL_Test_Files/smil_input/invalid/further_invalid_3.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/further_invalid_3.txt
+../SMIL_Test_Files/smil_input/invalid/further_invalid_4.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/further_invalid_4.txt
+../SMIL_Test_Files/smil_input/invalid/further_invalid_5.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/further_invalid_5.txt
+../SMIL_Test_Files/smil_input/invalid/further_invalid_6.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/further_invalid_6.txt
+../SMIL_Test_Files/smil_input/invalid/further_invalid_7.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/further_invalid_7.txt
+../SMIL_Test_Files/smil_input/invalid/further_invalid_8.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/further_invalid_8.txt
+../SMIL_Test_Files/smil_input/invalid/further_invalid_9.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/further_invalid_9.txt
+../SMIL_Test_Files/smil_input/invalid/inc021591.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/inc021591.txt
+../SMIL_Test_Files/smil_input/invalid/inc021675.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/inc021675.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_1.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_1.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_10.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_10.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_11.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_11.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_12.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_12.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_13.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_13.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_14.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_14.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_15.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_15.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_16.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_16.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_17.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_17.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_18.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_18.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_19.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_19.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_2.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_2.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_20.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_20.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_21.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_21.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_22.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_22.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_23.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_23.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_24.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_24.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_25.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_25.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_26.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_26.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_27.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_27.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_28.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_28.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_29.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_29.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_3.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_3.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_31.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_31.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_32.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_32.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_33.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_33.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_34.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_34.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_35.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_35.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_36.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_36.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_37.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_37.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_38.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_38.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_39.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_39.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_4.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_4.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_40.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_40.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_5.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_5.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_6.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_6.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_7.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_7.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_8.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_8.txt
+../SMIL_Test_Files/smil_input/invalid/invalid_9.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/invalid_9.txt
+../SMIL_Test_Files/smil_input/invalid/region_att_10.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/region_att_10.txt
+../SMIL_Test_Files/smil_input/invalid/region_att_11.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/region_att_11.txt
+../SMIL_Test_Files/smil_input/invalid/region_att_7.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/region_att_7.txt
+../SMIL_Test_Files/smil_input/invalid/region_att_8.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/region_att_8.txt
+../SMIL_Test_Files/smil_input/invalid/region_att_9.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/region_att_9.txt
+../SMIL_Test_Files/smil_input/invalid/root-layout_att_4.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/root-layout_att_4.txt
+../SMIL_Test_Files/smil_input/invalid/root-layout_att_5.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/root-layout_att_5.txt
+../SMIL_Test_Files/smil_input/invalid/root-layout_att_6.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/root-layout_att_6.txt
+../SMIL_Test_Files/smil_input/invalid/switch_struc_4.txt c:/legacyminidomparsertest/smil_test_files/smil_input/invalid/switch_struc_4.txt
+
+// MMS Input valid
+../SMIL_Test_Files/mms_input/valid/audio_att_1.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/audio_att_1.txt
+../SMIL_Test_Files/mms_input/valid/audio_att_2.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/audio_att_2.txt
+../SMIL_Test_Files/mms_input/valid/audio_att_3.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/audio_att_3.txt
+../SMIL_Test_Files/mms_input/valid/body_struc_1.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/body_struc_1.txt
+../SMIL_Test_Files/mms_input/valid/body_struc_2.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/body_struc_2.txt
+../SMIL_Test_Files/mms_input/valid/body_struc_3.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/body_struc_3.txt
+../SMIL_Test_Files/mms_input/valid/head_struct_4.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/head_struct_4.txt
+../SMIL_Test_Files/mms_input/valid/head_struct_5.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/head_struct_5.txt
+../SMIL_Test_Files/mms_input/valid/head_struc_1.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/head_struc_1.txt
+../SMIL_Test_Files/mms_input/valid/head_struc_3.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/head_struc_3.txt
+../SMIL_Test_Files/mms_input/valid/img_att_1.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/img_att_1.txt
+../SMIL_Test_Files/mms_input/valid/img_att_2.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/img_att_2.txt
+../SMIL_Test_Files/mms_input/valid/img_att_3.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/img_att_3.txt
+../SMIL_Test_Files/mms_input/valid/img_struc_1.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/img_struc_1.txt
+../SMIL_Test_Files/mms_input/valid/layout_struc_1.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/layout_struc_1.txt
+../SMIL_Test_Files/mms_input/valid/layout_struc_3.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/layout_struc_3.txt
+../SMIL_Test_Files/mms_input/valid/layout_struc_4.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/layout_struc_4.txt
+../SMIL_Test_Files/mms_input/valid/layout_struc_5.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/layout_struc_5.txt
+../SMIL_Test_Files/mms_input/valid/metadata_att1.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/metadata_att1.txt
+../SMIL_Test_Files/mms_input/valid/meta_att_1.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/meta_att_1.txt
+../SMIL_Test_Files/mms_input/valid/meta_att_2.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/meta_att_2.txt
+../SMIL_Test_Files/mms_input/valid/par_att_1.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/par_att_1.txt
+../SMIL_Test_Files/mms_input/valid/par_att_2.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/par_att_2.txt
+../SMIL_Test_Files/mms_input/valid/par_prefetch.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/par_prefetch.txt
+../SMIL_Test_Files/mms_input/valid/par_struc_1.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/par_struc_1.txt
+../SMIL_Test_Files/mms_input/valid/par_struc_2.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/par_struc_2.txt
+../SMIL_Test_Files/mms_input/valid/par_struc_4.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/par_struc_4.txt
+../SMIL_Test_Files/mms_input/valid/prefetch_att1.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/prefetch_att1.txt
+../SMIL_Test_Files/mms_input/valid/prefetch_att2.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/prefetch_att2.txt
+../SMIL_Test_Files/mms_input/valid/prefetch_att3.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/prefetch_att3.txt
+../SMIL_Test_Files/mms_input/valid/prefetch_att4.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/prefetch_att4.txt
+../SMIL_Test_Files/mms_input/valid/ref_att_1.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/ref_att_1.txt
+../SMIL_Test_Files/mms_input/valid/ref_att_2.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/ref_att_2.txt
+../SMIL_Test_Files/mms_input/valid/ref_att_3.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/ref_att_3.txt
+../SMIL_Test_Files/mms_input/valid/ref_att_4.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/ref_att_4.txt
+../SMIL_Test_Files/mms_input/valid/ref_att_5.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/ref_att_5.txt
+../SMIL_Test_Files/mms_input/valid/ref_att_6.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/ref_att_6.txt
+../SMIL_Test_Files/mms_input/valid/region_att_1.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/region_att_1.txt
+../SMIL_Test_Files/mms_input/valid/region_att_2.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/region_att_2.txt
+../SMIL_Test_Files/mms_input/valid/region_att_3.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/region_att_3.txt
+../SMIL_Test_Files/mms_input/valid/region_att_4.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/region_att_4.txt
+../SMIL_Test_Files/mms_input/valid/region_att_5.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/region_att_5.txt
+../SMIL_Test_Files/mms_input/valid/region_att_6.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/region_att_6.txt
+../SMIL_Test_Files/mms_input/valid/region_struc_1.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/region_struc_1.txt
+../SMIL_Test_Files/mms_input/valid/root-layout_att_1.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/root-layout_att_1.txt
+../SMIL_Test_Files/mms_input/valid/root-layout_att_2.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/root-layout_att_2.txt
+../SMIL_Test_Files/mms_input/valid/smil_struc_1.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/smil_struc_1.txt
+../SMIL_Test_Files/mms_input/valid/smil_struc_3.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/smil_struc_3.txt
+../SMIL_Test_Files/mms_input/valid/smil_struc_4.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/smil_struc_4.txt
+../SMIL_Test_Files/mms_input/valid/smil_struc_5.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/smil_struc_5.txt
+../SMIL_Test_Files/mms_input/valid/text_att_1.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/text_att_1.txt
+../SMIL_Test_Files/mms_input/valid/text_att_2.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/text_att_2.txt
+../SMIL_Test_Files/mms_input/valid/transition_att_1.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/transition_att_1.txt
+../SMIL_Test_Files/mms_input/valid/transition_att_2.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/transition_att_2.txt
+../SMIL_Test_Files/mms_input/valid/transition_att_3.txt c:/legacyminidomparsertest/smil_test_files/mms_input/valid/transition_att_3.txt
+
+// MMS Input invalid
+../SMIL_Test_Files/mms_input/invalid/body_struc_4.txt c:/legacyminidomparsertest/smil_test_files/mms_input/invalid/body_struc_4.txt
+../SMIL_Test_Files/mms_input/invalid/head_struc_2.txt c:/legacyminidomparsertest/smil_test_files/mms_input/invalid/head_struc_2.txt
+../SMIL_Test_Files/mms_input/invalid/invalid_metadata_att1.txt c:/legacyminidomparsertest/smil_test_files/mms_input/invalid/invalid_metadata_att1.txt
+../SMIL_Test_Files/mms_input/invalid/invalid_meta_att1.txt c:/legacyminidomparsertest/smil_test_files/mms_input/invalid/invalid_meta_att1.txt
+../SMIL_Test_Files/mms_input/invalid/invalid_transition_att2.txt c:/legacyminidomparsertest/smil_test_files/mms_input/invalid/invalid_transition_att2.txt
+../SMIL_Test_Files/mms_input/invalid/invalid_transition_att3.txt c:/legacyminidomparsertest/smil_test_files/mms_input/invalid/invalid_transition_att3.txt
+../SMIL_Test_Files/mms_input/invalid/invalid_transition_att4.txt c:/legacyminidomparsertest/smil_test_files/mms_input/invalid/invalid_transition_att4.txt
+../SMIL_Test_Files/mms_input/invalid/invalid_transition_att5.txt c:/legacyminidomparsertest/smil_test_files/mms_input/invalid/invalid_transition_att5.txt
+../SMIL_Test_Files/mms_input/invalid/invalid__prefetch_att1.txt c:/legacyminidomparsertest/smil_test_files/mms_input/invalid/invalid__prefetch_att1.txt
+../SMIL_Test_Files/mms_input/invalid/invalid__prefetch_att2.txt c:/legacyminidomparsertest/smil_test_files/mms_input/invalid/invalid__prefetch_att2.txt
+../SMIL_Test_Files/mms_input/invalid/invalid__prefetch_att3.txt c:/legacyminidomparsertest/smil_test_files/mms_input/invalid/invalid__prefetch_att3.txt
+../SMIL_Test_Files/mms_input/invalid/layout_struc_2.txt c:/legacyminidomparsertest/smil_test_files/mms_input/invalid/layout_struc_2.txt
+../SMIL_Test_Files/mms_input/invalid/layout_struc_6.txt c:/legacyminidomparsertest/smil_test_files/mms_input/invalid/layout_struc_6.txt
+../SMIL_Test_Files/mms_input/invalid/layout_struc_7.txt c:/legacyminidomparsertest/smil_test_files/mms_input/invalid/layout_struc_7.txt
+../SMIL_Test_Files/mms_input/invalid/par_struc_3.txt c:/legacyminidomparsertest/smil_test_files/mms_input/invalid/par_struc_3.txt
+../SMIL_Test_Files/mms_input/invalid/region_att_7.txt c:/legacyminidomparsertest/smil_test_files/mms_input/invalid/region_att_7.txt
+../SMIL_Test_Files/mms_input/invalid/smil_struc_2.txt c:/legacyminidomparsertest/smil_test_files/mms_input/invalid/smil_struc_2.txt
+../SMIL_Test_Files/mms_input/invalid/text_struc_1.txt c:/legacyminidomparsertest/smil_test_files/mms_input/invalid/text_struc_1.txt
+
+
diff -r ed3155dbd163 -r 74f0b3eb154c xml/legacyminidomparser/XMLParser/test/group/legacyminidomparsertest.pkg
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/legacyminidomparser/XMLParser/test/group/legacyminidomparsertest.pkg Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,368 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description:
+;Legacyminidomparsertest.pkg
+
+; Languages -
+&EN
+
+; Installation header
+#{"Legacyminidomparsertest"}, (0x20032626), 1, 0, 0, TYPE=SA
+%{"Nokia Corporation"}
+:"Nokia Corporation"
+
+(0x101f7961),0, 0, 0 ,{"Series60ProductID"}
+; Install files
+;Test exes
+"\epoc32\release\armv5\urel\t_gmxmlparser.exe" - "c:\sys\bin\t_gmxmlparser.exe"
+"\epoc32\release\armv5\urel\t_gmxmlfailure.exe" - "c:\sys\bin\t_gmxmlfailure.exe"
+"\epoc32\release\armv5\urel\t_smiltranslatortest.exe" - "c:\sys\bin\t_smiltranslatortest.exe"
+
+"..\gmxmltest.txt" - "c:\gmxmltest.txt"
+
+;SMIL Input Valid
+"..\SMIL_Test_Files\smil_input\valid\anchor_att_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\anchor_att_1.txt"
+"..\SMIL_Test_Files\smil_input\valid\anchor_att_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\anchor_att_2.txt"
+"..\SMIL_Test_Files\smil_input\valid\anchor_att_3.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\anchor_att_3.txt"
+"..\SMIL_Test_Files\smil_input\valid\anchor_att_4.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\anchor_att_4.txt"
+"..\SMIL_Test_Files\smil_input\valid\anchor_att_5.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\anchor_att_5.txt"
+"..\SMIL_Test_Files\smil_input\valid\animation_att_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\animation_att_1.txt"
+"..\SMIL_Test_Files\smil_input\valid\animation_att_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\animation_att_2.txt"
+"..\SMIL_Test_Files\smil_input\valid\animation_att_3.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\animation_att_3.txt"
+"..\SMIL_Test_Files\smil_input\valid\animation_att_4.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\animation_att_4.txt"
+"..\SMIL_Test_Files\smil_input\valid\animation_att_5.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\animation_att_5.txt"
+"..\SMIL_Test_Files\smil_input\valid\area_att_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\area_att_1.txt"
+"..\SMIL_Test_Files\smil_input\valid\area_att_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\area_att_2.txt"
+"..\SMIL_Test_Files\smil_input\valid\area_att_3.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\area_att_3.txt"
+"..\SMIL_Test_Files\smil_input\valid\area_att_4.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\area_att_4.txt"
+"..\SMIL_Test_Files\smil_input\valid\area_att_5.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\area_att_5.txt"
+"..\SMIL_Test_Files\smil_input\valid\ascii_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\ascii_1.txt"
+"..\SMIL_Test_Files\smil_input\valid\att_order_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\att_order_1.txt"
+"..\SMIL_Test_Files\smil_input\valid\att_order_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\att_order_2.txt"
+"..\SMIL_Test_Files\smil_input\valid\att_var_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\att_var_1.txt"
+"..\SMIL_Test_Files\smil_input\valid\audio_att_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\audio_att_1.txt"
+"..\SMIL_Test_Files\smil_input\valid\audio_att_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\audio_att_2.txt"
+"..\SMIL_Test_Files\smil_input\valid\audio_att_3.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\audio_att_3.txt"
+"..\SMIL_Test_Files\smil_input\valid\audio_att_4.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\audio_att_4.txt"
+"..\SMIL_Test_Files\smil_input\valid\audio_att_5.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\audio_att_5.txt"
+"..\SMIL_Test_Files\smil_input\valid\a_att_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\a_att_1.txt"
+"..\SMIL_Test_Files\smil_input\valid\a_att_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\a_att_2.txt"
+"..\SMIL_Test_Files\smil_input\valid\a_att_3.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\a_att_3.txt"
+"..\SMIL_Test_Files\smil_input\valid\a_att_4.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\a_att_4.txt"
+"..\SMIL_Test_Files\smil_input\valid\a_att_5.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\a_att_5.txt"
+"..\SMIL_Test_Files\smil_input\valid\a_struc_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\a_struc_1.txt"
+"..\SMIL_Test_Files\smil_input\valid\a_struc_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\a_struc_2.txt"
+"..\SMIL_Test_Files\smil_input\valid\a_struc_3.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\a_struc_3.txt"
+"..\SMIL_Test_Files\smil_input\valid\a_struc_4.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\a_struc_4.txt"
+"..\SMIL_Test_Files\smil_input\valid\body_att_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\body_att_1.txt"
+"..\SMIL_Test_Files\smil_input\valid\body_att_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\body_att_2.txt"
+"..\SMIL_Test_Files\smil_input\valid\body_struc_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\body_struc_1.txt"
+"..\SMIL_Test_Files\smil_input\valid\body_struc_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\body_struc_2.txt"
+"..\SMIL_Test_Files\smil_input\valid\cdata_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\cdata_1.txt"
+"..\SMIL_Test_Files\smil_input\valid\cdata_10.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\cdata_10.txt"
+"..\SMIL_Test_Files\smil_input\valid\cdata_11.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\cdata_11.txt"
+"..\SMIL_Test_Files\smil_input\valid\cdata_12.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\cdata_12.txt"
+"..\SMIL_Test_Files\smil_input\valid\cdata_13.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\cdata_13.txt"
+"..\SMIL_Test_Files\smil_input\valid\cdata_14.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\cdata_14.txt"
+"..\SMIL_Test_Files\smil_input\valid\cdata_15.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\cdata_15.txt"
+"..\SMIL_Test_Files\smil_input\valid\cdata_16.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\cdata_16.txt"
+"..\SMIL_Test_Files\smil_input\valid\cdata_17.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\cdata_17.txt"
+"..\SMIL_Test_Files\smil_input\valid\cdata_18.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\cdata_18.txt"
+"..\SMIL_Test_Files\smil_input\valid\cdata_19.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\cdata_19.txt"
+"..\SMIL_Test_Files\smil_input\valid\cdata_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\cdata_2.txt"
+"..\SMIL_Test_Files\smil_input\valid\cdata_20.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\cdata_20.txt"
+"..\SMIL_Test_Files\smil_input\valid\cdata_21.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\cdata_21.txt"
+"..\SMIL_Test_Files\smil_input\valid\cdata_22.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\cdata_22.txt"
+"..\SMIL_Test_Files\smil_input\valid\cdata_23.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\cdata_23.txt"
+"..\SMIL_Test_Files\smil_input\valid\cdata_24.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\cdata_24.txt"
+"..\SMIL_Test_Files\smil_input\valid\cdata_25.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\cdata_25.txt"
+"..\SMIL_Test_Files\smil_input\valid\cdata_26.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\cdata_26.txt"
+"..\SMIL_Test_Files\smil_input\valid\cdata_27.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\cdata_27.txt"
+"..\SMIL_Test_Files\smil_input\valid\cdata_28.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\cdata_28.txt"
+"..\SMIL_Test_Files\smil_input\valid\cdata_29.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\cdata_29.txt"
+"..\SMIL_Test_Files\smil_input\valid\cdata_3.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\cdata_3.txt"
+"..\SMIL_Test_Files\smil_input\valid\cdata_30.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\cdata_30.txt"
+"..\SMIL_Test_Files\smil_input\valid\cdata_4.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\cdata_4.txt"
+"..\SMIL_Test_Files\smil_input\valid\cdata_5.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\cdata_5.txt"
+"..\SMIL_Test_Files\smil_input\valid\cdata_6.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\cdata_6.txt"
+"..\SMIL_Test_Files\smil_input\valid\cdata_7.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\cdata_7.txt"
+"..\SMIL_Test_Files\smil_input\valid\cdata_8.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\cdata_8.txt"
+"..\SMIL_Test_Files\smil_input\valid\comments_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\comments_1.txt"
+"..\SMIL_Test_Files\smil_input\valid\doctype_variation.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\doctype_variation.txt"
+"..\SMIL_Test_Files\smil_input\valid\Entitiy_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\Entitiy_1.txt"
+"..\SMIL_Test_Files\smil_input\valid\entity_ref_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\entity_ref_1.txt"
+"..\SMIL_Test_Files\smil_input\valid\entity_ref_10.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\entity_ref_10.txt"
+"..\SMIL_Test_Files\smil_input\valid\entity_ref_11.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\entity_ref_11.txt"
+"..\SMIL_Test_Files\smil_input\valid\entity_ref_12.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\entity_ref_12.txt"
+"..\SMIL_Test_Files\smil_input\valid\entity_ref_13.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\entity_ref_13.txt"
+"..\SMIL_Test_Files\smil_input\valid\entity_ref_14.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\entity_ref_14.txt"
+"..\SMIL_Test_Files\smil_input\valid\entity_ref_15.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\entity_ref_15.txt"
+"..\SMIL_Test_Files\smil_input\valid\entity_ref_17.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\entity_ref_17.txt"
+"..\SMIL_Test_Files\smil_input\valid\entity_ref_18.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\entity_ref_18.txt"
+"..\SMIL_Test_Files\smil_input\valid\entity_ref_19.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\entity_ref_19.txt"
+"..\SMIL_Test_Files\smil_input\valid\entity_ref_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\entity_ref_2.txt"
+"..\SMIL_Test_Files\smil_input\valid\entity_ref_20.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\entity_ref_20.txt"
+"..\SMIL_Test_Files\smil_input\valid\entity_ref_21.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\entity_ref_21.txt"
+"..\SMIL_Test_Files\smil_input\valid\entity_ref_22.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\entity_ref_22.txt"
+"..\SMIL_Test_Files\smil_input\valid\entity_ref_24.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\entity_ref_24.txt"
+"..\SMIL_Test_Files\smil_input\valid\entity_ref_26.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\entity_ref_26.txt"
+"..\SMIL_Test_Files\smil_input\valid\entity_ref_27.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\entity_ref_27.txt"
+"..\SMIL_Test_Files\smil_input\valid\entity_ref_3.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\entity_ref_3.txt"
+"..\SMIL_Test_Files\smil_input\valid\entity_ref_30.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\entity_ref_30.txt"
+"..\SMIL_Test_Files\smil_input\valid\entity_ref_31.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\entity_ref_31.txt"
+"..\SMIL_Test_Files\smil_input\valid\entity_ref_4.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\entity_ref_4.txt"
+"..\SMIL_Test_Files\smil_input\valid\entity_ref_5.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\entity_ref_5.txt"
+"..\SMIL_Test_Files\smil_input\valid\entity_ref_6.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\entity_ref_6.txt"
+"..\SMIL_Test_Files\smil_input\valid\entity_ref_7.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\entity_ref_7.txt"
+"..\SMIL_Test_Files\smil_input\valid\entity_ref_8.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\entity_ref_8.txt"
+"..\SMIL_Test_Files\smil_input\valid\head_att_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\head_att_1.txt"
+"..\SMIL_Test_Files\smil_input\valid\head_att_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\head_att_2.txt"
+"..\SMIL_Test_Files\smil_input\valid\img_att_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\img_att_1.txt"
+"..\SMIL_Test_Files\smil_input\valid\img_att_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\img_att_2.txt"
+"..\SMIL_Test_Files\smil_input\valid\img_att_3.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\img_att_3.txt"
+"..\SMIL_Test_Files\smil_input\valid\img_att_4.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\img_att_4.txt"
+"..\SMIL_Test_Files\smil_input\valid\img_att_5.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\img_att_5.txt"
+"..\SMIL_Test_Files\smil_input\valid\INC021337.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\INC021337.txt"
+"..\SMIL_Test_Files\smil_input\valid\INC022160.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\INC022160.txt"
+"..\SMIL_Test_Files\smil_input\valid\INC025788.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\INC025788.txt"
+"..\SMIL_Test_Files\smil_input\valid\layout_att_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\layout_att_1.txt"
+"..\SMIL_Test_Files\smil_input\valid\layout_att_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\layout_att_2.txt"
+"..\SMIL_Test_Files\smil_input\valid\newline_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\newline_1.txt"
+"..\SMIL_Test_Files\smil_input\valid\par_att_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\par_att_1.txt"
+"..\SMIL_Test_Files\smil_input\valid\par_att_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\par_att_2.txt"
+"..\SMIL_Test_Files\smil_input\valid\par_att_3.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\par_att_3.txt"
+"..\SMIL_Test_Files\smil_input\valid\par_att_4.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\par_att_4.txt"
+"..\SMIL_Test_Files\smil_input\valid\par_att_5.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\par_att_5.txt"
+"..\SMIL_Test_Files\smil_input\valid\ref_att_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\ref_att_1.txt"
+"..\SMIL_Test_Files\smil_input\valid\ref_att_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\ref_att_2.txt"
+"..\SMIL_Test_Files\smil_input\valid\ref_att_3.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\ref_att_3.txt"
+"..\SMIL_Test_Files\smil_input\valid\ref_att_4.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\ref_att_4.txt"
+"..\SMIL_Test_Files\smil_input\valid\ref_att_5.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\ref_att_5.txt"
+"..\SMIL_Test_Files\smil_input\valid\region_att_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\region_att_1.txt"
+"..\SMIL_Test_Files\smil_input\valid\region_att_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\region_att_2.txt"
+"..\SMIL_Test_Files\smil_input\valid\region_att_3.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\region_att_3.txt"
+"..\SMIL_Test_Files\smil_input\valid\region_att_4.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\region_att_4.txt"
+"..\SMIL_Test_Files\smil_input\valid\region_att_5.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\region_att_5.txt"
+"..\SMIL_Test_Files\smil_input\valid\region_att_6.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\region_att_6.txt"
+"..\SMIL_Test_Files\smil_input\valid\root-layout_att_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\root-layout_att_1.txt"
+"..\SMIL_Test_Files\smil_input\valid\root-layout_att_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\root-layout_att_2.txt"
+"..\SMIL_Test_Files\smil_input\valid\root-layout_att_3.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\root-layout_att_3.txt"
+"..\SMIL_Test_Files\smil_input\valid\seq_att_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\seq_att_1.txt"
+"..\SMIL_Test_Files\smil_input\valid\seq_att_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\seq_att_2.txt"
+"..\SMIL_Test_Files\smil_input\valid\seq_att_3.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\seq_att_3.txt"
+"..\SMIL_Test_Files\smil_input\valid\seq_att_4.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\seq_att_4.txt"
+"..\SMIL_Test_Files\smil_input\valid\seq_att_5.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\seq_att_5.txt"
+"..\SMIL_Test_Files\smil_input\valid\seq_struc_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\seq_struc_1.txt"
+"..\SMIL_Test_Files\smil_input\valid\seq_struc_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\seq_struc_2.txt"
+"..\SMIL_Test_Files\smil_input\valid\seq_struc_3.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\seq_struc_3.txt"
+"..\SMIL_Test_Files\smil_input\valid\seq_struc_4.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\seq_struc_4.txt"
+"..\SMIL_Test_Files\smil_input\valid\seq_struc_5.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\seq_struc_5.txt"
+"..\SMIL_Test_Files\smil_input\valid\seq_struc_6.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\seq_struc_6.txt"
+"..\SMIL_Test_Files\smil_input\valid\smil_att_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\smil_att_1.txt"
+"..\SMIL_Test_Files\smil_input\valid\smil_att_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\smil_att_2.txt"
+"..\SMIL_Test_Files\smil_input\valid\switch_att_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\switch_att_1.txt"
+"..\SMIL_Test_Files\smil_input\valid\switch_att_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\switch_att_2.txt"
+"..\SMIL_Test_Files\smil_input\valid\switch_struc_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\switch_struc_1.txt"
+"..\SMIL_Test_Files\smil_input\valid\switch_struc_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\switch_struc_2.txt"
+"..\SMIL_Test_Files\smil_input\valid\switch_struc_3.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\switch_struc_3.txt"
+"..\SMIL_Test_Files\smil_input\valid\textstream_att_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\textstream_att_1.txt"
+"..\SMIL_Test_Files\smil_input\valid\textstream_att_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\textstream_att_2.txt"
+"..\SMIL_Test_Files\smil_input\valid\textstream_att_3.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\textstream_att_3.txt"
+"..\SMIL_Test_Files\smil_input\valid\textstream_att_4.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\textstream_att_4.txt"
+"..\SMIL_Test_Files\smil_input\valid\textstream_att_5.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\textstream_att_5.txt"
+"..\SMIL_Test_Files\smil_input\valid\text_att_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\text_att_1.txt"
+"..\SMIL_Test_Files\smil_input\valid\text_att_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\text_att_2.txt"
+"..\SMIL_Test_Files\smil_input\valid\text_att_3.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\text_att_3.txt"
+"..\SMIL_Test_Files\smil_input\valid\text_att_4.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\text_att_4.txt"
+"..\SMIL_Test_Files\smil_input\valid\text_att_5.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\text_att_5.txt"
+"..\SMIL_Test_Files\smil_input\valid\utf8.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\utf8.txt"
+"..\SMIL_Test_Files\smil_input\valid\video_att_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\video_att_1.txt"
+"..\SMIL_Test_Files\smil_input\valid\video_att_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\video_att_2.txt"
+"..\SMIL_Test_Files\smil_input\valid\video_att_3.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\video_att_3.txt"
+"..\SMIL_Test_Files\smil_input\valid\video_att_4.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\video_att_4.txt"
+"..\SMIL_Test_Files\smil_input\valid\video_att_5.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\video_att_5.txt"
+"..\SMIL_Test_Files\smil_input\valid\whitespace_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\whitespace_1.txt"
+"..\SMIL_Test_Files\smil_input\valid\whitespace_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\whitespace_2.txt"
+"..\SMIL_Test_Files\smil_input\valid\xml_version_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\valid\xml_version_1.txt"
+
+
+;SMIL Input InValid
+"..\SMIL_Test_Files\smil_input\invalid\a_att_10.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\a_att_10.txt"
+"..\SMIL_Test_Files\smil_input\invalid\a_att_11.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\a_att_11.txt"
+"..\SMIL_Test_Files\smil_input\invalid\a_att_6.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\a_att_6.txt"
+"..\SMIL_Test_Files\smil_input\invalid\a_att_7.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\a_att_7.txt"
+"..\SMIL_Test_Files\smil_input\invalid\a_att_8.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\a_att_8.txt"
+"..\SMIL_Test_Files\smil_input\invalid\a_att_9.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\a_att_9.txt"
+"..\SMIL_Test_Files\smil_input\invalid\cdata_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\cdata_1.txt"
+"..\SMIL_Test_Files\smil_input\invalid\Entitiy_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\Entitiy_2.txt"
+"..\SMIL_Test_Files\smil_input\invalid\entity_ref_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\entity_ref_1.txt"
+"..\SMIL_Test_Files\smil_input\invalid\entity_ref_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\entity_ref_2.txt"
+"..\SMIL_Test_Files\smil_input\invalid\entity_ref_3.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\entity_ref_3.txt"
+"..\SMIL_Test_Files\smil_input\invalid\entity_ref_4.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\entity_ref_4.txt"
+"..\SMIL_Test_Files\smil_input\invalid\further_invalid_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\further_invalid_1.txt"
+"..\SMIL_Test_Files\smil_input\invalid\further_invalid_10.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\further_invalid_10.txt"
+"..\SMIL_Test_Files\smil_input\invalid\further_invalid_11.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\further_invalid_11.txt"
+"..\SMIL_Test_Files\smil_input\invalid\further_invalid_12.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\further_invalid_12.txt"
+"..\SMIL_Test_Files\smil_input\invalid\further_invalid_13.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\further_invalid_13.txt"
+"..\SMIL_Test_Files\smil_input\invalid\further_invalid_14.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\further_invalid_14.txt"
+"..\SMIL_Test_Files\smil_input\invalid\further_invalid_15.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\further_invalid_15.txt"
+"..\SMIL_Test_Files\smil_input\invalid\further_invalid_16.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\further_invalid_16.txt"
+"..\SMIL_Test_Files\smil_input\invalid\further_invalid_17.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\further_invalid_17.txt"
+"..\SMIL_Test_Files\smil_input\invalid\further_invalid_18.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\further_invalid_18.txt"
+"..\SMIL_Test_Files\smil_input\invalid\further_invalid_19.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\further_invalid_19.txt"
+"..\SMIL_Test_Files\smil_input\invalid\further_invalid_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\further_invalid_2.txt"
+"..\SMIL_Test_Files\smil_input\invalid\further_invalid_20.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\further_invalid_20.txt"
+"..\SMIL_Test_Files\smil_input\invalid\further_invalid_21.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\further_invalid_21.txt"
+"..\SMIL_Test_Files\smil_input\invalid\further_invalid_22.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\further_invalid_22.txt"
+"..\SMIL_Test_Files\smil_input\invalid\further_invalid_23.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\further_invalid_23.txt"
+"..\SMIL_Test_Files\smil_input\invalid\further_invalid_24.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\further_invalid_24.txt"
+"..\SMIL_Test_Files\smil_input\invalid\further_invalid_25.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\further_invalid_25.txt"
+"..\SMIL_Test_Files\smil_input\invalid\further_invalid_3.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\further_invalid_3.txt"
+"..\SMIL_Test_Files\smil_input\invalid\further_invalid_4.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\further_invalid_4.txt"
+"..\SMIL_Test_Files\smil_input\invalid\further_invalid_5.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\further_invalid_5.txt"
+"..\SMIL_Test_Files\smil_input\invalid\further_invalid_6.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\further_invalid_6.txt"
+"..\SMIL_Test_Files\smil_input\invalid\further_invalid_7.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\further_invalid_7.txt"
+"..\SMIL_Test_Files\smil_input\invalid\further_invalid_8.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\further_invalid_8.txt"
+"..\SMIL_Test_Files\smil_input\invalid\further_invalid_9.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\further_invalid_9.txt"
+"..\SMIL_Test_Files\smil_input\invalid\INC021591.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\INC021591.txt"
+"..\SMIL_Test_Files\smil_input\invalid\INC021675.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\INC021675.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_1.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_10.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_10.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_11.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_11.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_12.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_12.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_13.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_13.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_14.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_14.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_15.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_15.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_16.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_16.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_17.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_17.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_18.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_18.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_19.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_19.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_2.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_20.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_20.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_21.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_21.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_22.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_22.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_23.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_23.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_24.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_24.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_25.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_25.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_26.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_26.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_27.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_27.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_28.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_28.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_29.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_29.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_3.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_3.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_31.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_31.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_32.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_32.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_33.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_33.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_34.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_34.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_35.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_35.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_36.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_36.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_37.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_37.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_38.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_38.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_39.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_39.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_4.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_4.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_40.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_40.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_5.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_5.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_6.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_6.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_7.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_7.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_8.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_8.txt"
+"..\SMIL_Test_Files\smil_input\invalid\invalid_9.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\invalid_9.txt"
+"..\SMIL_Test_Files\smil_input\invalid\region_att_10.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\region_att_10.txt"
+"..\SMIL_Test_Files\smil_input\invalid\region_att_11.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\region_att_11.txt"
+"..\SMIL_Test_Files\smil_input\invalid\region_att_7.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\region_att_7.txt"
+"..\SMIL_Test_Files\smil_input\invalid\region_att_8.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\region_att_8.txt"
+"..\SMIL_Test_Files\smil_input\invalid\region_att_9.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\region_att_9.txt"
+"..\SMIL_Test_Files\smil_input\invalid\root-layout_att_4.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\root-layout_att_4.txt"
+"..\SMIL_Test_Files\smil_input\invalid\root-layout_att_5.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\root-layout_att_5.txt"
+"..\SMIL_Test_Files\smil_input\invalid\root-layout_att_6.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\root-layout_att_6.txt"
+"..\SMIL_Test_Files\smil_input\invalid\switch_struc_4.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\smil_input\invalid\switch_struc_4.txt"
+
+
+
+;MMS Input valid
+"..\SMIL_Test_Files\mms_input\valid\audio_att_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\audio_att_1.txt"
+"..\SMIL_Test_Files\mms_input\valid\audio_att_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\audio_att_2.txt"
+"..\SMIL_Test_Files\mms_input\valid\audio_att_3.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\audio_att_3.txt"
+"..\SMIL_Test_Files\mms_input\valid\body_struc_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\body_struc_1.txt"
+"..\SMIL_Test_Files\mms_input\valid\body_struc_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\body_struc_2.txt"
+"..\SMIL_Test_Files\mms_input\valid\body_struc_3.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\body_struc_3.txt"
+"..\SMIL_Test_Files\mms_input\valid\head_struct_4.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\body_struct_4.txt"
+"..\SMIL_Test_Files\mms_input\valid\head_struct_5.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\body_struct_5.txt"
+"..\SMIL_Test_Files\mms_input\valid\head_struc_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\head_struc_1.txt"
+"..\SMIL_Test_Files\mms_input\valid\head_struc_3.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\head_struc_3.txt"
+"..\SMIL_Test_Files\mms_input\valid\img_att_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\img_att_1.txt"
+"..\SMIL_Test_Files\mms_input\valid\img_att_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\img_att_2.txt"
+"..\SMIL_Test_Files\mms_input\valid\img_att_3.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\img_att_3.txt"
+"..\SMIL_Test_Files\mms_input\valid\img_struc_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\img_struc_1.txt"
+"..\SMIL_Test_Files\mms_input\valid\layout_struc_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\layout_struc_1.txt"
+"..\SMIL_Test_Files\mms_input\valid\layout_struc_3.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\layout_struc_3.txt"
+"..\SMIL_Test_Files\mms_input\valid\layout_struc_4.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\layout_struc_4.txt"
+"..\SMIL_Test_Files\mms_input\valid\layout_struc_5.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\layout_struc_5.txt"
+"..\SMIL_Test_Files\mms_input\valid\metadata_att1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\metadata_att1.txt"
+"..\SMIL_Test_Files\mms_input\valid\meta_att_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\meta_att_1.txt"
+"..\SMIL_Test_Files\mms_input\valid\meta_att_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\meta_att_2.txt"
+"..\SMIL_Test_Files\mms_input\valid\par_att_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\par_att_1.txt"
+"..\SMIL_Test_Files\mms_input\valid\par_att_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\par_att_2.txt"
+"..\SMIL_Test_Files\mms_input\valid\par_prefetch.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\par_prefetch.txt"
+"..\SMIL_Test_Files\mms_input\valid\par_struc_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\par_struc_1.txt"
+"..\SMIL_Test_Files\mms_input\valid\par_struc_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\par_struc_2.txt"
+"..\SMIL_Test_Files\mms_input\valid\par_struc_4.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\par_struc_4.txt"
+"..\SMIL_Test_Files\mms_input\valid\prefetch_att1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\prefetch_att1.txt"
+"..\SMIL_Test_Files\mms_input\valid\prefetch_att2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\prefetch_att2.txt"
+"..\SMIL_Test_Files\mms_input\valid\prefetch_att3.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\prefetch_att3.txt"
+"..\SMIL_Test_Files\mms_input\valid\prefetch_att4.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\prefetch_att4.txt"
+"..\SMIL_Test_Files\mms_input\valid\ref_att_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\ref_att_1.txt"
+"..\SMIL_Test_Files\mms_input\valid\ref_att_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\ref_att_2.txt"
+"..\SMIL_Test_Files\mms_input\valid\ref_att_3.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\ref_att_3.txt"
+"..\SMIL_Test_Files\mms_input\valid\ref_att_4.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\ref_att_4.txt"
+"..\SMIL_Test_Files\mms_input\valid\ref_att_5.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\ref_att_5.txt"
+"..\SMIL_Test_Files\mms_input\valid\ref_att_6.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\ref_att_6.txt"
+"..\SMIL_Test_Files\mms_input\valid\region_att_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\region_att_1.txt"
+"..\SMIL_Test_Files\mms_input\valid\region_att_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\region_att_2.txt"
+"..\SMIL_Test_Files\mms_input\valid\region_att_3.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\region_att_3.txt"
+"..\SMIL_Test_Files\mms_input\valid\region_att_4.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\region_att_4.txt"
+"..\SMIL_Test_Files\mms_input\valid\region_att_5.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\region_att_5.txt"
+"..\SMIL_Test_Files\mms_input\valid\region_att_6.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\region_att_6.txt"
+"..\SMIL_Test_Files\mms_input\valid\region_struc_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\region_struc_1.txt"
+"..\SMIL_Test_Files\mms_input\valid\root-layout_att_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\root-layout_att_1.txt"
+"..\SMIL_Test_Files\mms_input\valid\root-layout_att_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\root-layout_att_2.txt"
+"..\SMIL_Test_Files\mms_input\valid\smil_struc_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\smil_struc_1.txt"
+"..\SMIL_Test_Files\mms_input\valid\smil_struc_3.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\smil_struc_3.txt"
+"..\SMIL_Test_Files\mms_input\valid\smil_struc_4.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\smil_struc_4.txt"
+"..\SMIL_Test_Files\mms_input\valid\smil_struc_5.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\smil_struc_5.txt"
+"..\SMIL_Test_Files\mms_input\valid\text_att_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\text_att_1.txt"
+"..\SMIL_Test_Files\mms_input\valid\text_att_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\text_att_2.txt"
+"..\SMIL_Test_Files\mms_input\valid\transition_att_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\transition_att_1.txt"
+"..\SMIL_Test_Files\mms_input\valid\transition_att_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\transition_att_2.txt"
+"..\SMIL_Test_Files\mms_input\valid\transition_att_3.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\valid\transition_att_3.txt"
+
+
+
+;MMS Input invalid
+"..\SMIL_Test_Files\mms_input\invalid\body_struc_4.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\invalid\body_struc_4.txt"
+"..\SMIL_Test_Files\mms_input\invalid\head_struc_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\invalid\head_struc_2.txt"
+"..\SMIL_Test_Files\mms_input\invalid\invalid_metadata_att1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\invalid\invalid_metadata_att1.txt"
+"..\SMIL_Test_Files\mms_input\invalid\invalid_meta_att1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\invalid\invalid_meta_att1.txt"
+"..\SMIL_Test_Files\mms_input\invalid\invalid_transition_att2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\invalid\invalid_transition_att2.txt"
+"..\SMIL_Test_Files\mms_input\invalid\invalid_transition_att3.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\invalid\invalid_transition_att3.txt"
+"..\SMIL_Test_Files\mms_input\invalid\invalid_transition_att4.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\invalid\invalid_transition_att4.txt"
+"..\SMIL_Test_Files\mms_input\invalid\invalid_transition_att5.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\invalid\invalid_transition_att5.txt"
+"..\SMIL_Test_Files\mms_input\invalid\invalid__prefetch_att1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\invalid\invalid__prefetch_att1.txt"
+"..\SMIL_Test_Files\mms_input\invalid\invalid__prefetch_att2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\invalid\invalid__prefetch_att2.txt"
+"..\SMIL_Test_Files\mms_input\invalid\invalid__prefetch_att3.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\invalid\invalid__prefetch_att3.txt"
+"..\SMIL_Test_Files\mms_input\invalid\layout_struc_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\invalid\layout_struc_2.txt"
+"..\SMIL_Test_Files\mms_input\invalid\layout_struc_6.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\invalid\layout_struc_6.txt"
+"..\SMIL_Test_Files\mms_input\invalid\layout_struc_7.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\invalid\layout_struc_7.txt"
+"..\SMIL_Test_Files\mms_input\invalid\par_struc_3.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\invalid\par_struc_3.txt"
+"..\SMIL_Test_Files\mms_input\invalid\region_att_7.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\invalid\region_att_7.txt"
+"..\SMIL_Test_Files\mms_input\invalid\smil_struc_2.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\invalid\smil_struc_2.txt"
+"..\SMIL_Test_Files\mms_input\invalid\text_struc_1.txt" - "c:\legacyminidomparsertest\SMIL_Test_Files\mms_input\invalid\text_struc_1.txt"
diff -r ed3155dbd163 -r 74f0b3eb154c xml/legacyminidomparser/XMLParser/test/group/t_GmxmlFailure.mmp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/legacyminidomparser/XMLParser/test/group/t_GmxmlFailure.mmp Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,35 @@
+// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+//RTEST
+
+TARGET t_gmxmlfailure.exe
+TARGETTYPE exe
+
+SOURCEPATH ../
+SOURCE t_GmxmlFailure.CPP
+SOURCE t_XMLParserLOG.CPP
+
+USERINCLUDE ../
+
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
+
+LIBRARY efsrv.lib euser.lib xmlparser.lib
+EPOCSTACKSIZE 0x8000
+
+VENDORID 0x70000001
+
+SMPSAFE
diff -r ed3155dbd163 -r 74f0b3eb154c xml/legacyminidomparser/XMLParser/test/group/t_GmxmlParser.mmp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/legacyminidomparser/XMLParser/test/group/t_GmxmlParser.mmp Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,41 @@
+// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// t_gmxmlparser.mmp
+//
+
+//RTEST
+
+TARGET t_gmxmlparser.exe
+TARGETTYPE exe
+
+SOURCEPATH ../
+SOURCE GmxmlTestUtils.cpp
+SOURCE t_GmxmlParser.CPP
+
+
+USERINCLUDE ../
+
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
+
+LIBRARY euser.lib
+LIBRARY efsrv.lib
+LIBRARY xmlparser.lib
+
+
+EPOCSTACKSIZE 0x8000
+
+
+
+SMPSAFE
diff -r ed3155dbd163 -r 74f0b3eb154c xml/legacyminidomparser/XMLParser/test/group/t_smiltranslatortest.mmp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/legacyminidomparser/XMLParser/test/group/t_smiltranslatortest.mmp Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,53 @@
+// Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// t_smiltranslatortest.mmp
+//
+
+//RTEST
+
+TARGET t_smiltranslatortest.exe
+TARGETTYPE exe
+
+SOURCEPATH ../
+SOURCE t_smiltranslatortest.cpp
+SOURCE t_Smildtd.cpp
+
+
+USERINCLUDE ../
+
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
+
+
+LIBRARY euser.lib
+LIBRARY efsrv.lib
+LIBRARY xmlparser.lib
+LIBRARY bafl.lib
+
+SOURCEPATH ../../STRINGS
+START STRINGTABLE SMILElements.st
+ EXPORTPATH /epoc32/include
+END
+START STRINGTABLE SMILGenericElements.st
+ EXPORTPATH /epoc32/include
+END
+START STRINGTABLE SMILAttributes.st
+ EXPORTPATH /epoc32/include
+END
+
+EPOCSTACKSIZE 0x8000
+
+
+
+SMPSAFE
diff -r ed3155dbd163 -r 74f0b3eb154c xml/legacyminidomparser/XMLParser/test/t_GmxmlFailure.mmp
--- a/xml/legacyminidomparser/XMLParser/test/t_GmxmlFailure.mmp Mon May 03 14:14:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-target t_gmxmlfailure.exe
-targettype exe
-
-SOURCEPATH ../test
-SOURCE t_GmxmlFailure.CPP
-SOURCE t_XMLParserLOG.CPP
-
-USERINCLUDE ../test
-
-OS_LAYER_SYSTEMINCLUDE_SYMBIAN
-
-
-LIBRARY efsrv.lib euser.lib xmlparser.lib
-EPOCSTACKSIZE 0x8000
-
-VENDORID 0x70000001
-
-SMPSAFE
diff -r ed3155dbd163 -r 74f0b3eb154c xml/legacyminidomparser/XMLParser/test/t_GmxmlParser.mmp
--- a/xml/legacyminidomparser/XMLParser/test/t_GmxmlParser.mmp Mon May 03 14:14:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// t_gmxmlparser.mmp
-//
-
-TARGET t_gmxmlparser.exe
-TARGETTYPE exe
-
-SOURCEPATH .
-SOURCE GmxmlTestUtils.cpp
-SOURCE t_GmxmlParser.CPP
-
-
-USERINCLUDE .
-
-OS_LAYER_SYSTEMINCLUDE_SYMBIAN
-
-
-
-
-
-
-LIBRARY euser.lib
-LIBRARY efsrv.lib
-LIBRARY xmlparser.lib
-
-
-EPOCSTACKSIZE 0x8000
-
-
-
-SMPSAFE
diff -r ed3155dbd163 -r 74f0b3eb154c xml/legacyminidomparser/XMLParser/test/t_smiltranslatortest.cpp
--- a/xml/legacyminidomparser/XMLParser/test/t_smiltranslatortest.cpp Mon May 03 14:14:40 2010 +0300
+++ b/xml/legacyminidomparser/XMLParser/test/t_smiltranslatortest.cpp Wed Jun 23 20:27:15 2010 +0530
@@ -1191,8 +1191,8 @@
CleanupStack::PushL(fileMan);
// Do the file copy
- User::LeaveIfError(fileMan->Copy(_L("z:\\gmxmltest.txt"),_L("c:\\gmxmltest.txt"),CFileMan::EOverWrite));
- User::LeaveIfError(fileMan->Copy(_L("z:\\legacyminidomparsertest"),_L("c:\\legacyminidomparsertest"),CFileMan::EOverWrite|CFileMan::ERecurse));
+ //User::LeaveIfError(fileMan->Copy(_L("z:\\gmxmltest.txt"),_L("c:\\gmxmltest.txt"),CFileMan::EOverWrite));
+ //User::LeaveIfError(fileMan->Copy(_L("z:\\legacyminidomparsertest"),_L("c:\\legacyminidomparsertest"),CFileMan::EOverWrite|CFileMan::ERecurse));
CleanupStack::PopAndDestroy(2);
}
diff -r ed3155dbd163 -r 74f0b3eb154c xml/legacyminidomparser/XMLParser/test/t_smiltranslatortest.mmp
--- a/xml/legacyminidomparser/XMLParser/test/t_smiltranslatortest.mmp Mon May 03 14:14:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-// Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// t_smiltranslatortest.mmp
-//
-
-TARGET t_smiltranslatortest.exe
-TARGETTYPE exe
-
-SOURCEPATH .
-SOURCE t_smiltranslatortest.cpp
-SOURCE t_Smildtd.cpp
-
-
-USERINCLUDE .
-
-OS_LAYER_SYSTEMINCLUDE_SYMBIAN
-
-
-
-LIBRARY euser.lib
-LIBRARY efsrv.lib
-LIBRARY xmlparser.lib
-LIBRARY bafl.lib
-
-SOURCEPATH ../STRINGS
-START STRINGTABLE SMILElements.st
- EXPORTPATH /epoc32/include
-END
-START STRINGTABLE SMILGenericElements.st
- EXPORTPATH /epoc32/include
-END
-START STRINGTABLE SMILAttributes.st
- EXPORTPATH /epoc32/include
-END
-
-EPOCSTACKSIZE 0x8000
-
-
-
-SMPSAFE
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/group/bld.inf
--- a/xml/libxml2libs/group/bld.inf Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/group/bld.inf Wed Jun 23 20:27:15 2010 +0530
@@ -74,7 +74,7 @@
#include "../test/common/group/bld.inf"
#include "../test/tef/def130695/group/bld.inf"
#include "../test/tef/xml2/group/bld.inf"
+#include "../test/xmlengtester/xmlengtester_target/group/bld.inf"
-
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/group/syslibs_libxml2.mrp
--- a/xml/libxml2libs/group/syslibs_libxml2.mrp Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/group/syslibs_libxml2.mrp Wed Jun 23 20:27:15 2010 +0530
@@ -1,19 +1,3 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
component syslibs_libxml2
source \sf\os\xmlsrv\xml\libxml2libs
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/inc/libxml2/libxml2_errencoding.h
--- a/xml/libxml2libs/inc/libxml2/libxml2_errencoding.h Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/inc/libxml2/libxml2_errencoding.h Wed Jun 23 20:27:15 2010 +0530
@@ -15,9 +15,9 @@
-#include
+#include
-#include
+#include
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/inc/libxml2/libxml2_sax2.h
--- a/xml/libxml2libs/inc/libxml2/libxml2_sax2.h Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/inc/libxml2/libxml2_sax2.h Wed Jun 23 20:27:15 2010 +0530
@@ -17,10 +17,10 @@
#ifndef XML_SAX2_H
#define XML_SAX2_H
-#include
+#include
#ifdef LIBXML_XPTR_ENABLED
-#include
+#include
#endif
#ifdef __cplusplus
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/inc/libxml2/libxml2_threads.h
--- a/xml/libxml2libs/inc/libxml2/libxml2_threads.h Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/inc/libxml2/libxml2_threads.h Wed Jun 23 20:27:15 2010 +0530
@@ -17,7 +17,7 @@
#ifndef XML_THREADS_H
#define XML_THREADS_H
-#include
+#include
#ifdef __cplusplus
extern "C" {
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/inc/libxml2/libxml2_xlink.h
--- a/xml/libxml2libs/inc/libxml2/libxml2_xlink.h Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/inc/libxml2/libxml2_xlink.h Wed Jun 23 20:27:15 2010 +0530
@@ -16,8 +16,8 @@
#ifndef XML_XLINK_H
#define XML_XLINK_H
-#include
-#include
+#include
+#include
#ifdef __cplusplus
extern "C" {
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/inc/libxml2/libxml2_xmlerror2.h
--- a/xml/libxml2libs/inc/libxml2/libxml2_xmlerror2.h Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/inc/libxml2/libxml2_xmlerror2.h Wed Jun 23 20:27:15 2010 +0530
@@ -14,7 +14,7 @@
-#include
+#include
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/inc/libxml2/libxml2_xmlreader.h
--- a/xml/libxml2libs/inc/libxml2/libxml2_xmlreader.h Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/inc/libxml2/libxml2_xmlreader.h Wed Jun 23 20:27:15 2010 +0530
@@ -16,8 +16,8 @@
#ifndef XML_XMLREADER_H
#define XML_XMLREADER_H
-#include
-#include
+#include
+#include
#ifdef LIBXML_SCHEMAS_ENABLED
#include "libxml2_relaxng.h"
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/inc/libxml2/libxml2_xmlschemasglobals.h
--- a/xml/libxml2libs/inc/libxml2/libxml2_xmlschemasglobals.h Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/inc/libxml2/libxml2_xmlschemasglobals.h Wed Jun 23 20:27:15 2010 +0530
@@ -19,8 +19,7 @@
typedef struct _xmlSchemaTypesGlobalData xmlSchemaTypesGlobalData;
typedef xmlSchemaTypesGlobalData* xmlSchemaTypesGlobalDataPtr;
-#include
-
+#include
// xmlSchemaTypesInitialized is defined as separate global variable
struct _xmlSchemaTypesGlobalData{
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/inc/libxml2/xmlengtrionan.h
--- a/xml/libxml2libs/inc/libxml2/xmlengtrionan.h Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/inc/libxml2/xmlengtrionan.h Wed Jun 23 20:27:15 2010 +0530
@@ -21,7 +21,7 @@
#ifndef TRIO_NAN_H
#define TRIO_NAN_H
-#include
+#include
#ifdef __cplusplus
extern "C" {
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/inc/libxml2_nonexport/libxml2_xmlio_private.h
--- a/xml/libxml2libs/inc/libxml2_nonexport/libxml2_xmlio_private.h Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/inc/libxml2_nonexport/libxml2_xmlio_private.h Wed Jun 23 20:27:15 2010 +0530
@@ -17,7 +17,7 @@
#ifndef LIBXML2_TREE_PRIVATE_H
#define LIBXML2_TREE_PRIVATE_H
-#include
+#include
#ifdef __cplusplus
extern "C" {
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/src/libxml2/libxml2_triostr.h
--- a/xml/libxml2libs/src/libxml2/libxml2_triostr.h Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/src/libxml2/libxml2_triostr.h Wed Jun 23 20:27:15 2010 +0530
@@ -27,7 +27,7 @@
#include
#include
#include
-#include
+#include
#include "libxml2_triop.h"
enum {
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/src/libxml2/libxml2_xlink.c
--- a/xml/libxml2libs/src/libxml2/libxml2_xlink.c Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/src/libxml2/libxml2_xlink.c Wed Jun 23 20:27:15 2010 +0530
@@ -32,12 +32,12 @@
#include
#endif
-#include
-#include
-#include
-#include
-#include
-#include
+#include
+#include
+#include
+#include
+#include
+#include
#define XLINK_NAMESPACE (BAD_CAST "http://www.w3.org/1999/xlink/namespace/")
#define XHTML_NAMESPACE (BAD_CAST "http://www.w3.org/1999/xhtml/")
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/common/group/Te_XML_FTmgrsuite.mmp
--- a/xml/libxml2libs/test/common/group/Te_XML_FTmgrsuite.mmp Mon May 03 14:14:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-// Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
- TARGET te_xml_ftmgrsuite.exe
- TARGETTYPE exe
- UID 0x1000007A 0x101F7784
-
-
-
-//Please add any change under here
-SOURCEPATH ../src
-SOURCE Te_XML_FTmgrSuiteServer.cpp
-SOURCE Te_XML_FTmgrSuiteStepBase.cpp
-SOURCE XML_flagsStep.cpp
-
-
-USERINCLUDE ../src
-
-OS_LAYER_SYSTEMINCLUDE_SYMBIAN
-
-//Please add your system include under here.
-
-LIBRARY euser.lib
-LIBRARY testexecuteutils.lib
-LIBRARY testexecutelogclient.lib
-LIBRARY featmgr.lib
-
-//Please add your libraries under here. For example:
-//LIBRARY efsrv.lib
-//LIBRARY insock.lib
-//LIBRARY esock.lib
-
-SMPSAFE
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/common/group/bld.inf
--- a/xml/libxml2libs/test/common/group/bld.inf Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/test/common/group/bld.inf Wed Jun 23 20:27:15 2010 +0530
@@ -19,11 +19,11 @@
PRJ_EXPORTS
PRJ_TESTEXPORTS
-../scripts/te_XML_FTmgrSuite.script z:/testdata/scripts/te_xml_ftmgrsuite.script
-../testdata/te_XML_FTmgrsuite.ini z:/testdata/configs/te_xml_ftmgrsuite.ini
-./te_XML_FTmgrsuite.iby /epoc32/rom/include/te_xml_ftmgrsuite.iby
+../scripts/te_xml_ftmgrsuite.script c:/testdata/scripts/te_xml_ftmgrsuite.script
+../testdata/te_xml_ftmgrsuite.ini c:/testdata/configs/te_xml_ftmgrsuite.ini
+./te_xml_ftmgrsuite.iby /epoc32/rom/include/te_xml_ftmgrsuite.iby
PRJ_MMPFILES
PRJ_TESTMMPFILES
-Te_XML_FTmgrsuite.mmp manual
+te_xml_ftmgrsuite.mmp manual
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/common/group/te_XML_FTmgrsuite.iby
--- a/xml/libxml2libs/test/common/group/te_XML_FTmgrsuite.iby Mon May 03 14:14:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#ifndef __TE_XML_FTMGR_SUITE_IBY__
-#define __TE_XML_FTMGR_SUITE_IBY__
-
-#include
-
-file=ABI_DIR\BUILD_DIR\te_XML_FTmgrSuite.exe sys\bin\te_XML_FTmgrSuite.exe
-
-data=DATAZ_\TestData\configs\te_XML_FTmgrSuite.ini TestData\configs\te_XML_FTmgrSuite.ini
-data=DATAZ_\TestData\scripts\te_XML_FTmgrSuite.script TestData\Scripts\te_XML_FTmgrSuite.Script
-
-#endif
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/common/group/te_xml_ftmgrsuite.iby
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/libxml2libs/test/common/group/te_xml_ftmgrsuite.iby Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __TE_XML_FTMGR_SUITE_IBY__
+#define __TE_XML_FTMGR_SUITE_IBY__
+
+#include
+
+file=ABI_DIR\BUILD_DIR\te_xml_ftmgrsuite.exe sys\bin\te_xml_ftmgrsuite.exe
+
+#endif
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/common/group/te_xml_ftmgrsuite.mmp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/libxml2libs/test/common/group/te_xml_ftmgrsuite.mmp Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,43 @@
+// Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+TARGET te_xml_ftmgrsuite.exe
+TARGETTYPE exe
+UID 0x1000007A 0x101F7784
+
+//Please add any change under here
+SOURCEPATH ../src
+SOURCE Te_XML_FTmgrSuiteServer.cpp
+SOURCE Te_XML_FTmgrSuiteStepBase.cpp
+SOURCE XML_flagsStep.cpp
+
+
+USERINCLUDE ../src
+
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
+//Please add your system include under here.
+
+LIBRARY euser.lib
+LIBRARY testexecuteutils.lib
+LIBRARY testexecutelogclient.lib
+LIBRARY featmgr.lib
+
+//Please add your libraries under here. For example:
+//LIBRARY efsrv.lib
+//LIBRARY insock.lib
+//LIBRARY esock.lib
+
+SMPSAFE
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/common/group/te_xml_ftmgrsuite.pkg
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/libxml2libs/test/common/group/te_xml_ftmgrsuite.pkg Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,32 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description:
+;Te_xml_ftmgrsuite.pkg
+
+; Languages -
+&EN
+
+; Installation header
+#{"Te_xml_ftmgrsuite"}, (0x20032631), 1, 0, 0, TYPE=SA
+%{"Nokia Corporation"}
+:"Nokia Corporation"
+
+(0x101f7961),0, 0, 0 ,{"Series60ProductID"}
+; Install files
+;Test exes
+"\epoc32\release\armv5\urel\te_XML_FTmgrSuite.exe" - "c:\sys\bin\te_XML_FTmgrSuite.exe"
+
+;Scripts
+"\epoc32\data\c\testdata\scripts\te_xml_ftmgrsuite.script" - "c:\testdata\scripts\te_xml_ftmgrsuite.script"
+"..\TestData\te_xml_ftmgrsuite.ini" - "c:\TestData\configs\te_xml_ftmgrsuite.ini"
\ No newline at end of file
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/common/romkit_include/featuredatabase.xml
--- a/xml/libxml2libs/test/common/romkit_include/featuredatabase.xml Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/test/common/romkit_include/featuredatabase.xml Wed Jun 23 20:27:15 2010 +0530
@@ -46,19 +46,19 @@
-
+
-
+
-
+
-
+
-
+
@@ -82,16 +82,16 @@
-
+
-
+
-
+
@@ -101,16 +101,16 @@
-
+
-
+
-
+
-
+
@@ -119,7 +119,7 @@
-
+
@@ -134,16 +134,16 @@
-
+
-
+
-
+
-
+
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/common/scripts/te_XML_FTmgrSuite.script
--- a/xml/libxml2libs/test/common/scripts/te_XML_FTmgrSuite.script Mon May 03 14:14:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-xPRINT Run all te_XML_FTmgr Suite Tests
-
-LOAD_SUITE te_XML_FTmgrSuite
-
-START_TESTCASE BASESRVCS-XML-CT-4927 // Variation support test case for PREQ 2051 based on feature manager
-//!@SYMTestCaseID BASESRVCS-XML-CT-4925
-//!@SYMTestCaseDesc Checking of inclusion and exclusion of XML components in the built ROM image
-//!@SYMTestPriority Normal
-//!@SYMTestActions Test whether a feature is supported or not
-//!@SYMTestExpectedResults The presence or absence of XML components needs to be found out
-//!@SYMDEF Not a defect fix. Part of PREQ 2051
-RUN_TEST_STEP 100 te_XML_FTmgrSuite XML_flagsStep c:\testdata\configs\te_XML_FTmgrsuite.ini XML_Flags_Test
-END_TESTCASE BASESRVCS-XML-CT-4927 // Variation support test case for PREQ 2051 based on feature manager
-
-PRINT Complate_te_XML_FTmgr_Tests
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/common/scripts/te_xml_ftmgrsuite.script
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/libxml2libs/test/common/scripts/te_xml_ftmgrsuite.script Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,31 @@
+//
+// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+xPRINT Run all te_XML_FTmgr Suite Tests
+
+LOAD_SUITE te_XML_FTmgrSuite
+
+START_TESTCASE BASESRVCS-XML-CT-4927 // Variation support test case for PREQ 2051 based on feature manager
+//!@SYMTestCaseID BASESRVCS-XML-CT-4925
+//!@SYMTestCaseDesc Checking of inclusion and exclusion of XML components in the built ROM image
+//!@SYMTestPriority Normal
+//!@SYMTestActions Test whether a feature is supported or not
+//!@SYMTestExpectedResults The presence or absence of XML components needs to be found out
+//!@SYMDEF Not a defect fix. Part of PREQ 2051
+RUN_TEST_STEP 100 te_XML_FTmgrSuite XML_flagsStep c:\testdata\configs\te_XML_FTmgrsuite.ini XML_Flags_Test
+END_TESTCASE BASESRVCS-XML-CT-4927 // Variation support test case for PREQ 2051 based on feature manager
+
+PRINT Complate_te_XML_FTmgr_Tests
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/common/testdata/te_XML_FTmgrsuite.ini
--- a/xml/libxml2libs/test/common/testdata/te_XML_FTmgrsuite.ini Mon May 03 14:14:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-
-[XML_Flags_Test]
-flag1=271083335
-flag2=271083271
-flag3=271083303
-
\ No newline at end of file
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/common/testdata/te_xml_ftmgrsuite.ini
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/libxml2libs/test/common/testdata/te_xml_ftmgrsuite.ini Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,6 @@
+
+[XML_Flags_Test]
+flag1=271083335
+flag2=271083271
+flag3=271083303
+
\ No newline at end of file
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/common/xml/te_XML_FTmgrSuite.xml
--- a/xml/libxml2libs/test/common/xml/te_XML_FTmgrSuite.xml Mon May 03 14:14:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-
-
- te_XML_FTmgrSuite
-
- te_XML_FTmgrTest
-
-
- te_XML_FTmgrSuite
-
-
-
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/common/xml/te_XML_FTmgrSuite/te_XML_FTmgrTest.xml
--- a/xml/libxml2libs/test/common/xml/te_XML_FTmgrSuite/te_XML_FTmgrTest.xml Mon May 03 14:14:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-
-
- te_XML_FTmgrTest
- 10000
-
-
-
-
- te_XML_FTmgrSuite
-
-
-
- \te_XML_FTmgr\testdata\te_XML_FTmgrSuite.ini
- c:\testdata\configs\te_XML_FTmgrSuite.ini
-
-
-
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/common/xml/te_XML_FTmgrSuite/te_xml_ftmgrtest.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/libxml2libs/test/common/xml/te_XML_FTmgrSuite/te_xml_ftmgrtest.xml Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,20 @@
+
+
+ te_XML_FTmgrTest
+ 10000
+
+
+
+
+ te_XML_FTmgrSuite
+
+
+
+ \te_XML_FTmgr\testdata\te_XML_FTmgrSuite.ini
+ c:\testdata\configs\te_XML_FTmgrSuite.ini
+
+
+
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/common/xml/te_XML_FTmgrSuite/testexecuteservers/te_XML_FTmgrSuite.xml
--- a/xml/libxml2libs/test/common/xml/te_XML_FTmgrSuite/testexecuteservers/te_XML_FTmgrSuite.xml Mon May 03 14:14:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-
-
- te_XML_FTmgrSuite
- te_XML_FTmgrSuite.mmp
- \te_XML_FTmgr\group\bld.inf
-
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/common/xml/te_XML_FTmgrSuite/testexecuteservers/te_xml_ftmgrsuite.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/libxml2libs/test/common/xml/te_XML_FTmgrSuite/testexecuteservers/te_xml_ftmgrsuite.xml Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,6 @@
+
+
+ te_XML_FTmgrSuite
+ te_XML_FTmgrSuite.mmp
+ \te_XML_FTmgr\group\bld.inf
+
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/common/xml/te_xml_ftmgrsuite.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/libxml2libs/test/common/xml/te_xml_ftmgrsuite.xml Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,11 @@
+
+
+ te_XML_FTmgrSuite
+
+ te_XML_FTmgrTest
+
+
+ te_XML_FTmgrSuite
+
+
+
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/tef/def130695/group/bld.inf
--- a/xml/libxml2libs/test/tef/def130695/group/bld.inf Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/test/tef/def130695/group/bld.inf Wed Jun 23 20:27:15 2010 +0530
@@ -19,9 +19,9 @@
PRJ_EXPORTS
PRJ_TESTEXPORTS
-../scripts/def130695_Suite.script z:/testdata/scripts/def130695_Suite.script
-../testdata/def130695_suite.ini z:/testdata/configs/def130695_Suite.ini
-./def130695_suite.iby /epoc32/rom/include/def130695_Suite.iby
+../scripts/def130695_suite.script c:/testdata/scripts/def130695_suite.script
+../testdata/def130695_suite.ini c:/testdata/configs/def130695_suite.ini
+./def130695_suite.iby /epoc32/rom/include/def130695_suite.iby
PRJ_MMPFILES
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/tef/def130695/group/def130695_suite.iby
--- a/xml/libxml2libs/test/tef/def130695/group/def130695_suite.iby Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/test/tef/def130695/group/def130695_suite.iby Wed Jun 23 20:27:15 2010 +0530
@@ -20,9 +20,6 @@
#include
-file=ABI_DIR\BUILD_DIR\def130695_Suite.exe sys\bin\def130695_Suite.exe
-
-data=DATAZ_\TestData\configs\def130695_Suite.ini TestData\configs\def130695_Suite.ini
-data=DATAZ_\TestData\scripts\def130695_Suite.script TestData\Scripts\def130695_Suite.Script
+file=ABI_DIR\BUILD_DIR\def130695_suite.exe sys\bin\def130695_suite.exe
#endif
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/tef/def130695/group/def130695_suite.mmp
--- a/xml/libxml2libs/test/tef/def130695/group/def130695_suite.mmp Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/test/tef/def130695/group/def130695_suite.mmp Wed Jun 23 20:27:15 2010 +0530
@@ -13,9 +13,9 @@
// Description:
//
- TARGET def130695_Suite.exe
- TARGETTYPE exe
- UID 0x1000007A 0x101F7784
+TARGET def130695_suite.exe
+TARGETTYPE exe
+UID 0x1000007A 0x101F7784
//Please add any change under here
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/tef/def130695/group/def130695_suite.pkg
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/libxml2libs/test/tef/def130695/group/def130695_suite.pkg Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,33 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description:
+;Def130695_suite.pkg
+
+; Languages -
+&EN
+
+; Installation header
+#{"Def130695_suite"}, (0x20032629), 1, 0, 0, TYPE=SA
+%{"Nokia Corporation"}
+:"Nokia Corporation"
+
+(0x101f7961),0, 0, 0 ,{"Series60ProductID"}
+; Install files
+;Test exes
+"\epoc32\release\armv5\urel\def130695_suite.exe" - "c:\sys\bin\def130695_suite.exe"
+
+;Scripts
+"..\scripts\def130695_suite.script" - "c:\testdata\scripts\def130695_suite.script"
+"..\TestData\def130695_suite.ini" - "c:\testdata\configs\def130695_suite.ini"
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/tef/def130695/scripts/def130695_Suite.script
--- a/xml/libxml2libs/test/tef/def130695/scripts/def130695_Suite.script Mon May 03 14:14:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-//
-// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-PRINT Run all def130695_ Suite Tests
-
-LOAD_SUITE def130695_Suite
-
-START_TESTCASE BASESRVCS-XML-CT-4925 // Libmxl2 vulnerability test
-//!@SYMTestCaseID BASESRVCS-XML-CT-4925
-//!@SYMTestCaseDesc Libxml2 -- vulnerabilities from Debian Security Advisory : XmlBufferResize( ) in libxml2_tree.c.
-//!@SYMTestPriority Normal
-//!@SYMTestActions Pass NULL to XmlBufferResize( )
-//!@SYMTestExpectedResults The API should recognize the NULL and report back in case of such vulnerable situations.
-//!@SYMDEF DEF130695
-RUN_TEST_STEP 100 def130695_Suite def130695_Step1 z:\testdata\configs\def130695_Suite.ini Section0
-END_TESTCASE BASESRVCS-XML-CT-4925 // Libmxl2 vulnerability test
-
-START_TESTCASE BASESRVCS-XML-CT-4926 // Libmxl2 vulnerability test
-//!@SYMTestCaseID BASESRVCS-XML-CT-4926
-//!@SYMTestCaseDesc Libxml2 -- vulnerabilities from Debian Security Advisory : XmlSax2Characters( ) in libxml2_tree.c.
-//!@SYMTestPriority Normal
-//!@SYMTestActions Pass NULL to XmlSax2Characters( )
-//!@SYMTestExpectedResults The API should recognize the NULL and report back in case of such vulnerable situations.
-//!@SYMDEF DEF130695
-RUN_TEST_STEP 100 def130695_Suite def130695_Step2 z:\testdata\configs\def130695_Suite.ini Section1
-END_TESTCASE BASESRVCS-XML-CT-4926 // Libmxl2 vulnerability test
-
-PRINT Complate_def130695__Tests
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/tef/def130695/scripts/def130695_suite.script
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/libxml2libs/test/tef/def130695/scripts/def130695_suite.script Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,41 @@
+//
+// Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+PRINT Run all def130695_ Suite Tests
+
+LOAD_SUITE def130695_Suite
+
+START_TESTCASE BASESRVCS-XML-CT-4925 // Libmxl2 vulnerability test
+//!@SYMTestCaseID BASESRVCS-XML-CT-4925
+//!@SYMTestCaseDesc Libxml2 -- vulnerabilities from Debian Security Advisory : XmlBufferResize( ) in libxml2_tree.c.
+//!@SYMTestPriority Normal
+//!@SYMTestActions Pass NULL to XmlBufferResize( )
+//!@SYMTestExpectedResults The API should recognize the NULL and report back in case of such vulnerable situations.
+//!@SYMDEF DEF130695
+RUN_TEST_STEP 100 def130695_Suite def130695_Step1 c:\testdata\configs\def130695_Suite.ini Section0
+END_TESTCASE BASESRVCS-XML-CT-4925 // Libmxl2 vulnerability test
+
+START_TESTCASE BASESRVCS-XML-CT-4926 // Libmxl2 vulnerability test
+//!@SYMTestCaseID BASESRVCS-XML-CT-4926
+//!@SYMTestCaseDesc Libxml2 -- vulnerabilities from Debian Security Advisory : XmlSax2Characters( ) in libxml2_tree.c.
+//!@SYMTestPriority Normal
+//!@SYMTestActions Pass NULL to XmlSax2Characters( )
+//!@SYMTestExpectedResults The API should recognize the NULL and report back in case of such vulnerable situations.
+//!@SYMDEF DEF130695
+RUN_TEST_STEP 100 def130695_Suite def130695_Step2 c:\testdata\configs\def130695_Suite.ini Section1
+END_TESTCASE BASESRVCS-XML-CT-4926 // Libmxl2 vulnerability test
+
+PRINT Complate_def130695__Tests
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/tef/group/bld.inf
--- a/xml/libxml2libs/test/tef/group/bld.inf Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/test/tef/group/bld.inf Wed Jun 23 20:27:15 2010 +0530
@@ -18,6 +18,6 @@
xmlengutilssmoketesttefsuite.mmp
PRJ_TESTEXPORTS
-../xmlengutilssmoketest/scripts/xmlengutilssmoketest.script z:/xml/scripts/xmlengutilssmoketest.script
+../xmlengutilssmoketest/scripts/xmlengutilssmoketest.script c:/xml/scripts/xmlengutilssmoketest.script
xmlengutilssmoketesttefsuite.iby /epoc32/rom/include/xmlengutilssmoketesttefsuite.iby
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/tef/group/te_headerstests.mmp
--- a/xml/libxml2libs/test/tef/group/te_headerstests.mmp Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/test/tef/group/te_headerstests.mmp Wed Jun 23 20:27:15 2010 +0530
@@ -18,10 +18,11 @@
TARGET t_xmlheaderstest.exe
TARGETTYPE exe
-SYSTEMINCLUDE /epoc32/include
-SYSTEMINCLUDE /epoc32/include/libc
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+OS_LAYER_LIBXML2_SYSTEMINCLUDE
+OS_LAYER_ESTLIB_SYSTEMINCLUDE
+
SYSTEMINCLUDE /epoc32/include/bafl
-SYSTEMINCLUDE /epoc32/include/stdapis/libxml2
SYSTEMINCLUDE /epoc32/include/xml
SYSTEMINCLUDE /epoc32/include/xml/dom
SYSTEMINCLUDE /epoc32/include/xml/plugins
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/tef/headerstests/src/te_headersteststep.cpp
--- a/xml/libxml2libs/test/tef/headerstests/src/te_headersteststep.cpp Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/test/tef/headerstests/src/te_headersteststep.cpp Wed Jun 23 20:27:15 2010 +0530
@@ -16,7 +16,7 @@
#include
#include "te_headersteststep.h"
-#include
+#include
//test S60_header_files
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/tef/xml2/group/bld.inf
--- a/xml/libxml2libs/test/tef/xml2/group/bld.inf Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/test/tef/xml2/group/bld.inf Wed Jun 23 20:27:15 2010 +0530
@@ -23,5 +23,5 @@
PRJ_TESTEXPORTS
xml2teftests.iby /epoc32/rom/include/xml2teftests.iby
-../scripts/xml2tefsuite.script z:/tef_xml2/xml2tefsuite.script
+../scripts/xml2tefsuite.script c:/tef_xml2/xml2tefsuite.script
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/tef/xml2/group/xml2teftests.iby
--- a/xml/libxml2libs/test/tef/xml2/group/xml2teftests.iby Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/test/tef/xml2/group/xml2teftests.iby Wed Jun 23 20:27:15 2010 +0530
@@ -22,6 +22,6 @@
#include
data=ABI_DIR\BUILD_DIR\texml2.exe sys\bin\texml2.exe
-data=DATAZ_\tef_xml2\xml2tefsuite.script tef_xml2\xml2tefsuite.script
+data=DATAC_\tef_xml2\xml2tefsuite.script tef_xml2\xml2tefsuite.script
#endif
\ No newline at end of file
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/tef/xml2/group/xml2teftests.pkg
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/libxml2libs/test/tef/xml2/group/xml2teftests.pkg Wed Jun 23 20:27:15 2010 +0530
@@ -0,0 +1,32 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description:
+;Xml2teftests.pkg
+
+; Languages -
+&EN
+
+; Installation header
+#{"Xml2teftests"}, (0x2003262A), 1, 0, 0, TYPE=SA
+%{"Nokia Corporation"}
+:"Nokia Corporation"
+
+(0x101f7961),0, 0, 0 ,{"Series60ProductID"}
+; Install files
+;Test exes
+"\epoc32\release\armv5\urel\texml2.exe" - "c:\Sys\Bin\texml2.exe"
+
+;Scripts
+"\epoc32\data\c\tef_xml2\xml2tefsuite.script" - "c:\tef_xml2\xml2tefsuite.script"
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/Readme.txt
--- a/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/Readme.txt Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/Readme.txt Wed Jun 23 20:27:15 2010 +0530
@@ -1,3 +1,3 @@
-Unzip Testing.zip and copy the following in epoc/winscw/c:
-i. TestFrameWork folder
+Unzip Testing.zip and copy the following in epoc/winscw/c:
+i. TestFrameWork folder
ii. Testing folder (obtained after unzipping Testing.zip)
\ No newline at end of file
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/DOMDeserializer.cfg
--- a/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/DOMDeserializer.cfg Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/DOMDeserializer.cfg Wed Jun 23 20:27:15 2010 +0530
@@ -1,325 +1,325 @@
-
-[Test]
-title DOMDesDef-DeserializeL-Buffer1
-create xmlengtester test
-test DOMDeserialize2 default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\default\DOMDesDefault-DeserializeL-Buffer1.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\default\DOMDesDefault-DeserializeL-Buffer1.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\default\DOMDesDefault-deserialized.ref
-delete test
-[Endtest]
-[Test]
-title DOMDesDef-DeserializeL-Buffer2
-create xmlengtester test
-test DOMDeserializeFromBuffer default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\default\DOMDesDefault-DeserializeL-Buffer2.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\default\DOMDesDefault-DeserializeL-Buffer2.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\default\DOMDesDefault-deserialized.ref
-delete test
-[Endtest]
-[Test]
-title DOMDesDef-DeserializeL-File1
-create xmlengtester test
-test DOMDeserialize default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\default\DOMDesDefault-DeserializeL-File1.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\default\DOMDesDefault-DeserializeL-File1.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\default\DOMDesDefault-deserialized.ref
-delete test
-[Endtest]
-[Test]
-title DOMDesDef-DeserializeL-File2
-create xmlengtester test
-test DOMDeserializeFromFile default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\default\DOMDesDefault-DeserializeL-File2.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\default\DOMDesDefault-DeserializeL-File2.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\default\DOMDesDefault-deserialized.ref
-delete test
-[Endtest]
-[Test]
-title DOMDesDef-DeserializeL-File3
-create xmlengtester test
-test DOMDeserializeFromFile2 default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\default\DOMDesDefault-DeserializeL-File3.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\default\DOMDesDefault-DeserializeL-File3.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\default\DOMDesDefault-deserialized.ref
-delete test
-[Endtest]
-[Test]
-title DOMDesDef-DeserializerL
-create xmlengtester test
-test TestDOMDeserializer default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\default\DOMDesDefault-DeserializerL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\default\DOMDesDefault-DeserializerL.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\default\DOMDesDefault-DeserializerL.ref
-delete test
-[Endtest]
-[Test]
-title DOMDesDef-SetInputBufferL
-create xmlengtester test
-test TestDOMSetInputBuffer default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\default\DOMDesDefault-SetInputBufferL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\default\DOMDesDefault-SetInputBufferL.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\default\DOMDesDefault-deserialized.ref
-delete test
-[Endtest]
-[Test]
-title DOMDesDef-SetInputFileL
-create xmlengtester test
-test TestDOMSetInputFile default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\default\DOMDesDefault-SetInputFileL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\default\DOMDesDefault-SetInputFileL.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\default\DOMDesDefault-deserialized.ref
-delete test
-[Endtest]
-[Test]
-title DOMDesGZIP-DeserializeL-Buffer1
-create xmlengtester test
-test DOMDeserialize2 gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-Buffer_001.gz c:\testing\data\xmleng\efute\output\domdeserializer\correct\gzip\DOMDesGZIP-DeserializeL-Buffer1.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\gzip\DOMDesGZIP-DeserializeL-Buffer1.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\gzip\DOMDesGZIP-deserialized.ref
-delete test
-[Endtest]
-[Test]
-title DOMDesGZIP-DeserializeL-Buffer2
-create xmlengtester test
-test DOMDeserializeFromBuffer gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-Buffer_001.gz c:\testing\data\xmleng\efute\output\domdeserializer\correct\gzip\DOMDesGZIP-DeserializeL-Buffer2.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\gzip\DOMDesGZIP-DeserializeL-Buffer2.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\gzip\DOMDesGZIP-deserialized.ref
-delete test
-[Endtest]
-[Test]
-title DOMDesGZIP-DeserializeL-File1
-create xmlengtester test
-test DOMDeserialize gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-File_001.gz c:\testing\data\xmleng\efute\output\domdeserializer\correct\gzip\DOMDesGZIP-DeserializeL-File1.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\gzip\DOMDesGZIP-DeserializeL-File1.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\gzip\DOMDesGZIP-deserialized.ref
-delete test
-[Endtest]
-[Test]
-title DOMDesGZIP-DeserializeL-File2
-create xmlengtester test
-test DOMDeserializeFromFile gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-File_001.gz c:\testing\data\xmleng\efute\output\domdeserializer\correct\gzip\DOMDesGZIP-DeserializeL-File2.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\gzip\DOMDesGZIP-DeserializeL-File2.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\gzip\DOMDesGZIP-deserialized.ref
-delete test
-[Endtest]
-[Test]
-title DOMDesGZIP-DeserializeL-File2
-create xmlengtester test
-test DOMDeserializeFromFile gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-File_001.gz c:\testing\data\xmleng\efute\output\domdeserializer\correct\gzip\DOMDesGZIP-DeserializeL-File2.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\gzip\DOMDesGZIP-DeserializeL-File2.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\gzip\DOMDesGZIP-deserialized.ref
-delete test
-[Endtest]
-[Test]
-title DOMDesGZIP-DeserializerL
-create xmlengtester test
-test TestDOMDeserializer gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-File_001.gz c:\testing\data\xmleng\efute\output\domdeserializer\correct\gzip\DOMDesGZIP-DeserializerL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\gzip\DOMDesGZIP-DeserializerL.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\gzip\DOMDesGZIP-DeserializerL.ref
-delete test
-[Endtest]
-[Test]
-title DOMDesGZIP-SetInputBufferL
-create xmlengtester test
-test TestDOMSetInputBuffer gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-Buffer_001.gz c:\testing\data\xmleng\efute\output\domdeserializer\correct\gzip\DOMDesGZIP-SetInputBufferL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\gzip\DOMDesGZIP-SetInputBufferL.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\gzip\DOMDesGZIP-deserialized.ref
-delete test
-[Endtest]
-[Test]
-title DOMDesGZIP-SetInputFileL
-create xmlengtester test
-test TestDOMSetInputFile gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-File_001.gz c:\testing\data\xmleng\efute\output\domdeserializer\correct\gzip\DOMDesGZIP-SetInputFileL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\gzip\DOMDesGZIP-SetInputFileL.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\gzip\DOMDesGZIP-deserialized.ref
-delete test
-[Endtest]
-[Test]
-title DOMDesXOP-DeserializeL-Buffer1
-create xmlengtester test
-test DOMDeserialize2 xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-DeserializeL-Buffer1.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-DeserializeL-Buffer1.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\xop\DOMDesXOP-deserialized.ref
-delete test
-[Endtest]
-[Test]
-title DOMDesXOP-DeserializeL-Buffer2
-create xmlengtester test
-test DOMDeserializeFromBuffer xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-DeserializeL-Buffer2.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-DeserializeL-Buffer2.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\xop\DOMDesXOP-deserialized.ref
-delete test
-[Endtest]
-[Test]
-title DOMDesXOP-DeserializeL-File1
-create xmlengtester test
-test DOMDeserialize xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-DeserializeL-File1.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-DeserializeL-File1.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\xop\DOMDesXOP-deserialized.ref
-delete test
-[Endtest]
-[Test]
-title DOMDesXOP-DeserializeL-File2
-create xmlengtester test
-test DOMDeserializeFromFile xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-DeserializeL-File2.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-DeserializeL-File2.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\xop\DOMDesXOP-deserialized.ref
-delete test
-[Endtest]
-[Test]
-title DOMDesXOP-DeserializeL-File3
-create xmlengtester test
-test DOMDeserializeFromFile2 xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-DeserializeL-File3.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-DeserializeL-File3.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\xop\DOMDesXOP-deserialized.ref
-delete test
-[Endtest]
-[Test]
-title DOMDesXOP-ExternalDataL
-create xmlengtester test
-test TestDOMExternalData xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_002.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-ExternalDataL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-ExternalDataL.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\xop\DOMDesXOP-external-data.ref
-delete test
-[Endtest]
-[Test]
-title DOMDesXOP-IdNotUnique
-create xmlengtester test
-test DOMDeserializeFromBuffer xop c:\testing\data\xmleng\efute\input\deserializer\dirty\xop\IdNotUnique.xml c:\testing\data\xmleng\efute\output\domdeserializer\dirty\xop\DOMDesXOP-IdNotUnique.out -11
-delete test
-[Endtest]
-
-
-
-
-[Test]
-title DOMDesXOP-IncludeChildrens
-create xmlengtester test
-test DOMDeserialize xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\IncludeChildrens.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-IncludeChildrens.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-IncludeChildrens.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\xop\DOMDesXOP-IncludeChildrens.ref
-delete test
-[Endtest]
-[Test]
-title DOMDesXOP-DeserializerL
-create xmlengtester test
-test TestDOMDeserializer xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-DeserializerL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-DeserializerL.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\xop\DOMDesXOP-DeserializerL.ref
-delete test
-[Endtest]
-[Test]
-title DOMDesXOP-NamespaceHref
-create xmlengtester test
-test DOMDeserialize xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\NamespaceHref.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-NamespaceHref.out -32381
-delete test
-[Endtest]
-[Test]
-title DOMDesXOP-NoHref
-create xmlengtester test
-test DOMDeserialize xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\NoHref.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-NoHref.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-NoHref.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\xop\DOMDesXOP-NoHref.ref
-delete test
-[Endtest]
-[Test]
-title DesXOP-PrefixXop
-create xmlengtester test
-test DOMDeserialize xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\PrefixXop.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-PrefixXop.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-PrefixXop.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\xop\DOMDesXOP-PrefixXop.ref
-delete test
-[Endtest]
-[Test]
-title DOMDesXOP-SetInputBufferL
-create xmlengtester test
-test TestDOMSetInputBuffer xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-SetInputBufferL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-SetInputBufferL.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\xop\DOMDesXOP-deserialized.ref
-delete test
-[Endtest]
-[Test]
-title DOMDesXOP-SetInputFileL
-create xmlengtester test
-test TestDOMSetInputFile xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-SetInputFileL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-SetInputFileL.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\xop\DOMDesXOP-deserialized.ref
-delete test
-[Endtest]
-
-[Test]
-title DOMDesXOP-SpaceInHref
-create xmlengtester test
-test DOMDeserializeFromBuffer xop c:\testing\data\xmleng\efute\input\deserializer\dirty\xop\SpaceInHref.xml c:\testing\data\xmleng\efute\output\domdeserializer\dirty\xop\DOMDesXOP-SpaceInHref.out -32385
-delete test
-[Endtest]
-
-
-
-[Test]
-title DOMDesXOP-UseExternalDataL
-create xmlengtester test
-test TestDOMUseExternalData xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_002.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-UseExternalDataL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-UseExternalDataL.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\xop\DOMDesXOP-external-data.ref
-delete test
-[Endtest]
-[Test]
-title DOMDesInfosetXOP-DeserializeL-Buffer1
-create xmlengtester test
-test DOMDeserialize2 infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-DeserializeL-Buffer1.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-DeserializeL-Buffer1.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-deserialized.ref
-delete test
-[Endtest]
-[Test]
-title DOMDesInfosetXOP-DeserializeL-Buffer2
-create xmlengtester test
-test DOMDeserializeFromBuffer infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-DeserializeL-Buffer2.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-DeserializeL-Buffer2.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-deserialized.ref
-delete test
-[Endtest]
-[Test]
-title DOMDesInfosetXOP-DeserializeL-File1
-create xmlengtester test
-test DOMDeserialize infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-DeserializeL-File1.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-DeserializeL-File1.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-deserialized.ref
-delete test
-[Endtest]
-[Test]
-title DOMDesInfosetXOP-DeserializeL-File2
-create xmlengtester test
-test DOMDeserializeFromFile infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-DeserializeL-File2.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-DeserializeL-File2.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-deserialized.ref
-delete test
-[Endtest]
-[Test]
-title DOMDesInfosetXOP-DeserializeL-File3
-create xmlengtester test
-test DOMDeserializeFromFile2 infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-DeserializeL-File3.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-DeserializeL-File3.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-deserialized.ref
-delete test
-[Endtest]
-[Test]
-title DOMDesInfosetXOP-ExternalDataL
-create xmlengtester test
-test TestDOMExternalData infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_002.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-ExternalDataL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-ExternalDataL.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-external-data.ref
-delete test
-[Endtest]
-[Test]
-title DOMDesInfosetXOP-IncludeChildrens
-create xmlengtester test
-test DOMDeserialize infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\IncludeChildrens.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-IncludeChildrens.out -32385
-delete test
-[Endtest]
-[Test]
-title DOMDesInfosetXOP-DeserializerL
-create xmlengtester test
-test TestDOMDeserializer infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-DeserializerL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-DeserializerL.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-DeserializerL.ref
-delete test
-[Endtest]
-[Test]
-title DOMDesInfosetXOP-NamespaceHref
-create xmlengtester test
-test DOMDeserialize infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\NamespaceHref.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-NamespaceHref.out -32381
-delete test
-[Endtest]
-[Test]
-title DOMDesInfosetXOP-NoHref
-create xmlengtester test
-test DOMDeserialize infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\NoHref.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-NoHref.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-NoHref.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-NoHref.ref
-delete test
-[Endtest]
-[Test]
-title DOMDesInfosetXOP-PrefixXop
-create xmlengtester test
-test DOMDeserialize infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\PrefixXop.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-PrefixXop.out -32385
-delete test
-[Endtest]
-[Test]
-title DOMDesInfosetXOP-SetInputBufferL
-create xmlengtester test
-test TestDOMSetInputBuffer infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-SetInputBufferL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-SetInputBufferL.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-deserialized.ref
-delete test
-[Endtest]
-[Test]
-title DOMDesInfosetXOP-SetInputFileL
-create xmlengtester test
-test TestDOMSetInputFile infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-SetInputFileL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-SetInputFileL.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-deserialized.ref
-delete test
-[Endtest]
-[Test]
-title DOMDesInfosetXOP-UseExternalDataL
-create xmlengtester test
-test TestDOMUseExternalData infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_002.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-UseExternalDataL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-UseExternalDataL.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-external-data.ref
-delete test
-[Endtest]
\ No newline at end of file
+
+[Test]
+title DOMDesDef-DeserializeL-Buffer1
+create xmlengtester test
+test DOMDeserialize2 default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\default\DOMDesDefault-DeserializeL-Buffer1.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\default\DOMDesDefault-DeserializeL-Buffer1.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\default\DOMDesDefault-deserialized.ref
+delete test
+[Endtest]
+[Test]
+title DOMDesDef-DeserializeL-Buffer2
+create xmlengtester test
+test DOMDeserializeFromBuffer default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\default\DOMDesDefault-DeserializeL-Buffer2.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\default\DOMDesDefault-DeserializeL-Buffer2.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\default\DOMDesDefault-deserialized.ref
+delete test
+[Endtest]
+[Test]
+title DOMDesDef-DeserializeL-File1
+create xmlengtester test
+test DOMDeserialize default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\default\DOMDesDefault-DeserializeL-File1.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\default\DOMDesDefault-DeserializeL-File1.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\default\DOMDesDefault-deserialized.ref
+delete test
+[Endtest]
+[Test]
+title DOMDesDef-DeserializeL-File2
+create xmlengtester test
+test DOMDeserializeFromFile default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\default\DOMDesDefault-DeserializeL-File2.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\default\DOMDesDefault-DeserializeL-File2.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\default\DOMDesDefault-deserialized.ref
+delete test
+[Endtest]
+[Test]
+title DOMDesDef-DeserializeL-File3
+create xmlengtester test
+test DOMDeserializeFromFile2 default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\default\DOMDesDefault-DeserializeL-File3.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\default\DOMDesDefault-DeserializeL-File3.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\default\DOMDesDefault-deserialized.ref
+delete test
+[Endtest]
+[Test]
+title DOMDesDef-DeserializerL
+create xmlengtester test
+test TestDOMDeserializer default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\default\DOMDesDefault-DeserializerL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\default\DOMDesDefault-DeserializerL.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\default\DOMDesDefault-DeserializerL.ref
+delete test
+[Endtest]
+[Test]
+title DOMDesDef-SetInputBufferL
+create xmlengtester test
+test TestDOMSetInputBuffer default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\default\DOMDesDefault-SetInputBufferL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\default\DOMDesDefault-SetInputBufferL.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\default\DOMDesDefault-deserialized.ref
+delete test
+[Endtest]
+[Test]
+title DOMDesDef-SetInputFileL
+create xmlengtester test
+test TestDOMSetInputFile default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\default\DOMDesDefault-SetInputFileL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\default\DOMDesDefault-SetInputFileL.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\default\DOMDesDefault-deserialized.ref
+delete test
+[Endtest]
+[Test]
+title DOMDesGZIP-DeserializeL-Buffer1
+create xmlengtester test
+test DOMDeserialize2 gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-Buffer_001.gz c:\testing\data\xmleng\efute\output\domdeserializer\correct\gzip\DOMDesGZIP-DeserializeL-Buffer1.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\gzip\DOMDesGZIP-DeserializeL-Buffer1.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\gzip\DOMDesGZIP-deserialized.ref
+delete test
+[Endtest]
+[Test]
+title DOMDesGZIP-DeserializeL-Buffer2
+create xmlengtester test
+test DOMDeserializeFromBuffer gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-Buffer_001.gz c:\testing\data\xmleng\efute\output\domdeserializer\correct\gzip\DOMDesGZIP-DeserializeL-Buffer2.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\gzip\DOMDesGZIP-DeserializeL-Buffer2.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\gzip\DOMDesGZIP-deserialized.ref
+delete test
+[Endtest]
+[Test]
+title DOMDesGZIP-DeserializeL-File1
+create xmlengtester test
+test DOMDeserialize gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-File_001.gz c:\testing\data\xmleng\efute\output\domdeserializer\correct\gzip\DOMDesGZIP-DeserializeL-File1.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\gzip\DOMDesGZIP-DeserializeL-File1.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\gzip\DOMDesGZIP-deserialized.ref
+delete test
+[Endtest]
+[Test]
+title DOMDesGZIP-DeserializeL-File2
+create xmlengtester test
+test DOMDeserializeFromFile gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-File_001.gz c:\testing\data\xmleng\efute\output\domdeserializer\correct\gzip\DOMDesGZIP-DeserializeL-File2.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\gzip\DOMDesGZIP-DeserializeL-File2.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\gzip\DOMDesGZIP-deserialized.ref
+delete test
+[Endtest]
+[Test]
+title DOMDesGZIP-DeserializeL-File2
+create xmlengtester test
+test DOMDeserializeFromFile gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-File_001.gz c:\testing\data\xmleng\efute\output\domdeserializer\correct\gzip\DOMDesGZIP-DeserializeL-File2.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\gzip\DOMDesGZIP-DeserializeL-File2.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\gzip\DOMDesGZIP-deserialized.ref
+delete test
+[Endtest]
+[Test]
+title DOMDesGZIP-DeserializerL
+create xmlengtester test
+test TestDOMDeserializer gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-File_001.gz c:\testing\data\xmleng\efute\output\domdeserializer\correct\gzip\DOMDesGZIP-DeserializerL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\gzip\DOMDesGZIP-DeserializerL.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\gzip\DOMDesGZIP-DeserializerL.ref
+delete test
+[Endtest]
+[Test]
+title DOMDesGZIP-SetInputBufferL
+create xmlengtester test
+test TestDOMSetInputBuffer gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-Buffer_001.gz c:\testing\data\xmleng\efute\output\domdeserializer\correct\gzip\DOMDesGZIP-SetInputBufferL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\gzip\DOMDesGZIP-SetInputBufferL.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\gzip\DOMDesGZIP-deserialized.ref
+delete test
+[Endtest]
+[Test]
+title DOMDesGZIP-SetInputFileL
+create xmlengtester test
+test TestDOMSetInputFile gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-File_001.gz c:\testing\data\xmleng\efute\output\domdeserializer\correct\gzip\DOMDesGZIP-SetInputFileL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\gzip\DOMDesGZIP-SetInputFileL.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\gzip\DOMDesGZIP-deserialized.ref
+delete test
+[Endtest]
+[Test]
+title DOMDesXOP-DeserializeL-Buffer1
+create xmlengtester test
+test DOMDeserialize2 xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-DeserializeL-Buffer1.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-DeserializeL-Buffer1.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\xop\DOMDesXOP-deserialized.ref
+delete test
+[Endtest]
+[Test]
+title DOMDesXOP-DeserializeL-Buffer2
+create xmlengtester test
+test DOMDeserializeFromBuffer xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-DeserializeL-Buffer2.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-DeserializeL-Buffer2.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\xop\DOMDesXOP-deserialized.ref
+delete test
+[Endtest]
+[Test]
+title DOMDesXOP-DeserializeL-File1
+create xmlengtester test
+test DOMDeserialize xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-DeserializeL-File1.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-DeserializeL-File1.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\xop\DOMDesXOP-deserialized.ref
+delete test
+[Endtest]
+[Test]
+title DOMDesXOP-DeserializeL-File2
+create xmlengtester test
+test DOMDeserializeFromFile xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-DeserializeL-File2.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-DeserializeL-File2.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\xop\DOMDesXOP-deserialized.ref
+delete test
+[Endtest]
+[Test]
+title DOMDesXOP-DeserializeL-File3
+create xmlengtester test
+test DOMDeserializeFromFile2 xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-DeserializeL-File3.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-DeserializeL-File3.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\xop\DOMDesXOP-deserialized.ref
+delete test
+[Endtest]
+[Test]
+title DOMDesXOP-ExternalDataL
+create xmlengtester test
+test TestDOMExternalData xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_002.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-ExternalDataL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-ExternalDataL.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\xop\DOMDesXOP-external-data.ref
+delete test
+[Endtest]
+[Test]
+title DOMDesXOP-IdNotUnique
+create xmlengtester test
+test DOMDeserializeFromBuffer xop c:\testing\data\xmleng\efute\input\deserializer\dirty\xop\IdNotUnique.xml c:\testing\data\xmleng\efute\output\domdeserializer\dirty\xop\DOMDesXOP-IdNotUnique.out -11
+delete test
+[Endtest]
+
+
+
+
+[Test]
+title DOMDesXOP-IncludeChildrens
+create xmlengtester test
+test DOMDeserialize xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\IncludeChildrens.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-IncludeChildrens.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-IncludeChildrens.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\xop\DOMDesXOP-IncludeChildrens.ref
+delete test
+[Endtest]
+[Test]
+title DOMDesXOP-DeserializerL
+create xmlengtester test
+test TestDOMDeserializer xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-DeserializerL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-DeserializerL.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\xop\DOMDesXOP-DeserializerL.ref
+delete test
+[Endtest]
+[Test]
+title DOMDesXOP-NamespaceHref
+create xmlengtester test
+test DOMDeserialize xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\NamespaceHref.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-NamespaceHref.out -32381
+delete test
+[Endtest]
+[Test]
+title DOMDesXOP-NoHref
+create xmlengtester test
+test DOMDeserialize xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\NoHref.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-NoHref.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-NoHref.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\xop\DOMDesXOP-NoHref.ref
+delete test
+[Endtest]
+[Test]
+title DesXOP-PrefixXop
+create xmlengtester test
+test DOMDeserialize xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\PrefixXop.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-PrefixXop.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-PrefixXop.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\xop\DOMDesXOP-PrefixXop.ref
+delete test
+[Endtest]
+[Test]
+title DOMDesXOP-SetInputBufferL
+create xmlengtester test
+test TestDOMSetInputBuffer xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-SetInputBufferL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-SetInputBufferL.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\xop\DOMDesXOP-deserialized.ref
+delete test
+[Endtest]
+[Test]
+title DOMDesXOP-SetInputFileL
+create xmlengtester test
+test TestDOMSetInputFile xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-SetInputFileL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-SetInputFileL.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\xop\DOMDesXOP-deserialized.ref
+delete test
+[Endtest]
+
+[Test]
+title DOMDesXOP-SpaceInHref
+create xmlengtester test
+test DOMDeserializeFromBuffer xop c:\testing\data\xmleng\efute\input\deserializer\dirty\xop\SpaceInHref.xml c:\testing\data\xmleng\efute\output\domdeserializer\dirty\xop\DOMDesXOP-SpaceInHref.out -32385
+delete test
+[Endtest]
+
+
+
+[Test]
+title DOMDesXOP-UseExternalDataL
+create xmlengtester test
+test TestDOMUseExternalData xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_002.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-UseExternalDataL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\xop\DOMDesXOP-UseExternalDataL.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\xop\DOMDesXOP-external-data.ref
+delete test
+[Endtest]
+[Test]
+title DOMDesInfosetXOP-DeserializeL-Buffer1
+create xmlengtester test
+test DOMDeserialize2 infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-DeserializeL-Buffer1.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-DeserializeL-Buffer1.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-deserialized.ref
+delete test
+[Endtest]
+[Test]
+title DOMDesInfosetXOP-DeserializeL-Buffer2
+create xmlengtester test
+test DOMDeserializeFromBuffer infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-DeserializeL-Buffer2.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-DeserializeL-Buffer2.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-deserialized.ref
+delete test
+[Endtest]
+[Test]
+title DOMDesInfosetXOP-DeserializeL-File1
+create xmlengtester test
+test DOMDeserialize infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-DeserializeL-File1.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-DeserializeL-File1.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-deserialized.ref
+delete test
+[Endtest]
+[Test]
+title DOMDesInfosetXOP-DeserializeL-File2
+create xmlengtester test
+test DOMDeserializeFromFile infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-DeserializeL-File2.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-DeserializeL-File2.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-deserialized.ref
+delete test
+[Endtest]
+[Test]
+title DOMDesInfosetXOP-DeserializeL-File3
+create xmlengtester test
+test DOMDeserializeFromFile2 infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-DeserializeL-File3.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-DeserializeL-File3.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-deserialized.ref
+delete test
+[Endtest]
+[Test]
+title DOMDesInfosetXOP-ExternalDataL
+create xmlengtester test
+test TestDOMExternalData infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_002.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-ExternalDataL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-ExternalDataL.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-external-data.ref
+delete test
+[Endtest]
+[Test]
+title DOMDesInfosetXOP-IncludeChildrens
+create xmlengtester test
+test DOMDeserialize infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\IncludeChildrens.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-IncludeChildrens.out -32385
+delete test
+[Endtest]
+[Test]
+title DOMDesInfosetXOP-DeserializerL
+create xmlengtester test
+test TestDOMDeserializer infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-DeserializerL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-DeserializerL.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-DeserializerL.ref
+delete test
+[Endtest]
+[Test]
+title DOMDesInfosetXOP-NamespaceHref
+create xmlengtester test
+test DOMDeserialize infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\NamespaceHref.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-NamespaceHref.out -32381
+delete test
+[Endtest]
+[Test]
+title DOMDesInfosetXOP-NoHref
+create xmlengtester test
+test DOMDeserialize infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\NoHref.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-NoHref.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-NoHref.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-NoHref.ref
+delete test
+[Endtest]
+[Test]
+title DOMDesInfosetXOP-PrefixXop
+create xmlengtester test
+test DOMDeserialize infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\PrefixXop.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-PrefixXop.out -32385
+delete test
+[Endtest]
+[Test]
+title DOMDesInfosetXOP-SetInputBufferL
+create xmlengtester test
+test TestDOMSetInputBuffer infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-SetInputBufferL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-SetInputBufferL.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-deserialized.ref
+delete test
+[Endtest]
+[Test]
+title DOMDesInfosetXOP-SetInputFileL
+create xmlengtester test
+test TestDOMSetInputFile infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-SetInputFileL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-SetInputFileL.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-deserialized.ref
+delete test
+[Endtest]
+[Test]
+title DOMDesInfosetXOP-UseExternalDataL
+create xmlengtester test
+test TestDOMUseExternalData infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_002.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-UseExternalDataL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-UseExternalDataL.out c:\testing\data\xmleng\efute\pattern\domdeserializer\correct\infosetxop\DOMDesInfosetXOP-external-data.ref
+delete test
+[Endtest]
\ No newline at end of file
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/Deserializer.cfg
--- a/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/Deserializer.cfg Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/Deserializer.cfg Wed Jun 23 20:27:15 2010 +0530
@@ -1,614 +1,615 @@
-
-[Test]
-title DesDefault-BufferConvinience
-create xmlengtester test
-test TestDesBufferConvinience default C:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_002.xml c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-BufferConvinience_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-BufferConvinience_002.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-BufferConvinience_001.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\default\DesDefault-deserialized.ref
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-BufferConvinience_002.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\default\DesDefault-deserialized_002.ref
-delete test
-[Endtest]
-
-[Test]
-title DesDefault-DeserializeL-Buffer1
-create xmlengtester test
-test Deserialize2 default C:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml C:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-DeserializeL-Buffer1.out
-test CompareFiles C:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-DeserializeL-Buffer1.out C:\testing\data\xmleng\efute\pattern\deserializer\correct\default\DesDefault-deserialized.ref
-delete test
-[Endtest]
-
-[Test]
-title DesDefault-DeserializeL-Buffer2
-create xmlengtester test
-test DeserializeFromBuffer default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-DeserializeL-Buffer2.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-DeserializeL-Buffer2.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\default\DesDefault-deserialized.ref
-delete test
-[Endtest]
-
-[Test]
-title DesDefault-DeserializeL-File1
-create xmlengtester test
-test Deserialize default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-DeserializeL-File1.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-DeserializeL-File1.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\default\DesDefault-deserialized.ref
-delete test
-[Endtest]
-
-[Test]
-title DesDefault-DeserializeL-File2
-create xmlengtester test
-test DeserializeFromFile default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-DeserializeL-File2.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-DeserializeL-File2.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\default\DesDefault-deserialized.ref
-delete test
-[Endtest]
-
-[Test]
-title DesDefault-DeserializerBuffer
-create xmlengtester test
-test TestDeserializerBuffer default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-DeserializerBuffer.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-DeserializerBuffer.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\default\DesDefault-DeserializerL.ref
-delete test
-[Endtest]
-
-[Test]
-title DesDefault-DeserializerL
-create xmlengtester test
-test TestDeserializer default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-DeserializerL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-DeserializerL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\default\DesDefault-DeserializerL.ref
-delete test
-[Endtest]
-
-[Test]
-title DesDefault-DisableFeatureL
-create xmlengtester test
-test TestDisableFeature default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-DisableFeatureL_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-DisableFeatureL_002.out
-delete test
-[Endtest]
-
-[Test]
-title DesDefault-EnableFeatureL
-create xmlengtester test
-test TestEnableFeature default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-EnableFeatureL_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-EnableFeatureL_002.out
-delete test
-[Endtest]
-
-[Test]
-title DesDefault-FileConvinience
-create xmlengtester test
-test TestDesFileConvinience default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_002.xml c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-FileConvinience_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-FileConvinience_002.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-FileConvinience_001.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\default\DesDefault-deserialized.ref
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-FileConvinience_002.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\default\DesDefault-deserialized_002.ref
-delete test
-[Endtest]
-
-[Test]
-title DesDefault-IsFeatureEnabledL
-create xmlengtester test
-test TestIsFeatureEnabled default c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-IsFeatureEnabledL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-IsFeatureEnabledL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\default\DesDefault-IsFeatureEnabledL.ref
-delete test
-[Endtest]
-
-[Test]
-title DesDefault-SetContentHandlerL
-create xmlengtester test
-test TestSetContentHandler default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-SetContentHandlerL_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-SetContentHandlerL_002.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-SetContentHandlerL_001.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\default\DesDefault-deserialized.ref
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-SetContentHandlerL_002.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\default\DesDefault-deserialized.ref
-delete test
-[Endtest]
-
-[Test]
-title DesDefault-SetInputBufferL
-create xmlengtester test
-test TestSetInputBuffer default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-SetInputBufferL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-SetInputBufferL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\default\DesDefault-deserialized.ref
-delete test
-[Endtest]
-
-[Test]
-title DesDefault-SetInputFileL
-create xmlengtester test
-test TestSetInputFile default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-SetInputFileL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-SetInputFileL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\default\DesDefault-deserialized.ref
-delete test
-[Endtest]
-
-[Test]
-title DesGZIP-BufferConvinience
-create xmlengtester test
-test TestDesBufferConvinience gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-Buffer_001.gz c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-Buffer_002.gz c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-BufferConvinience_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-BufferConvinience_002.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-BufferConvinience_001.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\gzip\DesGZIP-deserialized.ref
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-BufferConvinience_002.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\gzip\DesGZIP-BufferConvinience_002.ref
-delete test
-[Endtest]
-
-[Test]
-title DesGZIP-DeserializeL-Buffer1
-create xmlengtester test
-test Deserialize2 gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-Buffer_001.gz c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-DeserializeL-Buffer1.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-DeserializeL-Buffer1.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\gzip\DesGZIP-deserialized.ref
-delete test
-[Endtest]
-
-[Test]
-title DesGZIP-DeserializeL-Buffer2
-create xmlengtester test
-test DeserializeFromBuffer gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-Buffer_001.gz c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-DeserializeL-Buffer2.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-DeserializeL-Buffer2.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\gzip\DesGZIP-deserialized.ref
-delete test
-[Endtest]
-
-[Test]
-title DesGZIP-DeserializeL-File1
-create xmlengtester test
-test Deserialize gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-File_001.gz c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-DeserializeL-File1.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-DeserializeL-File1.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\gzip\DesGZIP-deserialized.ref
-delete test
-[Endtest]
-
-[Test]
-title DesGZIP-DeserializeL-File2
-create xmlengtester test
-test DeserializeFromFile gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-File_001.gz c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-DeserializeL-File2.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-DeserializeL-File2.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\gzip\DesGZIP-deserialized.ref
-delete test
-[Endtest]
-
-[Test]
-title DesGZIP-DeserializerBuffer
-create xmlengtester test
-test TestDeserializerBuffer gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-Buffer_001.gz c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-DeserializerBuffer.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-DeserializerBuffer.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\gzip\DesGZIP-DeserializerL.ref
-delete test
-[Endtest]
-
-[Test]
-title DesGZIP-DeserializerL
-create xmlengtester test
-test TestDeserializer gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-File_001.gz c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-DeserializerL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-DeserializerL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\gzip\DesGZIP-DeserializerL.ref
-delete test
-[Endtest]
-
-[Test]
-title DesGZIP-DisableFeatureL
-create xmlengtester test
-test TestDisableFeature gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-File_001.gz c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-DisableFeatureL_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-DisableFeatureL_002.out
-delete test
-[Endtest]
-
-[Test]
-title DesGZIP-EnableFeatureL
-create xmlengtester test
-test TestEnableFeature gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-File_001.gz c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-EnableFeatureL_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-EnableFeatureL_002.out
-delete test
-[Endtest]
-
-[Test]
-title DesGZIP-FileConvinience
-create xmlengtester test
-test TestDesFileConvinience gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-File_001.gz c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-File_002.gz c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-FileConvinience_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-FileConvinience_002.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-FileConvinience_001.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\gzip\DesGZIP-deserialized.ref
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-FileConvinience_002.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\gzip\DesGZIP-FileConvinience_002.ref
-delete test
-[Endtest]
-
-[Test]
-title DesGZIP-IsFeatureEnabledL
-create xmlengtester test
-test TestIsFeatureEnabled gzip c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-IsFeatureEnabledL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-IsFeatureEnabledL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\gzip\DesGZIP-IsFeatureEnabledL.ref
-delete test
-[Endtest]
-
-[Test]
-title DesGZIP-SetContentHandlerL
-create xmlengtester test
-test TestSetContentHandler gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-File_001.gz c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-SetContentHandlerL_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-SetContentHandlerL_002.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-SetContentHandlerL_001.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\gzip\DesGZIP-deserialized.ref
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-SetContentHandlerL_002.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\gzip\DesGZIP-deserialized.ref
-delete test
-[Endtest]
-
-[Test]
-title DesGZIP-SetInputBufferL
-create xmlengtester test
-test TestSetInputBuffer gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-Buffer_001.gz c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-SetInputBufferL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-SetInputBufferL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\gzip\DesGZIP-deserialized.ref
-delete test
-[Endtest]
-
-[Test]
-title DesGZIP-SetInputFileL
-create xmlengtester test
-test TestSetInputFile gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-File_001.gz c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-SetInputFileL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-SetInputFileL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\gzip\DesGZIP-deserialized.ref
-delete test
-[Endtest]
-
-[Test]
-title DesXOP-BufferConvinience
-create xmlengtester test
-test TestDesBufferConvinience xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_003.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-BufferConvinience_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-BufferConvinience_002.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-BufferConvinience_001.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-deserialized.ref
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-BufferConvinience_002.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-deserialized_003.ref
-delete test
-[Endtest]
-
-[Test]
-title DesXOP-DefaultNamespace
-create xmlengtester test
-test Deserialize xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\DefaultNamespace.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-DefaultNamespace.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-DefaultNamespace.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-DefaultNamespace.ref
-delete test
-[Endtest]
-
-[Test]
-title DesXOP-DeserializeL-Buffer1
-create xmlengtester test
-test Deserialize2 xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-DeserializeL-Buffer1.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-DeserializeL-Buffer1.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-deserialized.ref
-delete test
-[Endtest]
-
-[Test]
-title DesXOP-DeserializeL-Buffer2
-create xmlengtester test
-test DeserializeFromBuffer xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-DeserializeL-Buffer2.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-DeserializeL-Buffer2.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-deserialized.ref
-delete test
-[Endtest]
-
-[Test]
-title DesXOP-DeserializeL-File1
-create xmlengtester test
-test Deserialize xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-DeserializeL-File1.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-DeserializeL-File1.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-deserialized.ref
-delete test
-[Endtest]
-
-[Test]
-title DesXOP-DeserializeL-File2
-create xmlengtester test
-test DeserializeFromFile xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-DeserializeL-File2.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-DeserializeL-File2.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-deserialized.ref
-delete test
-[Endtest]
-
-[Test]
-title DesXOP-DeserializerBuffer
-create xmlengtester test
-test TestDeserializerBuffer xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-DeserializerBuffer.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-DeserializerBuffer.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-DeserializerL.ref
-delete test
-[Endtest]
-
-[Test]
-title DesXOP-DeserializerL
-create xmlengtester test
-test TestDeserializer xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-DeserializerL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-DeserializerL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-DeserializerL.ref
-delete test
-[Endtest]
-
-[Test]
-title DesXOP-DisableFeatureL
-create xmlengtester test
-test TestDisableFeature xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-DisableFeatureL_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-DisableFeatureL_002.out
-delete test
-[Endtest]
-
-[Test]
-title DesXOP-EnableFeatureL
-create xmlengtester test
-test TestEnableFeature xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-EnableFeatureL_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-EnableFeatureL_002.out
-delete test
-[Endtest]
-
-[Test]
-title DesXOP-ExternalDataL
-create xmlengtester test
-test TestExternalData xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_002.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-ExternalDataL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-ExternalDataL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-external-data.ref
-delete test
-[Endtest]
-
-[Test]
-title DesXOP-FileConvinience
-create xmlengtester test
-test TestDesFileConvinience xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_003.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-FileConvinience_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-FileConvinience_002.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-FileConvinience_001.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-deserialized.ref
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-FileConvinience_002.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-deserialized_003.ref
-delete test
-[Endtest]
-
-[Test]
-title DesXOP-IdNotMatchData
-create xmlengtester test
-test DeserializeFromBuffer xop c:\testing\data\xmleng\efute\input\deserializer\dirty\xop\IdNotMatchData.xml c:\testing\data\xmleng\efute\output\deserializer\dirty\xop\DesXOP-IdNotMatchData.out -32385
-delete test
-[Endtest]
-
-[Test]
-title DesXOP-IdNotUnique
-create xmlengtester test
-test DeserializeFromBuffer xop c:\testing\data\xmleng\efute\input\deserializer\dirty\xop\IdNotUnique.xml c:\testing\data\xmleng\efute\output\deserializer\dirty\xop\DesXOP-IdNotUnique.out -11
-delete test
-[Endtest]
-
-
-
-[Test]
-title DesXOP-IncludeChildrens
-create xmlengtester test
-test Deserialize xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\IncludeChildrens.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-IncludeChildrens.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-IncludeChildrens.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-IncludeChildrens.ref
-delete test
-[Endtest]
-
-[Test]
-title DesXOP-IsFeatureEnabledL
-create xmlengtester test
-test TestIsFeatureEnabled xop c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-IsFeatureEnabledL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-IsFeatureEnabledL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-IsFeatureEnabledL.ref
-delete test
-[Endtest]
-
-[Test]
-title DesXOP-NamespaceHref
-create xmlengtester test
-test Deserialize xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\NamespaceHref.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-NamespaceHref.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-NamespaceHref.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-NamespaceHref.ref
-delete test
-[Endtest]
-
-[Test]
-title DesXOP-NamespaceOnHref
-create xmlengtester test
-test Deserialize xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\NamespaceOnHref.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-NamespaceOnHref.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-NamespaceOnHref.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-NamespaceOnHref.ref
-delete test
-[Endtest]
-
-[Test]
-title DesXOP-NoHref
-create xmlengtester test
-test Deserialize xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\NoHref.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-NoHref.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-NoHref.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-NoHref.ref
-delete test
-[Endtest]
-
-[Test]
-title DesXOP-PrefixXop
-create xmlengtester test
-test Deserialize xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\PrefixXop.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-PrefixXop.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-PrefixXop.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-PrefixXop.ref
-delete test
-[Endtest]
-
-[Test]
-title DesXOP-SetContentHandlerL
-create xmlengtester test
-test TestSetContentHandler xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-SetContentHandlerL_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-SetContentHandlerL_002.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-SetContentHandlerL_001.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-deserialized.ref
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-SetContentHandlerL_002.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-deserialized.ref
-delete test
-[Endtest]
-
-[Test]
-title DesXOP-SetInputBufferL
-create xmlengtester test
-test TestSetInputBuffer xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-SetInputBufferL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-SetInputBufferL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-deserialized.ref
-delete test
-[Endtest]
-
-[Test]
-title DesXOP-SetInputFileL
-create xmlengtester test
-test TestSetInputFile xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-SetInputFileL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-SetInputFileL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-deserialized.ref
-delete test
-[Endtest]
-
-[Test]
-title DesXOP-SetParsingOptions1L
-create xmlengtester test
-test TestSetParsingOptions1 xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-SetParsingOptions1L.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-SetParsingOptions1L.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-SetParsingOptions1L.ref
-delete test
-[Endtest]
-
-
-[Test]
-title DesXOP-SpaceInHref
-create xmlengtester test
-test DeserializeFromBuffer xop c:\testing\data\xmleng\efute\input\deserializer\dirty\xop\SpaceInHref.xml c:\testing\data\xmleng\efute\output\deserializer\dirty\xop\DesXOP-SpaceInHref.out -32385
-delete test
-[Endtest]
-
-
-
-[Test]
-title DesXOP-UseExternalDataL
-create xmlengtester test
-test TestUseExternalData xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_002.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-UseExternalDataL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-UseExternalDataL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-external-data.ref
-delete test
-[Endtest]
-
-[Test]
-title DesInfosetXOP-BufferConvinience
-create xmlengtester test
-test TestDesBufferConvinienceInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_003.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-BufferConvinience_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-BufferConvinience_002.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-BufferConvinience_001.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-deserialized.ref
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-BufferConvinience_002.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-deserialized_003.ref
-delete test
-[Endtest]
-
-[Test]
-title DesInfosetXOP-DefaultNamespace
-create xmlengtester test
-test DeserializeInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\DefaultNamespace.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-DefaultNamespace.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-DefaultNamespace.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-DefaultNamespace.ref
-delete test
-[Endtest]
-
-[Test]
-title DesInfosetXOP-DeserializeL-Buffer1
-create xmlengtester test
-test Deserialize2Infoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-DeserializeL-Buffer1.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-DeserializeL-Buffer1.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-deserialized.ref
-delete test
-[Endtest]
-
-[Test]
-title DesInfosetXOP-DeserializeL-Buffer2
-create xmlengtester test
-test DeserializeFromBufferInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-DeserializeL-Buffer2.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-DeserializeL-Buffer2.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-deserialized.ref
-delete test
-[Endtest]
-
-[Test]
-title DesInfosetXOP-DeserializeL-File1
-create xmlengtester test
-test DeserializeInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-DeserializeL-File1.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-DeserializeL-File1.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-deserialized.ref
-delete test
-[Endtest]
-
-[Test]
-title DesInfosetXOP-DeserializeL-File2
-create xmlengtester test
-test DeserializeFromFileInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-DeserializeL-File2.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-DeserializeL-File2.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-deserialized.ref
-delete test
-[Endtest]
-
-[Test]
-title DesInfosetXOP-DeserializerBuffer
-create xmlengtester test
-test TestDeserializerBufferInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-DeserializerBuffer.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-DeserializerBuffer.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-DeserializerL.ref
-delete test
-[Endtest]
-
-[Test]
-title DesInfosetXOP-DeserializerL
-create xmlengtester test
-test TestDeserializerInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-DeserializerL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-DeserializerL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-DeserializerL.ref
-delete test
-[Endtest]
-
-[Test]
-title DesInfosetXOP-DisableFeatureL
-create xmlengtester test
-test TestDisableFeatureInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-DisableFeatureL_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-DisableFeatureL_002.out
-delete test
-[Endtest]
-
-[Test]
-title DesInfosetXOP-EnableFeatureL
-create xmlengtester test
-test TestEnableFeatureInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-EnableFeatureL_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-EnableFeatureL_002.out
-delete test
-[Endtest]
-
-[Test]
-title DesInfosetXOP-ExternalDataL
-create xmlengtester test
-test TestExternalDataInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_002.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-ExternalDataL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-ExternalDataL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-external-data.ref
-delete test
-[Endtest]
-
-[Test]
-title DesInfosetXOP-FileConvinience
-create xmlengtester test
-test TestDesFileConvinienceInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_003.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-FileConvinience_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-FileConvinience_002.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-FileConvinience_001.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-deserialized.ref
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-FileConvinience_002.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-deserialized_003.ref
-delete test
-[Endtest]
-
-[Test]
-title DesInfosetXOP-IncludeChildrens
-create xmlengtester test
-test DeserializeInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\IncludeChildrens.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-IncludeChildrens.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-IncludeChildrens.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-IncludeChildrens.ref
-delete test
-[Endtest]
-
-[Test]
-title DesInfosetXOP-IsFeatureEnabledL
-create xmlengtester test
-test TestIsFeatureEnabledInfoset infoset c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-IsFeatureEnabledL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-IsFeatureEnabledL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-IsFeatureEnabledL.ref
-delete test
-[Endtest]
-
-[Test]
-title DesInfosetXOP-NamespaceHref
-create xmlengtester test
-test DeserializeInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\NamespaceHref.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-NamespaceHref.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-NamespaceHref.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-NamespaceHref.ref
-delete test
-[Endtest]
-
-[Test]
-title DesInfosetXOP-NamespaceOnHref
-create xmlengtester test
-test DeserializeInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\NamespaceOnHref.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-NamespaceOnHref.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-NamespaceOnHref.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-NamespaceOnHref.ref
-delete test
-[Endtest]
-
-[Test]
-title DesInfosetXOP-NoHref
-create xmlengtester test
-test DeserializeInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\NoHref.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-NoHref.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-NoHref.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-NoHref.ref
-delete test
-[Endtest]
-
-[Test]
-title DesInfosetXOP-PrefixXop
-create xmlengtester test
-test DeserializeInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\PrefixXop.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-PrefixXop.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-PrefixXop.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-PrefixXop.ref
-delete test
-[Endtest]
-
-[Test]
-title DesInfosetXOP-SetContentHandlerL
-create xmlengtester test
-test TestSetContentHandlerInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-SetContentHandlerL_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-SetContentHandlerL_002.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-SetContentHandlerL_001.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-deserialized.ref
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-SetContentHandlerL_002.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-deserialized.ref
-delete test
-[Endtest]
-
-[Test]
-title DesInfosetXOP-SetInputBufferL
-create xmlengtester test
-test TestSetInputBufferInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-SetInputBufferL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-SetInputBufferL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-deserialized.ref
-delete test
-[Endtest]
-
-[Test]
-title DesInfosetXOP-SetInputFileL
-create xmlengtester test
-test TestSetInputFileInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-SetInputFileL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-SetInputFileL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-deserialized.ref
-delete test
-[Endtest]
-
-[Test]
-title DesInfosetXOP-UseExternalDataL
-create xmlengtester test
-test TestUseExternalDataInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_002.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-UseExternalDataL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-UseExternalDataL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-external-data.ref
-delete test
-[Endtest]
+
+[Test]
+title DesDefault-BufferConvinience
+create xmlengtester test
+test TestDesBufferConvinience default C:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_002.xml c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-BufferConvinience_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-BufferConvinience_002.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-BufferConvinience_001.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\default\DesDefault-deserialized.ref
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-BufferConvinience_002.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\default\DesDefault-deserialized_002.ref
+delete test
+[Endtest]
+
+[Test]
+title DesDefault-DeserializeL-Buffer1
+create xmlengtester test
+test Deserialize2 default C:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml C:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-DeserializeL-Buffer1.out
+test CompareFiles C:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-DeserializeL-Buffer1.out C:\testing\data\xmleng\efute\pattern\deserializer\correct\default\DesDefault-deserialized.ref
+delete test
+[Endtest]
+
+[Test]
+title DesDefault-DeserializeL-Buffer2
+create xmlengtester test
+test DeserializeFromBuffer default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-DeserializeL-Buffer2.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-DeserializeL-Buffer2.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\default\DesDefault-deserialized.ref
+delete test
+[Endtest]
+
+[Test]
+title DesDefault-DeserializeL-File1
+create xmlengtester test
+test Deserialize default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-DeserializeL-File1.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-DeserializeL-File1.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\default\DesDefault-deserialized.ref
+delete test
+[Endtest]
+
+[Test]
+title DesDefault-DeserializeL-File2
+create xmlengtester test
+test DeserializeFromFile default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-DeserializeL-File2.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-DeserializeL-File2.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\default\DesDefault-deserialized.ref
+delete test
+[Endtest]
+
+[Test]
+title DesDefault-DeserializerBuffer
+create xmlengtester test
+test TestDeserializerBuffer default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-DeserializerBuffer.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-DeserializerBuffer.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\default\DesDefault-DeserializerL.ref
+delete test
+[Endtest]
+
+[Test]
+title DesDefault-DeserializerL
+create xmlengtester test
+test TestDeserializer default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-DeserializerL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-DeserializerL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\default\DesDefault-DeserializerL.ref
+delete test
+[Endtest]
+
+[Test]
+title DesDefault-DisableFeatureL
+create xmlengtester test
+test TestDisableFeature default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-DisableFeatureL_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-DisableFeatureL_002.out
+delete test
+[Endtest]
+
+[Test]
+title DesDefault-EnableFeatureL
+create xmlengtester test
+test TestEnableFeature default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-EnableFeatureL_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-EnableFeatureL_002.out
+delete test
+[Endtest]
+
+[Test]
+title DesDefault-FileConvinience
+create xmlengtester test
+test TestDesFileConvinience default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_002.xml c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-FileConvinience_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-FileConvinience_002.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-FileConvinience_001.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\default\DesDefault-deserialized.ref
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-FileConvinience_002.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\default\DesDefault-deserialized_002.ref
+delete test
+[Endtest]
+
+[Test]
+title DesDefault-IsFeatureEnabledL
+create xmlengtester test
+test TestIsFeatureEnabled default c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-IsFeatureEnabledL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-IsFeatureEnabledL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\default\DesDefault-IsFeatureEnabledL.ref
+delete test
+[Endtest]
+
+[Test]
+title DesDefault-SetContentHandlerL
+create xmlengtester test
+test TestSetContentHandler default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-SetContentHandlerL_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-SetContentHandlerL_002.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-SetContentHandlerL_001.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\default\DesDefault-deserialized.ref
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-SetContentHandlerL_002.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\default\DesDefault-deserialized.ref
+delete test
+[Endtest]
+
+[Test]
+title DesDefault-SetInputBufferL
+create xmlengtester test
+test TestSetInputBuffer default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-SetInputBufferL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-SetInputBufferL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\default\DesDefault-deserialized.ref
+delete test
+[Endtest]
+
+[Test]
+title DesDefault-SetInputFileL
+create xmlengtester test
+test TestSetInputFile default c:\testing\data\xmleng\efute\input\deserializer\correct\default\SerDefault_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-SetInputFileL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\default\DesDefault-SetInputFileL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\default\DesDefault-deserialized.ref
+delete test
+[Endtest]
+
+[Test]
+title DesGZIP-BufferConvinience
+create xmlengtester test
+test TestDesBufferConvinience gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-Buffer_001.gz c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-Buffer_002.gz c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-BufferConvinience_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-BufferConvinience_002.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-BufferConvinience_001.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\gzip\DesGZIP-deserialized.ref
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-BufferConvinience_002.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\gzip\DesGZIP-BufferConvinience_002.ref
+delete test
+[Endtest]
+
+[Test]
+title DesGZIP-DeserializeL-Buffer1
+create xmlengtester test
+test Deserialize2 gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-Buffer_001.gz c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-DeserializeL-Buffer1.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-DeserializeL-Buffer1.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\gzip\DesGZIP-deserialized.ref
+delete test
+[Endtest]
+
+[Test]
+title DesGZIP-DeserializeL-Buffer2
+create xmlengtester test
+test DeserializeFromBuffer gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-Buffer_001.gz c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-DeserializeL-Buffer2.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-DeserializeL-Buffer2.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\gzip\DesGZIP-deserialized.ref
+delete test
+[Endtest]
+
+[Test]
+title DesGZIP-DeserializeL-File1
+create xmlengtester test
+test Deserialize gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-File_001.gz c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-DeserializeL-File1.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-DeserializeL-File1.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\gzip\DesGZIP-deserialized.ref
+delete test
+[Endtest]
+
+[Test]
+title DesGZIP-DeserializeL-File2
+create xmlengtester test
+test DeserializeFromFile gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-File_001.gz c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-DeserializeL-File2.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-DeserializeL-File2.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\gzip\DesGZIP-deserialized.ref
+delete test
+[Endtest]
+
+[Test]
+title DesGZIP-DeserializerBuffer
+create xmlengtester test
+test TestDeserializerBuffer gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-Buffer_001.gz c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-DeserializerBuffer.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-DeserializerBuffer.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\gzip\DesGZIP-DeserializerL.ref
+delete test
+[Endtest]
+
+[Test]
+title DesGZIP-DeserializerL
+create xmlengtester test
+test TestDeserializer gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-File_001.gz c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-DeserializerL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-DeserializerL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\gzip\DesGZIP-DeserializerL.ref
+delete test
+[Endtest]
+
+[Test]
+title DesGZIP-DisableFeatureL
+create xmlengtester test
+test TestDisableFeature gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-File_001.gz c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-DisableFeatureL_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-DisableFeatureL_002.out
+delete test
+[Endtest]
+
+[Test]
+title DesGZIP-EnableFeatureL
+create xmlengtester test
+test TestEnableFeature gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-File_001.gz c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-EnableFeatureL_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-EnableFeatureL_002.out
+delete test
+[Endtest]
+
+[Test]
+title DesGZIP-FileConvinience
+create xmlengtester test
+test TestDesFileConvinience gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-File_001.gz c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-File_002.gz c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-FileConvinience_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-FileConvinience_002.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-FileConvinience_001.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\gzip\DesGZIP-deserialized.ref
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-FileConvinience_002.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\gzip\DesGZIP-FileConvinience_002.ref
+delete test
+[Endtest]
+
+[Test]
+title DesGZIP-IsFeatureEnabledL
+create xmlengtester test
+test TestIsFeatureEnabled gzip c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-IsFeatureEnabledL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-IsFeatureEnabledL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\gzip\DesGZIP-IsFeatureEnabledL.ref
+delete test
+[Endtest]
+
+[Test]
+title DesGZIP-SetContentHandlerL
+create xmlengtester test
+test TestSetContentHandler gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-File_001.gz c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-SetContentHandlerL_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-SetContentHandlerL_002.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-SetContentHandlerL_001.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\gzip\DesGZIP-deserialized.ref
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-SetContentHandlerL_002.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\gzip\DesGZIP-deserialized.ref
+delete test
+[Endtest]
+
+[Test]
+title DesGZIP-SetInputBufferL
+create xmlengtester test
+test TestSetInputBuffer gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-Buffer_001.gz c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-SetInputBufferL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-SetInputBufferL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\gzip\DesGZIP-deserialized.ref
+delete test
+[Endtest]
+
+[Test]
+title DesGZIP-SetInputFileL
+create xmlengtester test
+test TestSetInputFile gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-File_001.gz c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-SetInputFileL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-SetInputFileL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\gzip\DesGZIP-deserialized.ref
+delete test
+[Endtest]
+
+[Test]
+title DesXOP-BufferConvinience
+create xmlengtester test
+test TestDesBufferConvinience xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_003.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-BufferConvinience_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-BufferConvinience_002.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-BufferConvinience_001.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-deserialized.ref
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-BufferConvinience_002.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-deserialized_003.ref
+delete test
+[Endtest]
+
+[Test]
+title DesXOP-DefaultNamespace
+create xmlengtester test
+test Deserialize xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\DefaultNamespace.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-DefaultNamespace.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-DefaultNamespace.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-DefaultNamespace.ref
+delete test
+[Endtest]
+
+[Test]
+title DesXOP-DeserializeL-Buffer1
+create xmlengtester test
+test Deserialize2 xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-DeserializeL-Buffer1.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-DeserializeL-Buffer1.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-deserialized.ref
+delete test
+[Endtest]
+
+[Test]
+title DesXOP-DeserializeL-Buffer2
+create xmlengtester test
+test DeserializeFromBuffer xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-DeserializeL-Buffer2.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-DeserializeL-Buffer2.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-deserialized.ref
+delete test
+[Endtest]
+
+[Test]
+title DesXOP-DeserializeL-File1
+create xmlengtester test
+test Deserialize xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-DeserializeL-File1.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-DeserializeL-File1.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-deserialized.ref
+delete test
+[Endtest]
+
+[Test]
+title DesXOP-DeserializeL-File2
+create xmlengtester test
+test DeserializeFromFile xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-DeserializeL-File2.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-DeserializeL-File2.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-deserialized.ref
+delete test
+[Endtest]
+
+[Test]
+title DesXOP-DeserializerBuffer
+create xmlengtester test
+test TestDeserializerBuffer xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-DeserializerBuffer.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-DeserializerBuffer.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-DeserializerL.ref
+delete test
+[Endtest]
+
+[Test]
+title DesXOP-DeserializerL
+create xmlengtester test
+test TestDeserializer xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-DeserializerL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-DeserializerL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-DeserializerL.ref
+delete test
+[Endtest]
+
+[Test]
+title DesXOP-DisableFeatureL
+create xmlengtester test
+test TestDisableFeature xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-DisableFeatureL_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-DisableFeatureL_002.out
+delete test
+[Endtest]
+
+[Test]
+title DesXOP-EnableFeatureL
+create xmlengtester test
+test TestEnableFeature xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-EnableFeatureL_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-EnableFeatureL_002.out
+delete test
+[Endtest]
+
+[Test]
+title DesXOP-ExternalDataL
+create xmlengtester test
+test TestExternalData xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_002.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-ExternalDataL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-ExternalDataL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-external-data.ref
+delete test
+[Endtest]
+
+[Test]
+title DesXOP-FileConvinience
+create xmlengtester test
+test TestDesFileConvinience xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_003.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-FileConvinience_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-FileConvinience_002.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-FileConvinience_001.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-deserialized.ref
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-FileConvinience_002.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-deserialized_003.ref
+delete test
+[Endtest]
+
+[Test]
+title DesXOP-IdNotMatchData
+create xmlengtester test
+test DeserializeFromBuffer xop c:\testing\data\xmleng\efute\input\deserializer\dirty\xop\IdNotMatchData.xml c:\testing\data\xmleng\efute\output\deserializer\dirty\xop\DesXOP-IdNotMatchData.out -32385
+delete test
+[Endtest]
+
+[Test]
+title DesXOP-IdNotUnique
+create xmlengtester test
+test DeserializeFromBuffer xop c:\testing\data\xmleng\efute\input\deserializer\dirty\xop\IdNotUnique.xml c:\testing\data\xmleng\efute\output\deserializer\dirty\xop\DesXOP-IdNotUnique.out -11
+delete test
+[Endtest]
+
+
+
+[Test]
+title DesXOP-IncludeChildrens
+create xmlengtester test
+test Deserialize xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\IncludeChildrens.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-IncludeChildrens.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-IncludeChildrens.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-IncludeChildrens.ref
+delete test
+[Endtest]
+
+[Test]
+title DesXOP-IsFeatureEnabledL
+create xmlengtester test
+test TestIsFeatureEnabled xop c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-IsFeatureEnabledL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-IsFeatureEnabledL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-IsFeatureEnabledL.ref
+delete test
+[Endtest]
+
+[Test]
+title DesXOP-NamespaceHref
+create xmlengtester test
+test Deserialize xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\NamespaceHref.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-NamespaceHref.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-NamespaceHref.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-NamespaceHref.ref
+delete test
+[Endtest]
+
+[Test]
+title DesXOP-NamespaceOnHref
+create xmlengtester test
+test Deserialize xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\NamespaceOnHref.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-NamespaceOnHref.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-NamespaceOnHref.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-NamespaceOnHref.ref
+delete test
+[Endtest]
+
+[Test]
+title DesXOP-NoHref
+create xmlengtester test
+test Deserialize xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\NoHref.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-NoHref.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-NoHref.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-NoHref.ref
+delete test
+[Endtest]
+
+[Test]
+title DesXOP-PrefixXop
+create xmlengtester test
+test Deserialize xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\PrefixXop.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-PrefixXop.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-PrefixXop.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-PrefixXop.ref
+delete test
+[Endtest]
+
+[Test]
+title DesXOP-SetContentHandlerL
+create xmlengtester test
+test TestSetContentHandler xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-SetContentHandlerL_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-SetContentHandlerL_002.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-SetContentHandlerL_001.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-deserialized.ref
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-SetContentHandlerL_002.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-deserialized.ref
+delete test
+[Endtest]
+
+[Test]
+title DesXOP-SetInputBufferL
+create xmlengtester test
+test TestSetInputBuffer xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-SetInputBufferL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-SetInputBufferL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-deserialized.ref
+delete test
+[Endtest]
+
+[Test]
+title DesXOP-SetInputFileL
+create xmlengtester test
+test TestSetInputFile xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-SetInputFileL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-SetInputFileL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-deserialized.ref
+delete test
+[Endtest]
+
+[Test]
+title DesXOP-SetParsingOptions1L
+create xmlengtester test
+test TestSetParsingOptions1 xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-SetParsingOptions1L.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-SetParsingOptions1L.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-SetParsingOptions1L.ref
+delete test
+[Endtest]
+
+
+[Test]
+title DesXOP-SpaceInHref
+create xmlengtester test
+test DeserializeFromBuffer xop c:\testing\data\xmleng\efute\input\deserializer\dirty\xop\SpaceInHref.xml c:\testing\data\xmleng\efute\output\deserializer\dirty\xop\DesXOP-SpaceInHref.out -32385
+delete test
+[Endtest]
+
+
+
+[Test]
+title DesXOP-UseExternalDataL
+create xmlengtester test
+test TestUseExternalData xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_002.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-UseExternalDataL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-UseExternalDataL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-external-data.ref
+delete test
+[Endtest]
+
+[Test]
+title DesInfosetXOP-BufferConvinience
+create xmlengtester test
+test TestDesBufferConvinienceInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_003.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-BufferConvinience_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-BufferConvinience_002.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-BufferConvinience_001.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-deserialized.ref
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-BufferConvinience_002.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-deserialized_003.ref
+delete test
+[Endtest]
+
+[Test]
+title DesInfosetXOP-DefaultNamespace
+create xmlengtester test
+test DeserializeInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\DefaultNamespace.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-DefaultNamespace.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-DefaultNamespace.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-DefaultNamespace.ref
+delete test
+[Endtest]
+
+[Test]
+title DesInfosetXOP-DeserializeL-Buffer1
+create xmlengtester test
+test Deserialize2Infoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-DeserializeL-Buffer1.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-DeserializeL-Buffer1.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-deserialized.ref
+delete test
+[Endtest]
+
+[Test]
+title DesInfosetXOP-DeserializeL-Buffer2
+create xmlengtester test
+test DeserializeFromBufferInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-DeserializeL-Buffer2.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-DeserializeL-Buffer2.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-deserialized.ref
+delete test
+[Endtest]
+
+[Test]
+title DesInfosetXOP-DeserializeL-File1
+create xmlengtester test
+test DeserializeInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-DeserializeL-File1.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-DeserializeL-File1.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-deserialized.ref
+delete test
+[Endtest]
+
+[Test]
+title DesInfosetXOP-DeserializeL-File2
+create xmlengtester test
+test DeserializeFromFileInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-DeserializeL-File2.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-DeserializeL-File2.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-deserialized.ref
+delete test
+[Endtest]
+
+[Test]
+title DesInfosetXOP-DeserializerBuffer
+create xmlengtester test
+test TestDeserializerBufferInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-DeserializerBuffer.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-DeserializerBuffer.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-DeserializerL.ref
+delete test
+[Endtest]
+
+[Test]
+title DesInfosetXOP-DeserializerL
+create xmlengtester test
+test TestDeserializerInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-DeserializerL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-DeserializerL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-DeserializerL.ref
+delete test
+[Endtest]
+
+[Test]
+title DesInfosetXOP-DisableFeatureL
+create xmlengtester test
+test TestDisableFeatureInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-DisableFeatureL_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-DisableFeatureL_002.out
+delete test
+[Endtest]
+
+[Test]
+title DesInfosetXOP-EnableFeatureL
+create xmlengtester test
+test TestEnableFeatureInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-EnableFeatureL_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-EnableFeatureL_002.out
+delete test
+[Endtest]
+
+[Test]
+title DesInfosetXOP-ExternalDataL
+create xmlengtester test
+test TestExternalDataInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_002.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-ExternalDataL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-ExternalDataL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-external-data.ref
+delete test
+[Endtest]
+
+[Test]
+title DesInfosetXOP-FileConvinience
+create xmlengtester test
+test TestDesFileConvinienceInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_003.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-FileConvinience_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-FileConvinience_002.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-FileConvinience_001.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-deserialized.ref
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-FileConvinience_002.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-deserialized_003.ref
+delete test
+[Endtest]
+
+[Test]
+title DesInfosetXOP-IncludeChildrens
+create xmlengtester test
+test DeserializeInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\IncludeChildrens.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-IncludeChildrens.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-IncludeChildrens.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-IncludeChildrens.ref
+delete test
+[Endtest]
+
+[Test]
+title DesInfosetXOP-IsFeatureEnabledL
+create xmlengtester test
+test TestIsFeatureEnabledInfoset infoset c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-IsFeatureEnabledL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-IsFeatureEnabledL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-IsFeatureEnabledL.ref
+delete test
+[Endtest]
+
+[Test]
+title DesInfosetXOP-NamespaceHref
+create xmlengtester test
+test DeserializeInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\NamespaceHref.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-NamespaceHref.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-NamespaceHref.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-NamespaceHref.ref
+delete test
+[Endtest]
+
+[Test]
+title DesInfosetXOP-NamespaceOnHref
+create xmlengtester test
+test DeserializeInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\NamespaceOnHref.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-NamespaceOnHref.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-NamespaceOnHref.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-NamespaceOnHref.ref
+delete test
+[Endtest]
+
+[Test]
+title DesInfosetXOP-NoHref
+create xmlengtester test
+test DeserializeInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\NoHref.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-NoHref.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-NoHref.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-NoHref.ref
+delete test
+[Endtest]
+
+[Test]
+title DesInfosetXOP-PrefixXop
+create xmlengtester test
+test DeserializeInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\PrefixXop.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-PrefixXop.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-PrefixXop.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-PrefixXop.ref
+delete test
+[Endtest]
+
+[Test]
+title DesInfosetXOP-SetContentHandlerL
+create xmlengtester test
+test TestSetContentHandlerInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-SetContentHandlerL_001.out c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-SetContentHandlerL_002.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-SetContentHandlerL_001.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-deserialized.ref
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-SetContentHandlerL_002.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-deserialized.ref
+delete test
+[Endtest]
+
+[Test]
+title DesInfosetXOP-SetInputBufferL
+create xmlengtester test
+test TestSetInputBufferInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-SetInputBufferL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-SetInputBufferL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-deserialized.ref
+delete test
+[Endtest]
+
+[Test]
+title DesInfosetXOP-SetInputFileL
+create xmlengtester test
+test TestSetInputFileInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-SetInputFileL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-SetInputFileL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-deserialized.ref
+delete test
+[Endtest]
+
+[Test]
+title DesInfosetXOP-UseExternalDataL
+create xmlengtester test
+test TestUseExternalDataInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_002.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-UseExternalDataL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-UseExternalDataL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-external-data.ref
+delete test
+[Endtest]
+
\ No newline at end of file
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/DomChunkCont.cfg
--- a/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/DomChunkCont.cfg Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/DomChunkCont.cfg Wed Jun 23 20:27:15 2010 +0530
@@ -1,287 +1,288 @@
-##############################################################
-# Chunk Container - AdoptNode: appends document with chunk
-# containers to another and checks chunks data
-##############################################################
-
-[Test]
-title Chunk_Container_AdoptNode
-create xmlengtester test
-test ChunkContainerAdoptNode
-delete test
-[Endtest]
-##############################################################
-# Chunk Container - Chunk
-##############################################################
-
-[Test]
-title Chunk_Container_Chunk
-create xmlengtester test
-test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_11.xml 256
-test ChunkContainerChunk
-delete test
-[Endtest]
-##############################################################
-# Chunk Container - Cid
-##############################################################
-
-[Test]
-title Chunk_Container_Cid
-create xmlengtester test
-test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_11.xml 256
-test ChunkContainerCid
-delete test
-[Endtest]
-##############################################################
-# Chunk Container - Cid: create 2 chunkcontainers with the same
-# cid,create third chunkcontainer (other cid), do ReplaceWith:
-# chunkcontainer2 -> chunkcontainer3, returns 2 chunkcontainers
-##############################################################
-
-[Test]
-title Chunk_Container_CidError
-create xmlengtester test
-test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_11.xml 256
-test ChunkContainerCidError
-delete test
-[Endtest]
-##############################################################
-# Chunk Container - Clone
-##############################################################
-
-[Test]
-title Chunk_Container_Clone
-create xmlengtester test
-test ChunkContainerClone
-delete test
-[Endtest]
-##############################################################
-# Chunk Container - CopyTo
-##############################################################
-
-[Test]
-title Chunk_Container_CopyTo
-create xmlengtester test
-test ChunkContainerCopyTo
-delete test
-[Endtest]
-##############################################################
-# Chunk Container - Copy: copy container, check its data: cid,
-# chunk..., and chech if on list there is 3elements+1copy
-##############################################################
-
-[Test]
-title Chunk_Container_Copy
-create xmlengtester test
-test ChunkContainerCopy
-delete test
-[Endtest]
-##############################################################
-# Chunk Container - Copy: copy node with chunk containers,
-# checks its element data
-##############################################################
-
-[Test]
-title Chunk_Container_Copy2
-create xmlengtester test
-test ChunkContainerCopy2
-delete test
-[Endtest]
-##############################################################
-# Chunk Container - Copy3: copy node with chunk containers to
-# another RDocument
-##############################################################
-
-[Test]
-title Chunk_Container_Copy3
-create xmlengtester test
-test ChunkContainerCopy3
-delete test
-[Endtest]
-##############################################################
-# Chunk Container - Copy4: copy grandparents, check if chunk
-# containers are there and not changed
-##############################################################
-
-[Test]
-title Chunk_Container_Copy4
-create xmlengtester test
-test ChunkContainerCopy4
-delete test
-[Endtest]
-##############################################################
-# Chunk Container - GetList: creates 19 chunkcontainers and
-# checks its name, cid...
-##############################################################
-
-[Test]
-title Chunk_Container_GetList
-create xmlengtester test
-test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_11.xml 256
-test ChunkContainerGetList
-delete test
-[Endtest]
-##############################################################
-# Chunk Container - MoveAfterSibling: checks moving parent node
-# after another node
-##############################################################
-
-[Test]
-title Chunk_Container_MoveAfterSibling
-create xmlengtester test
-test ChunkContainerMoveAfterSibling
-delete test
-[Endtest]
-##############################################################
-# Chunk Container - MoveBeforeSibling: checks moving parent node
-# before another node
-##############################################################
-
-[Test]
-title Chunk_Container_MoveBeforeSibling
-create xmlengtester test
-test ChunkContainerMoveBeforeSibling
-delete test
-[Endtest]
-##############################################################
-# Chunk Container - MoveTo: checks moving parent node
-# to the new place in nodes tree
-##############################################################
-
-[Test]
-title Chunk_Container_MoveTo
-create xmlengtester test
-test ChunkContainerMoveTo
-delete test
-[Endtest]
-##############################################################
-# Chunk Container - NodeType
-##############################################################
-
-[Test]
-title Chunk_Container_NodeType
-create xmlengtester test
-test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_11.xml 256
-test ChunkContainerNodeType
-delete test
-[Endtest]
-##############################################################
-# Chunk Container - ChunkOffset
-##############################################################
-
-[Test]
-title Chunk_Container_Offset
-create xmlengtester test
-test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_11.xml 256
-test ChunkContainerOffset
-delete test
-[Endtest]
-##############################################################
-# Chunk Container - ReconcileNamespaces: checks chunks status
-# after operation - reconcile - on namespaces
-##############################################################
-
-[Test]
-title Chunk_Container_ReconcileNamespaces
-create xmlengtester test
-test ChunkContainerReconcileNamespaces
-delete test
-[Endtest]
-##############################################################
-# Chunk Container - Removc:input 3 chunks, removes second,
-# check if cid of 1 and 3 comapare with test data -
-# returns 2 chunks in list
-##############################################################
-
-[Test]
-title Chunk_Container_Remove
-create xmlengtester test
-test ChunkContainerRemove
-delete test
-[Endtest]
-##############################################################
-# Chunk Container - Remove2: input third chunk with the same
-# cid as first chunk, remove it - returns 2 chunks in list
-##############################################################
-
-[Test]
-title Chunk_Container_Remove2
-create xmlengtester test
-test ChunkContainerRemove2
-delete test
-[Endtest]
-##############################################################
-# Chunk Container - Remove3: input some other data and move it
-# before chunk container end then remove some chunk from list
-##############################################################
-
-[Test]
-title Chunk_Container_Remove3
-create xmlengtester test
-test ChunkContainerRemove3
-delete test
-[Endtest]
-##############################################################
-# Chunk Container - ReplaceWith: input 3 chunks,
-# replace second one (with cid1) with fourth one (cid3),
-##############################################################
-
-[Test]
-title Chunk_Container_ReplaceWith
-create xmlengtester test
-test ChunkContainerReplaceWith
-delete test
-[Endtest]
-##############################################################
-# Chunk Container - SetAsFirstSibling: checks moving parent node
-# to the first place
-##############################################################
-
-[Test]
-title Chunk_Container_SetAsFirstSibling
-create xmlengtester test
-test ChunkContainerSetAsFirstSibling
-delete test
-[Endtest]
-##############################################################
-# Chunk Container - SetAsLastSibling: checks moving parent node
-# to the last place
-##############################################################
-
-[Test]
-title Chunk_Container_SetAsLastSibling
-create xmlengtester test
-test ChunkContainerSetAsLastSibling
-delete test
-[Endtest]
-##############################################################
-# Chunk Container - Size
-##############################################################
-
-[Test]
-title Chunk_Container_Size
-create xmlengtester test
-test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_11.xml 256
-test ChunkContainerSize
-delete test
-[Endtest]
-##############################################################
-# Chunk Container - SubstituteFor
-##############################################################
-
-[Test]
-title Chunk_Container_SubstituteFor
-create xmlengtester test
-test ChunkContainerSubstituteFor
-delete test
-[Endtest]
-##############################################################
-# Chunk Container - Unlink: input 3 chunks, unlink one,
-# list.count should be 2
-##############################################################
-
-[Test]
-title Chunk_Container_Unlink
-create xmlengtester test
-test ChunkContainerUnlink
-delete test
-[Endtest]
+##############################################################
+# Chunk Container - AdoptNode: appends document with chunk
+# containers to another and checks chunks data
+##############################################################
+
+[Test]
+title Chunk_Container_AdoptNode
+create xmlengtester test
+test ChunkContainerAdoptNode
+delete test
+[Endtest]
+##############################################################
+# Chunk Container - Chunk
+##############################################################
+
+[Test]
+title Chunk_Container_Chunk
+create xmlengtester test
+test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_11.xml 256
+test ChunkContainerChunk
+delete test
+[Endtest]
+##############################################################
+# Chunk Container - Cid
+##############################################################
+
+[Test]
+title Chunk_Container_Cid
+create xmlengtester test
+test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_11.xml 256
+test ChunkContainerCid
+delete test
+[Endtest]
+##############################################################
+# Chunk Container - Cid: create 2 chunkcontainers with the same
+# cid,create third chunkcontainer (other cid), do ReplaceWith:
+# chunkcontainer2 -> chunkcontainer3, returns 2 chunkcontainers
+##############################################################
+
+[Test]
+title Chunk_Container_CidError
+create xmlengtester test
+test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_11.xml 256
+test ChunkContainerCidError
+delete test
+[Endtest]
+##############################################################
+# Chunk Container - Clone
+##############################################################
+
+[Test]
+title Chunk_Container_Clone
+create xmlengtester test
+test ChunkContainerClone
+delete test
+[Endtest]
+##############################################################
+# Chunk Container - CopyTo
+##############################################################
+
+[Test]
+title Chunk_Container_CopyTo
+create xmlengtester test
+test ChunkContainerCopyTo
+delete test
+[Endtest]
+##############################################################
+# Chunk Container - Copy: copy container, check its data: cid,
+# chunk..., and chech if on list there is 3elements+1copy
+##############################################################
+
+[Test]
+title Chunk_Container_Copy
+create xmlengtester test
+test ChunkContainerCopy
+delete test
+[Endtest]
+##############################################################
+# Chunk Container - Copy: copy node with chunk containers,
+# checks its element data
+##############################################################
+
+[Test]
+title Chunk_Container_Copy2
+create xmlengtester test
+test ChunkContainerCopy2
+delete test
+[Endtest]
+##############################################################
+# Chunk Container - Copy3: copy node with chunk containers to
+# another RDocument
+##############################################################
+
+[Test]
+title Chunk_Container_Copy3
+create xmlengtester test
+test ChunkContainerCopy3
+delete test
+[Endtest]
+##############################################################
+# Chunk Container - Copy4: copy grandparents, check if chunk
+# containers are there and not changed
+##############################################################
+
+[Test]
+title Chunk_Container_Copy4
+create xmlengtester test
+test ChunkContainerCopy4
+delete test
+[Endtest]
+##############################################################
+# Chunk Container - GetList: creates 19 chunkcontainers and
+# checks its name, cid...
+##############################################################
+
+[Test]
+title Chunk_Container_GetList
+create xmlengtester test
+test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_11.xml 256
+test ChunkContainerGetList
+delete test
+[Endtest]
+##############################################################
+# Chunk Container - MoveAfterSibling: checks moving parent node
+# after another node
+##############################################################
+
+[Test]
+title Chunk_Container_MoveAfterSibling
+create xmlengtester test
+test ChunkContainerMoveAfterSibling
+delete test
+[Endtest]
+##############################################################
+# Chunk Container - MoveBeforeSibling: checks moving parent node
+# before another node
+##############################################################
+
+[Test]
+title Chunk_Container_MoveBeforeSibling
+create xmlengtester test
+test ChunkContainerMoveBeforeSibling
+delete test
+[Endtest]
+##############################################################
+# Chunk Container - MoveTo: checks moving parent node
+# to the new place in nodes tree
+##############################################################
+
+[Test]
+title Chunk_Container_MoveTo
+create xmlengtester test
+test ChunkContainerMoveTo
+delete test
+[Endtest]
+##############################################################
+# Chunk Container - NodeType
+##############################################################
+
+[Test]
+title Chunk_Container_NodeType
+create xmlengtester test
+test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_11.xml 256
+test ChunkContainerNodeType
+delete test
+[Endtest]
+##############################################################
+# Chunk Container - ChunkOffset
+##############################################################
+
+[Test]
+title Chunk_Container_Offset
+create xmlengtester test
+test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_11.xml 256
+test ChunkContainerOffset
+delete test
+[Endtest]
+##############################################################
+# Chunk Container - ReconcileNamespaces: checks chunks status
+# after operation - reconcile - on namespaces
+##############################################################
+
+[Test]
+title Chunk_Container_ReconcileNamespaces
+create xmlengtester test
+test ChunkContainerReconcileNamespaces
+delete test
+[Endtest]
+##############################################################
+# Chunk Container - Removc:input 3 chunks, removes second,
+# check if cid of 1 and 3 comapare with test data -
+# returns 2 chunks in list
+##############################################################
+
+[Test]
+title Chunk_Container_Remove
+create xmlengtester test
+test ChunkContainerRemove
+delete test
+[Endtest]
+##############################################################
+# Chunk Container - Remove2: input third chunk with the same
+# cid as first chunk, remove it - returns 2 chunks in list
+##############################################################
+
+[Test]
+title Chunk_Container_Remove2
+create xmlengtester test
+test ChunkContainerRemove2
+delete test
+[Endtest]
+##############################################################
+# Chunk Container - Remove3: input some other data and move it
+# before chunk container end then remove some chunk from list
+##############################################################
+
+[Test]
+title Chunk_Container_Remove3
+create xmlengtester test
+test ChunkContainerRemove3
+delete test
+[Endtest]
+##############################################################
+# Chunk Container - ReplaceWith: input 3 chunks,
+# replace second one (with cid1) with fourth one (cid3),
+##############################################################
+
+[Test]
+title Chunk_Container_ReplaceWith
+create xmlengtester test
+test ChunkContainerReplaceWith
+delete test
+[Endtest]
+##############################################################
+# Chunk Container - SetAsFirstSibling: checks moving parent node
+# to the first place
+##############################################################
+
+[Test]
+title Chunk_Container_SetAsFirstSibling
+create xmlengtester test
+test ChunkContainerSetAsFirstSibling
+delete test
+[Endtest]
+##############################################################
+# Chunk Container - SetAsLastSibling: checks moving parent node
+# to the last place
+##############################################################
+
+[Test]
+title Chunk_Container_SetAsLastSibling
+create xmlengtester test
+test ChunkContainerSetAsLastSibling
+delete test
+[Endtest]
+##############################################################
+# Chunk Container - Size
+##############################################################
+
+[Test]
+title Chunk_Container_Size
+create xmlengtester test
+test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_11.xml 256
+test ChunkContainerSize
+delete test
+[Endtest]
+##############################################################
+# Chunk Container - SubstituteFor
+##############################################################
+
+[Test]
+title Chunk_Container_SubstituteFor
+create xmlengtester test
+test ChunkContainerSubstituteFor
+delete test
+[Endtest]
+##############################################################
+# Chunk Container - Unlink: input 3 chunks, unlink one,
+# list.count should be 2
+##############################################################
+
+[Test]
+title Chunk_Container_Unlink
+create xmlengtester test
+test ChunkContainerUnlink
+delete test
+[Endtest]
+
\ No newline at end of file
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/DomChunkParser.cfg
--- a/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/DomChunkParser.cfg Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/DomChunkParser.cfg Wed Jun 23 20:27:15 2010 +0530
@@ -1,288 +1,289 @@
-##############################################################
-# Error in document structure in 1.chunk
-##############################################################
-
-[Test]
-title DOM_chunk_not_wf_01
-create xmlengtester test
-test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_not_wf_01.xml 256
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_01.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_01.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_not_wf_01.ref
-delete test
-[Endtest]
-##############################################################
-# Error in document structure in 1. chunk
-##############################################################
-
-[Test]
-title DOM_chunk_not_wf_02
-create xmlengtester test
-test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_not_wf_02.xml 256
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_02.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_02.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_not_wf_02.ref
-delete test
-[Endtest]
-##############################################################
-# Error in document structure in 2. chunk
-##############################################################
-
-[Test]
-title DOM_chunk_not_wf_03
-create xmlengtester test
-test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_not_wf_03.xml 256
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_03.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_03.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_not_wf_03.ref
-delete test
-[Endtest]
-##############################################################
-# Error in document structure in 4. chunk
-##############################################################
-
-[Test]
-title DOM_chunk_not_wf_04
-create xmlengtester test
-test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_not_wf_04.xml 256
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_04.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_04.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_not_wf_04.ref
-delete test
-[Endtest]
-##############################################################
-# Error in document structure in 5. chunk
-##############################################################
-
-[Test]
-title DOM_chunk_not_wf_05
-create xmlengtester test
-test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_not_wf_05.xml 256
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_05.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_05.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_not_wf_05.ref
-delete test
-[Endtest]
-##############################################################
-# Error in document structure in 15. chunk
-##############################################################
-
-[Test]
-title DOM_chunk_not_wf_06
-create xmlengtester test
-test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_not_wf_06.xml 256
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_06.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_06.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_not_wf_06.ref
-delete test
-[Endtest]
-##############################################################
-# Error in document structure in 24. chunk
-##############################################################
-
-[Test]
-title DOM_chunk_not_wf_07
-create xmlengtester test
-test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_not_wf_07.xml 256
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_07.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_07.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_not_wf_07.ref
-delete test
-[Endtest]
-##############################################################
-# No data in file
-##############################################################
-
-[Test]
-title DOM_chunk_not_wf_08
-create xmlengtester test
-test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_not_wf_00.xml 256
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_08.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_08.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_not_wf_08.ref
-delete test
-[Endtest]
-##############################################################
-# Error in document structure in 40. chunk
-##############################################################
-
-[Test]
-title DOM_chunk_not_wf_09
-create xmlengtester test
-test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_not_wf_09.xml 256
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_09.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_09.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_not_wf_09.ref
-delete test
-[Endtest]
-##############################################################
-# Error in document structure in 50. chunk
-##############################################################
-
-[Test]
-title DOM_chunk_not_wf_10
-create xmlengtester test
-test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_not_wf_10.xml 256
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_10.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_10.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_not_wf_10.ref
-delete test
-[Endtest]
-##############################################################
-# Error in document structure in 50. chunk
-##############################################################
-
-[Test]
-title DOM_chunk_not_wf_11
-create xmlengtester test
-test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_not_wf_10.xml -11
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_11.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_11.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_not_wf_11.ref
-delete test
-[Endtest]
-##############################################################
-# Error input file
-##############################################################
-
-[Test]
-title DOM_chunk_not_wf_12
-create xmlengtester test
-test ParseFileChunk c:\testing\data\xmleng\efute\input\filecontainer\test.jpg 256
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_12.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_12.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_not_wf_12.ref
-delete test
-[Endtest]
-##############################################################
-# 1 OK not full chunk
-##############################################################
-
-[Test]
-title DOM_chunk_wf_01
-create xmlengtester test
-test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_01.xml 256
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_01.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_01.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_wf_01.ref
-delete test
-[Endtest]
-##############################################################
-# 1 OK chunk
-##############################################################
-
-[Test]
-title DOM_chunk_wf_02
-create xmlengtester test
-test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_02.xml 256
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_02.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_02.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_wf_02.ref
-delete test
-[Endtest]
-##############################################################
-# 2 OK not full chunks
-##############################################################
-
-[Test]
-title DOM_chunk_wf_03
-create xmlengtester test
-test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_03.xml 256
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_03.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_03.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_wf_03.ref
-delete test
-[Endtest]
-##############################################################
-# 3 OK chunks and 1 byte
-##############################################################
-
-[Test]
-title DOM_chunk_wf_04
-create xmlengtester test
-test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_04.xml 256
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_04.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_04.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_wf_04.ref
-delete test
-[Endtest]
-##############################################################
-# 5 OK not full chunks
-##############################################################
-
-[Test]
-title DOM_chunk_wf_05
-create xmlengtester test
-test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_05.xml 256
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_05.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_05.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_wf_05.ref
-delete test
-[Endtest]
-##############################################################
-# 15 OK not full chunks
-##############################################################
-
-[Test]
-title DOM_chunk_wf_06
-create xmlengtester test
-test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_06.xml 256
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_06.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_06.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_wf_06.ref
-delete test
-[Endtest]
-##############################################################
-#24 OK full chunks
-##############################################################
-
-[Test]
-title DOM_chunk_wf_07
-create xmlengtester test
-test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_07.xml 256
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_07.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_07.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_wf_07.ref
-delete test
-[Endtest]
-##############################################################
-# 29 OK not full chunks
-##############################################################
-
-[Test]
-title DOM_chunk_wf_08
-create xmlengtester test
-test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_08.xml 256
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_08.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_08.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_wf_08.ref
-delete test
-[Endtest]
-##############################################################
-# 40 OK not full chunks
-##############################################################
-
-[Test]
-title DOM_chunk_wf_09
-create xmlengtester test
-test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_09.xml 256
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_09.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_09.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_wf_09.ref
-delete test
-[Endtest]
-##############################################################
-# 50 OK full chunks
-##############################################################
-
-[Test]
-title DOM_chunk_wf_10
-create xmlengtester test
-test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_10.xml 256
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_10.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_10.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_wf_10.ref
-delete test
-[Endtest]
-##############################################################
-# chunk size 10000
-##############################################################
-
-[Test]
-title DOM_chunk_wf_11
-create xmlengtester test
-test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_10.xml 10000
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_11.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_11.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_wf_10.ref
-delete test
-[Endtest]
-##############################################################
-# chunk size 50000
-##############################################################
-
-[Test]
-title DOM_chunk_wf_12
-create xmlengtester test
-test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_10.xml 50000
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_12.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_12.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_wf_10.ref
-delete test
-[Endtest]
+##############################################################
+# Error in document structure in 1.chunk
+##############################################################
+
+[Test]
+title DOM_chunk_not_wf_01
+create xmlengtester test
+test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_not_wf_01.xml 256
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_01.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_01.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_not_wf_01.ref
+delete test
+[Endtest]
+##############################################################
+# Error in document structure in 1. chunk
+##############################################################
+
+[Test]
+title DOM_chunk_not_wf_02
+create xmlengtester test
+test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_not_wf_02.xml 256
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_02.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_02.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_not_wf_02.ref
+delete test
+[Endtest]
+##############################################################
+# Error in document structure in 2. chunk
+##############################################################
+
+[Test]
+title DOM_chunk_not_wf_03
+create xmlengtester test
+test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_not_wf_03.xml 256
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_03.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_03.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_not_wf_03.ref
+delete test
+[Endtest]
+##############################################################
+# Error in document structure in 4. chunk
+##############################################################
+
+[Test]
+title DOM_chunk_not_wf_04
+create xmlengtester test
+test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_not_wf_04.xml 256
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_04.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_04.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_not_wf_04.ref
+delete test
+[Endtest]
+##############################################################
+# Error in document structure in 5. chunk
+##############################################################
+
+[Test]
+title DOM_chunk_not_wf_05
+create xmlengtester test
+test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_not_wf_05.xml 256
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_05.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_05.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_not_wf_05.ref
+delete test
+[Endtest]
+##############################################################
+# Error in document structure in 15. chunk
+##############################################################
+
+[Test]
+title DOM_chunk_not_wf_06
+create xmlengtester test
+test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_not_wf_06.xml 256
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_06.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_06.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_not_wf_06.ref
+delete test
+[Endtest]
+##############################################################
+# Error in document structure in 24. chunk
+##############################################################
+
+[Test]
+title DOM_chunk_not_wf_07
+create xmlengtester test
+test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_not_wf_07.xml 256
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_07.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_07.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_not_wf_07.ref
+delete test
+[Endtest]
+##############################################################
+# No data in file
+##############################################################
+
+[Test]
+title DOM_chunk_not_wf_08
+create xmlengtester test
+test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_not_wf_00.xml 256
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_08.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_08.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_not_wf_08.ref
+delete test
+[Endtest]
+##############################################################
+# Error in document structure in 40. chunk
+##############################################################
+
+[Test]
+title DOM_chunk_not_wf_09
+create xmlengtester test
+test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_not_wf_09.xml 256
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_09.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_09.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_not_wf_09.ref
+delete test
+[Endtest]
+##############################################################
+# Error in document structure in 50. chunk
+##############################################################
+
+[Test]
+title DOM_chunk_not_wf_10
+create xmlengtester test
+test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_not_wf_10.xml 256
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_10.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_10.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_not_wf_10.ref
+delete test
+[Endtest]
+##############################################################
+# Error in document structure in 50. chunk
+##############################################################
+
+[Test]
+title DOM_chunk_not_wf_11
+create xmlengtester test
+test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_not_wf_10.xml -11
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_11.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_11.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_not_wf_11.ref
+delete test
+[Endtest]
+##############################################################
+# Error input file
+##############################################################
+
+[Test]
+title DOM_chunk_not_wf_12
+create xmlengtester test
+test ParseFileChunk c:\testing\data\xmleng\efute\input\filecontainer\test.jpg 256
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_12.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_not_wf_12.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_not_wf_12.ref
+delete test
+[Endtest]
+##############################################################
+# 1 OK not full chunk
+##############################################################
+
+[Test]
+title DOM_chunk_wf_01
+create xmlengtester test
+test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_01.xml 256
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_01.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_01.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_wf_01.ref
+delete test
+[Endtest]
+##############################################################
+# 1 OK chunk
+##############################################################
+
+[Test]
+title DOM_chunk_wf_02
+create xmlengtester test
+test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_02.xml 256
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_02.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_02.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_wf_02.ref
+delete test
+[Endtest]
+##############################################################
+# 2 OK not full chunks
+##############################################################
+
+[Test]
+title DOM_chunk_wf_03
+create xmlengtester test
+test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_03.xml 256
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_03.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_03.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_wf_03.ref
+delete test
+[Endtest]
+##############################################################
+# 3 OK chunks and 1 byte
+##############################################################
+
+[Test]
+title DOM_chunk_wf_04
+create xmlengtester test
+test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_04.xml 256
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_04.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_04.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_wf_04.ref
+delete test
+[Endtest]
+##############################################################
+# 5 OK not full chunks
+##############################################################
+
+[Test]
+title DOM_chunk_wf_05
+create xmlengtester test
+test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_05.xml 256
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_05.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_05.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_wf_05.ref
+delete test
+[Endtest]
+##############################################################
+# 15 OK not full chunks
+##############################################################
+
+[Test]
+title DOM_chunk_wf_06
+create xmlengtester test
+test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_06.xml 256
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_06.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_06.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_wf_06.ref
+delete test
+[Endtest]
+##############################################################
+#24 OK full chunks
+##############################################################
+
+[Test]
+title DOM_chunk_wf_07
+create xmlengtester test
+test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_07.xml 256
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_07.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_07.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_wf_07.ref
+delete test
+[Endtest]
+##############################################################
+# 29 OK not full chunks
+##############################################################
+
+[Test]
+title DOM_chunk_wf_08
+create xmlengtester test
+test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_08.xml 256
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_08.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_08.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_wf_08.ref
+delete test
+[Endtest]
+##############################################################
+# 40 OK not full chunks
+##############################################################
+
+[Test]
+title DOM_chunk_wf_09
+create xmlengtester test
+test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_09.xml 256
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_09.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_09.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_wf_09.ref
+delete test
+[Endtest]
+##############################################################
+# 50 OK full chunks
+##############################################################
+
+[Test]
+title DOM_chunk_wf_10
+create xmlengtester test
+test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_10.xml 256
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_10.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_10.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_wf_10.ref
+delete test
+[Endtest]
+##############################################################
+# chunk size 10000
+##############################################################
+
+[Test]
+title DOM_chunk_wf_11
+create xmlengtester test
+test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_10.xml 10000
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_11.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_11.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_wf_10.ref
+delete test
+[Endtest]
+##############################################################
+# chunk size 50000
+##############################################################
+
+[Test]
+title DOM_chunk_wf_12
+create xmlengtester test
+test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_10.xml 50000
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_12.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_12.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_wf_10.ref
+delete test
+[Endtest]
+
\ No newline at end of file
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/DomElem.cfg
--- a/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/DomElem.cfg Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/DomElem.cfg Wed Jun 23 20:27:15 2010 +0530
@@ -1,66 +1,67 @@
-##############################################################
-# Check function SetTextNoEncL
-##############################################################
-
-[Test]
-title ELEMENT Check SetTextNoEncL 001
-create xmlengtester test
-test SetTextNoEncTest c:\testing\data\xmleng\efute\input\dom\DOM_elem_000.xml c:\testing\data\xmleng\efute\input\dom\DOM_elem_001.xml c:\testing\data\xmleng\efute\output\dom\DOM_elem_001.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_elem_001.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_elem_001.ref
-delete test
-[Endtest]
-##############################################################
-# Check function SetTextNoEncL
-##############################################################
-
-[Test]
-title ELEMENT Check SetTextNoEncL 002
-create xmlengtester test
-test SetTextNoEncTest c:\testing\data\xmleng\efute\input\dom\DOM_elem_000.xml c:\testing\data\xmleng\efute\input\dom\DOM_elem_002.xml c:\testing\data\xmleng\efute\output\dom\DOM_elem_002.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_elem_002.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_elem_002.ref
-delete test
-[Endtest]
-##############################################################
-# Check function SetTextNoEncL
-##############################################################
-
-[Test]
-title ELEMENT Check SetTextNoEncL 003
-create xmlengtester test
-test SetTextNoEncTest c:\testing\data\xmleng\efute\input\dom\DOM_elem_000.xml c:\testing\data\xmleng\efute\input\dom\DOM_elem_003.xml c:\testing\data\xmleng\efute\output\dom\DOM_elem_003.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_elem_003.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_elem_003.ref
-delete test
-[Endtest]
-##############################################################
-# Check function AppendTextNoEncL
-##############################################################
-
-[Test]
-title ELEMENT Check AppendTextNoEncL 004
-create xmlengtester test
-test AppendTextNoEncTest c:\testing\data\xmleng\efute\input\dom\DOM_elem_000.xml c:\testing\data\xmleng\efute\input\dom\DOM_elem_004.xml c:\testing\data\xmleng\efute\output\dom\DOM_elem_004.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_elem_004.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_elem_004.ref
-delete test
-[Endtest]
-##############################################################
-# Check function AppendTextNoEncL
-##############################################################
-
-[Test]
-title ELEMENT Check AppendTextNoEncL 005
-create xmlengtester test
-test AppendTextNoEncTest c:\testing\data\xmleng\efute\input\dom\DOM_elem_000.xml c:\testing\data\xmleng\efute\input\dom\DOM_elem_005.xml c:\testing\data\xmleng\efute\output\dom\DOM_elem_005.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_elem_005.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_elem_005.ref
-delete test
-[Endtest]
-##############################################################
-# Check function AppendTextNoEncL
-##############################################################
-
-[Test]
-title ELEMENT Check AppendTextNoEncL 006
-create xmlengtester test
-test AppendTextNoEncTest c:\testing\data\xmleng\efute\input\dom\DOM_elem_000.xml c:\testing\data\xmleng\efute\input\dom\DOM_elem_006.xml c:\testing\data\xmleng\efute\output\dom\DOM_elem_006.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_elem_006.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_elem_006.ref
-delete test
-[Endtest]
+##############################################################
+# Check function SetTextNoEncL
+##############################################################
+
+[Test]
+title ELEMENT Check SetTextNoEncL 001
+create xmlengtester test
+test SetTextNoEncTest c:\testing\data\xmleng\efute\input\dom\DOM_elem_000.xml c:\testing\data\xmleng\efute\input\dom\DOM_elem_001.xml c:\testing\data\xmleng\efute\output\dom\DOM_elem_001.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_elem_001.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_elem_001.ref
+delete test
+[Endtest]
+##############################################################
+# Check function SetTextNoEncL
+##############################################################
+
+[Test]
+title ELEMENT Check SetTextNoEncL 002
+create xmlengtester test
+test SetTextNoEncTest c:\testing\data\xmleng\efute\input\dom\DOM_elem_000.xml c:\testing\data\xmleng\efute\input\dom\DOM_elem_002.xml c:\testing\data\xmleng\efute\output\dom\DOM_elem_002.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_elem_002.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_elem_002.ref
+delete test
+[Endtest]
+##############################################################
+# Check function SetTextNoEncL
+##############################################################
+
+[Test]
+title ELEMENT Check SetTextNoEncL 003
+create xmlengtester test
+test SetTextNoEncTest c:\testing\data\xmleng\efute\input\dom\DOM_elem_000.xml c:\testing\data\xmleng\efute\input\dom\DOM_elem_003.xml c:\testing\data\xmleng\efute\output\dom\DOM_elem_003.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_elem_003.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_elem_003.ref
+delete test
+[Endtest]
+##############################################################
+# Check function AppendTextNoEncL
+##############################################################
+
+[Test]
+title ELEMENT Check AppendTextNoEncL 004
+create xmlengtester test
+test AppendTextNoEncTest c:\testing\data\xmleng\efute\input\dom\DOM_elem_000.xml c:\testing\data\xmleng\efute\input\dom\DOM_elem_004.xml c:\testing\data\xmleng\efute\output\dom\DOM_elem_004.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_elem_004.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_elem_004.ref
+delete test
+[Endtest]
+##############################################################
+# Check function AppendTextNoEncL
+##############################################################
+
+[Test]
+title ELEMENT Check AppendTextNoEncL 005
+create xmlengtester test
+test AppendTextNoEncTest c:\testing\data\xmleng\efute\input\dom\DOM_elem_000.xml c:\testing\data\xmleng\efute\input\dom\DOM_elem_005.xml c:\testing\data\xmleng\efute\output\dom\DOM_elem_005.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_elem_005.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_elem_005.ref
+delete test
+[Endtest]
+##############################################################
+# Check function AppendTextNoEncL
+##############################################################
+
+[Test]
+title ELEMENT Check AppendTextNoEncL 006
+create xmlengtester test
+test AppendTextNoEncTest c:\testing\data\xmleng\efute\input\dom\DOM_elem_000.xml c:\testing\data\xmleng\efute\input\dom\DOM_elem_006.xml c:\testing\data\xmleng\efute\output\dom\DOM_elem_006.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_elem_006.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_elem_006.ref
+delete test
+[Endtest]
+
\ No newline at end of file
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/DomEncoding.cfg
--- a/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/DomEncoding.cfg Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/DomEncoding.cfg Wed Jun 23 20:27:15 2010 +0530
@@ -1,122 +1,123 @@
-##############################################################
-# Check if XML file coded with UTF8 is parsed correctly.
-##############################################################
-
-[Test]
-title encoding_UTF8
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_001.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_001.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_001.xml c:\testing\data\xmleng\efute\pattern\Encoding\DOM_XML_encoding_001.ref
-delete test
-[Endtest]
-##############################################################
-# Check if XML file coded with UTF16 is parsed correctly.
-##############################################################
-
-[Test]
-title encoding_UTF16
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_002.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_002.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_002.xml c:\testing\data\xmleng\efute\pattern\Encoding\DOM_XML_encoding_002.ref
-delete test
-[Endtest]
-##############################################################
-# Check if XML file coded with UTF16 BE is parsed correctly.
-##############################################################
-
-[Test]
-title encoding_UTF16BE
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_003.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_003.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_003.xml c:\testing\data\xmleng\efute\pattern\Encoding\DOM_XML_encoding_003.ref
-delete test
-[Endtest]
-##############################################################
-# Check if XML file coded with UTF16 LE is parsed correctly.
-##############################################################
-
-[Test]
-title encoding_UTF16LE
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_004.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_004.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_004.xml c:\testing\data\xmleng\efute\pattern\Encoding\DOM_XML_encoding_004.ref
-delete test
-[Endtest]
-##############################################################
-# Check if XML file coded with ISO-8859-1 is parsed correctly.
-##############################################################
-
-[Test]
-title encoding_ISO-8859-1
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_005.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_005.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_005.xml c:\testing\data\xmleng\efute\pattern\Encoding\DOM_XML_encoding_005.ref
-delete test
-[Endtest]
-##############################################################
-# Check if XML file coded with ASCII is parsed correctly.
-##############################################################
-
-[Test]
-title encoding_ASCII
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_006.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_006.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_006.xml c:\testing\data\xmleng\efute\pattern\Encoding\DOM_XML_encoding_006.ref
-delete test
-[Endtest]
-##############################################################
-# Check if correct error is generated when wrong encodingis
-# set.
-##############################################################
-
-[Test]
-title encoding_WRONG(ISO-8859-2)
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_007.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_007.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_007.xml c:\testing\data\xmleng\efute\pattern\Encoding\DOM_XML_encoding_007.ref
-delete test
-[Endtest]
-##############################################################
-# Check if file with supported encoding but different then in
-# xml prolog is processed
-##############################################################
-
-[Test]
-title encoding_differentCodeThanProlog
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_008.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_008.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_008.xml c:\testing\data\xmleng\efute\pattern\Encoding\DOM_XML_encoding_008.ref
-delete test
-[Endtest]
-##############################################################
-# Check if file without xml prolog is processed.
-##############################################################
-
-[Test]
-title encoding_NoProlog(ISO)
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_009.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_009.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_009.xml c:\testing\data\xmleng\efute\pattern\Encoding\DOM_XML_encoding_009.ref
-delete test
-[Endtest]
-##############################################################
-# Check if file without xml prolog is processed.
-##############################################################
-
-[Test]
-title encoding_NoProlog(UTF-16BE)
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_010.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_010.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_010.xml c:\testing\data\xmleng\efute\pattern\Encoding\DOM_XML_encoding_010.ref
-delete test
-[Endtest]
+##############################################################
+# Check if XML file coded with UTF8 is parsed correctly.
+##############################################################
+
+[Test]
+title encoding_UTF8
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_001.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_001.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_001.xml c:\testing\data\xmleng\efute\pattern\Encoding\DOM_XML_encoding_001.ref
+delete test
+[Endtest]
+##############################################################
+# Check if XML file coded with UTF16 is parsed correctly.
+##############################################################
+
+[Test]
+title encoding_UTF16
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_002.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_002.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_002.xml c:\testing\data\xmleng\efute\pattern\Encoding\DOM_XML_encoding_002.ref
+delete test
+[Endtest]
+##############################################################
+# Check if XML file coded with UTF16 BE is parsed correctly.
+##############################################################
+
+[Test]
+title encoding_UTF16BE
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_003.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_003.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_003.xml c:\testing\data\xmleng\efute\pattern\Encoding\DOM_XML_encoding_003.ref
+delete test
+[Endtest]
+##############################################################
+# Check if XML file coded with UTF16 LE is parsed correctly.
+##############################################################
+
+[Test]
+title encoding_UTF16LE
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_004.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_004.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_004.xml c:\testing\data\xmleng\efute\pattern\Encoding\DOM_XML_encoding_004.ref
+delete test
+[Endtest]
+##############################################################
+# Check if XML file coded with ISO-8859-1 is parsed correctly.
+##############################################################
+
+[Test]
+title encoding_ISO-8859-1
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_005.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_005.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_005.xml c:\testing\data\xmleng\efute\pattern\Encoding\DOM_XML_encoding_005.ref
+delete test
+[Endtest]
+##############################################################
+# Check if XML file coded with ASCII is parsed correctly.
+##############################################################
+
+[Test]
+title encoding_ASCII
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_006.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_006.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_006.xml c:\testing\data\xmleng\efute\pattern\Encoding\DOM_XML_encoding_006.ref
+delete test
+[Endtest]
+##############################################################
+# Check if correct error is generated when wrong encodingis
+# set.
+##############################################################
+
+[Test]
+title encoding_WRONG(ISO-8859-2)
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_007.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_007.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_007.xml c:\testing\data\xmleng\efute\pattern\Encoding\DOM_XML_encoding_007.ref
+delete test
+[Endtest]
+##############################################################
+# Check if file with supported encoding but different then in
+# xml prolog is processed
+##############################################################
+
+[Test]
+title encoding_differentCodeThanProlog
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_008.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_008.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_008.xml c:\testing\data\xmleng\efute\pattern\Encoding\DOM_XML_encoding_008.ref
+delete test
+[Endtest]
+##############################################################
+# Check if file without xml prolog is processed.
+##############################################################
+
+[Test]
+title encoding_NoProlog(ISO)
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_009.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_009.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_009.xml c:\testing\data\xmleng\efute\pattern\Encoding\DOM_XML_encoding_009.ref
+delete test
+[Endtest]
+##############################################################
+# Check if file without xml prolog is processed.
+##############################################################
+
+[Test]
+title encoding_NoProlog(UTF-16BE)
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_010.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_010.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_010.xml c:\testing\data\xmleng\efute\pattern\Encoding\DOM_XML_encoding_010.ref
+delete test
+[Endtest]
+
\ No newline at end of file
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/DomFileCont.cfg
--- a/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/DomFileCont.cfg Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/DomFileCont.cfg Wed Jun 23 20:27:15 2010 +0530
@@ -1,270 +1,271 @@
-##############################################################
-# File Container - AdoptNode: appends document with file
-# containers to another and checks file data
-##############################################################
-
-[Test]
-title File_Container_AdoptNode
-create xmlengtester test
-test FileContainerAdoptNode
-delete test
-[Endtest]
-##############################################################
-# File Container - Cid
-##############################################################
-
-[Test]
-title File_Container_Cid
-create xmlengtester test
-test FileContainerCid
-delete test
-[Endtest]
-##############################################################
-# File Container - Cid: create 2 filecontainers with the same
-# cid,create third filecontainer (other cid), do ReplaceWith:
-# filecontainer1 -> filecontainer2, returns 2 filecontainers
-##############################################################
-
-[Test]
-title File_Container_CidError
-create xmlengtester test
-test FileContainerCidError
-delete test
-[Endtest]
-##############################################################
-# File Container - Clone
-##############################################################
-
-[Test]
-title File_Container_Clone
-create xmlengtester test
-test FileContainerClone
-delete test
-[Endtest]
-##############################################################
-# File Container - CopyTo
-##############################################################
-
-[Test]
-title File_Container_CopyTo
-create xmlengtester test
-test FileContainerCopyTo
-delete test
-[Endtest]
-##############################################################
-# File Container - Copy: copy container, check its data: cid,
-# size, and chech if on list there is 3elements+1copy
-##############################################################
-
-[Test]
-title File_Container_Copy
-create xmlengtester test
-test FileContainerCopy
-delete test
-[Endtest]
-##############################################################
-# File Container - Copy: copy node with file containers,
-# checks its element data
-##############################################################
-
-[Test]
-title File_Container_Copy2
-create xmlengtester test
-test FileContainerCopy2
-delete test
-[Endtest]
-##############################################################
-# File Container - Copy3: copy node with file containers to
-# another RDocument
-##############################################################
-
-[Test]
-title File_Container_Copy3
-create xmlengtester test
-test FileContainerCopy3
-delete test
-[Endtest]
-##############################################################
-# File Container - Copy4: copy grandparents, check if file
-# containers are there and not changed
-##############################################################
-
-[Test]
-title File_Container_Copy4
-create xmlengtester test
-test FileContainerCopy4
-delete test
-[Endtest]
-##############################################################
-# File Container - File: checks file container name
-##############################################################
-
-[Test]
-title File_Container_File
-create xmlengtester test
-test FileContainerFile
-delete test
-[Endtest]
-##############################################################
-# File Container - GetList: creates 19 filecontainers and
-# checks its name, cid...
-##############################################################
-
-[Test]
-title File_Container_GetList
-create xmlengtester test
-test FileContainerGetList
-delete test
-[Endtest]
-##############################################################
-# File Container - MoveAfterSibling: checks moving parent node
-# after another node
-##############################################################
-
-[Test]
-title File_Container_MoveAfterSibling
-create xmlengtester test
-test FileContainerMoveAfterSibling
-delete test
-[Endtest]
-##############################################################
-# File Container - MoveBeforeSibling: checks moving parent node
-# before another node
-##############################################################
-
-[Test]
-title File_Container_MoveBeforeSibling
-create xmlengtester test
-test FileContainerMoveBeforeSibling
-delete test
-[Endtest]
-##############################################################
-# File Container - MoveTo: checks moving parent node
-# to the new place in nodes tree
-##############################################################
-
-[Test]
-title File_Container_MoveTo
-create xmlengtester test
-test FileContainerMoveTo
-delete test
-[Endtest]
-##############################################################
-# File Container - NodeType
-##############################################################
-
-[Test]
-title File_Container_NodeType
-create xmlengtester test
-test FileContainerNodeType
-delete test
-[Endtest]
-##############################################################
-# File Container - ReconcileNamespaces: checks files status
-# after operation - reconcile - on namespaces
-##############################################################
-
-[Test]
-title File_Container_ReconcileNamespaces
-create xmlengtester test
-test FileContainerReconcileNamespaces
-delete test
-[Endtest]
-##############################################################
-# File Container - Remove:input 3 files, removes second,
-# check if cid of 1 and 3 comapare with test data -
-# returns 2 files in list
-##############################################################
-
-[Test]
-title File_Container_Remove
-create xmlengtester test
-test FileContainerRemove
-delete test
-[Endtest]
-##############################################################
-# File Container - Remove2: input third file with the same
-# cid as first file, remove it - returns 2 files in list
-##############################################################
-
-[Test]
-title File_Container_Remove2
-create xmlengtester test
-test FileContainerRemove2
-delete test
-[Endtest]
-##############################################################
-# File Container - Remove3: input some other data and move it
-# before file container end then remove some file from list
-##############################################################
-
-[Test]
-title File_Container_Remove3
-create xmlengtester test
-test FileContainerRemove3
-delete test
-[Endtest]
-##############################################################
-# File Container - ReplaceWith: input 2 files,
-# replace second one (with cid1) with third one (cid2),
-##############################################################
-
-[Test]
-title File_Container_ReplaceWith
-create xmlengtester test
-test FileContainerReplaceWith
-delete test
-[Endtest]
-##############################################################
-# File Container - SetAsFirstSibling: checks moving parent node
-# to the first place
-##############################################################
-
-[Test]
-title File_Container_SetAsFirstSibling
-create xmlengtester test
-test FileContainerSetAsFirstSibling
-delete test
-[Endtest]
-##############################################################
-# File Container - SetAsLastSibling: checks moving parent node
-# to the last place
-##############################################################
-
-[Test]
-title File_Container_SetAsLastSibling
-create xmlengtester test
-test FileContainerSetAsLastSibling
-delete test
-[Endtest]
-##############################################################
-# File Container - Size
-##############################################################
-
-[Test]
-title File_Container_Size
-create xmlengtester test
-test FileContainerSize
-delete test
-[Endtest]
-##############################################################
-# File Container - SubstituteFor
-##############################################################
-
-[Test]
-title File_Container_SubstituteFor
-create xmlengtester test
-test FileContainerSubstituteFor
-delete test
-[Endtest]
-##############################################################
-# File Container - Unlink: input 3 files, unlink one,
-# list.count should be 2
-##############################################################
-
-[Test]
-title File_Container_Unlink
-create xmlengtester test
-test FileContainerUnlink
-delete test
-[Endtest]
+##############################################################
+# File Container - AdoptNode: appends document with file
+# containers to another and checks file data
+##############################################################
+
+[Test]
+title File_Container_AdoptNode
+create xmlengtester test
+test FileContainerAdoptNode
+delete test
+[Endtest]
+##############################################################
+# File Container - Cid
+##############################################################
+
+[Test]
+title File_Container_Cid
+create xmlengtester test
+test FileContainerCid
+delete test
+[Endtest]
+##############################################################
+# File Container - Cid: create 2 filecontainers with the same
+# cid,create third filecontainer (other cid), do ReplaceWith:
+# filecontainer1 -> filecontainer2, returns 2 filecontainers
+##############################################################
+
+[Test]
+title File_Container_CidError
+create xmlengtester test
+test FileContainerCidError
+delete test
+[Endtest]
+##############################################################
+# File Container - Clone
+##############################################################
+
+[Test]
+title File_Container_Clone
+create xmlengtester test
+test FileContainerClone
+delete test
+[Endtest]
+##############################################################
+# File Container - CopyTo
+##############################################################
+
+[Test]
+title File_Container_CopyTo
+create xmlengtester test
+test FileContainerCopyTo
+delete test
+[Endtest]
+##############################################################
+# File Container - Copy: copy container, check its data: cid,
+# size, and chech if on list there is 3elements+1copy
+##############################################################
+
+[Test]
+title File_Container_Copy
+create xmlengtester test
+test FileContainerCopy
+delete test
+[Endtest]
+##############################################################
+# File Container - Copy: copy node with file containers,
+# checks its element data
+##############################################################
+
+[Test]
+title File_Container_Copy2
+create xmlengtester test
+test FileContainerCopy2
+delete test
+[Endtest]
+##############################################################
+# File Container - Copy3: copy node with file containers to
+# another RDocument
+##############################################################
+
+[Test]
+title File_Container_Copy3
+create xmlengtester test
+test FileContainerCopy3
+delete test
+[Endtest]
+##############################################################
+# File Container - Copy4: copy grandparents, check if file
+# containers are there and not changed
+##############################################################
+
+[Test]
+title File_Container_Copy4
+create xmlengtester test
+test FileContainerCopy4
+delete test
+[Endtest]
+##############################################################
+# File Container - File: checks file container name
+##############################################################
+
+[Test]
+title File_Container_File
+create xmlengtester test
+test FileContainerFile
+delete test
+[Endtest]
+##############################################################
+# File Container - GetList: creates 19 filecontainers and
+# checks its name, cid...
+##############################################################
+
+[Test]
+title File_Container_GetList
+create xmlengtester test
+test FileContainerGetList
+delete test
+[Endtest]
+##############################################################
+# File Container - MoveAfterSibling: checks moving parent node
+# after another node
+##############################################################
+
+[Test]
+title File_Container_MoveAfterSibling
+create xmlengtester test
+test FileContainerMoveAfterSibling
+delete test
+[Endtest]
+##############################################################
+# File Container - MoveBeforeSibling: checks moving parent node
+# before another node
+##############################################################
+
+[Test]
+title File_Container_MoveBeforeSibling
+create xmlengtester test
+test FileContainerMoveBeforeSibling
+delete test
+[Endtest]
+##############################################################
+# File Container - MoveTo: checks moving parent node
+# to the new place in nodes tree
+##############################################################
+
+[Test]
+title File_Container_MoveTo
+create xmlengtester test
+test FileContainerMoveTo
+delete test
+[Endtest]
+##############################################################
+# File Container - NodeType
+##############################################################
+
+[Test]
+title File_Container_NodeType
+create xmlengtester test
+test FileContainerNodeType
+delete test
+[Endtest]
+##############################################################
+# File Container - ReconcileNamespaces: checks files status
+# after operation - reconcile - on namespaces
+##############################################################
+
+[Test]
+title File_Container_ReconcileNamespaces
+create xmlengtester test
+test FileContainerReconcileNamespaces
+delete test
+[Endtest]
+##############################################################
+# File Container - Remove:input 3 files, removes second,
+# check if cid of 1 and 3 comapare with test data -
+# returns 2 files in list
+##############################################################
+
+[Test]
+title File_Container_Remove
+create xmlengtester test
+test FileContainerRemove
+delete test
+[Endtest]
+##############################################################
+# File Container - Remove2: input third file with the same
+# cid as first file, remove it - returns 2 files in list
+##############################################################
+
+[Test]
+title File_Container_Remove2
+create xmlengtester test
+test FileContainerRemove2
+delete test
+[Endtest]
+##############################################################
+# File Container - Remove3: input some other data and move it
+# before file container end then remove some file from list
+##############################################################
+
+[Test]
+title File_Container_Remove3
+create xmlengtester test
+test FileContainerRemove3
+delete test
+[Endtest]
+##############################################################
+# File Container - ReplaceWith: input 2 files,
+# replace second one (with cid1) with third one (cid2),
+##############################################################
+
+[Test]
+title File_Container_ReplaceWith
+create xmlengtester test
+test FileContainerReplaceWith
+delete test
+[Endtest]
+##############################################################
+# File Container - SetAsFirstSibling: checks moving parent node
+# to the first place
+##############################################################
+
+[Test]
+title File_Container_SetAsFirstSibling
+create xmlengtester test
+test FileContainerSetAsFirstSibling
+delete test
+[Endtest]
+##############################################################
+# File Container - SetAsLastSibling: checks moving parent node
+# to the last place
+##############################################################
+
+[Test]
+title File_Container_SetAsLastSibling
+create xmlengtester test
+test FileContainerSetAsLastSibling
+delete test
+[Endtest]
+##############################################################
+# File Container - Size
+##############################################################
+
+[Test]
+title File_Container_Size
+create xmlengtester test
+test FileContainerSize
+delete test
+[Endtest]
+##############################################################
+# File Container - SubstituteFor
+##############################################################
+
+[Test]
+title File_Container_SubstituteFor
+create xmlengtester test
+test FileContainerSubstituteFor
+delete test
+[Endtest]
+##############################################################
+# File Container - Unlink: input 3 files, unlink one,
+# list.count should be 2
+##############################################################
+
+[Test]
+title File_Container_Unlink
+create xmlengtester test
+test FileContainerUnlink
+delete test
+[Endtest]
+
\ No newline at end of file
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/DomModif.cfg
--- a/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/DomModif.cfg Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/DomModif.cfg Wed Jun 23 20:27:15 2010 +0530
@@ -1,495 +1,496 @@
-##############################################################
-# Create new document using DOM
-##############################################################
-
-[Test]
-title DOM Create Document
-create xmlengtester test
-test CreateDocument
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_001.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_001.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_001.ref
-delete test
-[Endtest]
-##############################################################
-# Check document parameters using DOM
-##############################################################
-
-[Test]
-title DOM Check Document Parameters
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_01.xml
-test CheckDocumentParameters
-delete test
-[Endtest]
-##############################################################
-# Create new document element using DOM
-##############################################################
-
-[Test]
-title DOM Create Document Element
-create xmlengtester test
-test CreateDocumentElement
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_002.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_002.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_002.ref
-delete test
-[Endtest]
-##############################################################
-# Create new document from node using DOM
-##############################################################
-
-[Test]
-title DOM Create Document from Node
-create xmlengtester test
-test CreateDocumentFromNode
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_003.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_003.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_003.ref
-delete test
-[Endtest]
-##############################################################
-# Clone document using DOM
-##############################################################
-
-[Test]
-title DOM Clone Document
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_01.xml
-test CloneDocument
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_004.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_004.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_004.ref
-delete test
-[Endtest]
-##############################################################
-# Change encoding using DOM
-##############################################################
-
-[Test]
-title DOM Change Encoding
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_01.xml
-test SaveXmlToUTF16LE c:\testing\data\xmleng\efute\output\dom\DOM_modif_005.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_005.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_005.ref
-delete test
-[Endtest]
-##############################################################
-# Check not null element using DOM
-##############################################################
-
-[Test]
-title DOM Check NotNullElement Function
-create xmlengtester test
-test CheckNotNullElement
-delete test
-[Endtest]
-##############################################################
-# Document sibling modification using DOM
-##############################################################
-
-[Test]
-title DOM Sibling Modification
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_03.xml
-test CheckSiblingFunctions
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_006.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_006.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_006.ref
-delete test
-[Endtest]
-##############################################################
-# Check node parameters using DOM
-##############################################################
-
-[Test]
-title DOM Check Node Parameters
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_02.xml
-test CheckNodeParameters
-delete test
-[Endtest]
-##############################################################
-# Check parent nodes using DOM
-##############################################################
-
-[Test]
-title DOM Check Parent Nodes
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_02.xml
-test ParentNodes
-delete test
-[Endtest]
-##############################################################
-# Check Processing instruction functions using DOM
-##############################################################
-
-[Test]
-title DOM Check Processing instruction functions
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_04.xml
-test CheckProcessingInstruction
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_008.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_008.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_008.ref
-delete test
-[Endtest]
-##############################################################
-# Check Comments function using DOM
-##############################################################
-
-[Test]
-title DOM Check Comments function
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_04.xml
-test CheckComments
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_009.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_009.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_009.ref
-delete test
-[Endtest]
-##############################################################
-# Check CDATA function using DOM
-##############################################################
-
-[Test]
-title DOM Check CDATA function
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_05.xml
-test CheckCDATA
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_010.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_010.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_010.ref
-delete test
-[Endtest]
-##############################################################
-# Check Text Node function using DOM
-##############################################################
-
-[Test]
-title DOM Check Text Node function
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_05.xml
-test CheckTextNode
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_011.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_011.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_011.ref
-delete test
-[Endtest]
-##############################################################
-# Check Node Namespaces function using DOM
-##############################################################
-
-[Test]
-title DOM Check Node Namespaces function
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_02.xml
-test NodeNamespacePocessing
-delete test
-[Endtest]
-##############################################################
-# Check Entity Reference function using DOM
-##############################################################
-
-[Test]
-title DOM Check Entity Reference function
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_06.xml
-test CheckEntityRef
-delete test
-[Endtest]
-##############################################################
-# Node Tree Modification using DOM
-##############################################################
-
-[Test]
-title DOM Node Tree Modification
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_07.xml
-test NodeTreeModification
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_012.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_012.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_012.ref
-delete test
-[Endtest]
-##############################################################
-# Node Tree Deleting
-##############################################################
-
-[Test]
-title DOM Node Tree Deleting
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_07.xml
-test NodeTreeDeleting
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_013.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_013.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_013.ref
-delete test
-[Endtest]
-##############################################################
-# Check Attributes function
-##############################################################
-
-[Test]
-title DOM Check Attributes function
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_08.xml
-test CheckAttributes
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_014.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_014.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_014.ref
-delete test
-[Endtest]
-##############################################################
-# Element Namespace Pocessing function
-##############################################################
-
-[Test]
-title DOM Element Namespace Pocessing function
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_02.xml
-test ElementNamespacePocessing
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_015.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_015.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_015.ref
-delete test
-[Endtest]
-##############################################################
-# Check Node List function
-##############################################################
-
-[Test]
-title DOM Check Node List function
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_07.xml
-test CheckNodeList
-delete test
-[Endtest]
-##############################################################
-# Check Element Attributes function
-##############################################################
-
-[Test]
-title DOM Check Element Attributes function
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_08.xml
-test CheckElementAttributes
-delete test
-[Endtest]
-##############################################################
-# Check Modification of Attributes function
-##############################################################
-
-[Test]
-title DOM Check Modification of Attributes function
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_08.xml
-test CheckModifAttributes
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_016.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_016.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_016.ref
-delete test
-[Endtest]
-##############################################################
-# Adding Attributes to Element function
-##############################################################
-
-[Test]
-title DOM Adding Attributes to Element function
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_02.xml
-test AddingAttributes
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_017.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_017.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_017.ref
-delete test
-[Endtest]
-##############################################################
-# Adding Elements to Element function
-##############################################################
-
-[Test]
-title DOM Adding Elements to Element function
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_02.xml
-test AddingElements
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_018.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_018.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_018.ref
-delete test
-[Endtest]
-##############################################################
-# Check Coping Elements function
-##############################################################
-
-[Test]
-title DOM Check Coping Elements function
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_07.xml
-test CheckModifElement
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_019.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_019.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_019.ref
-delete test
-[Endtest]
-##############################################################
-# Set Element Text function
-##############################################################
-
-[Test]
-title DOM Set Element Text function
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_09.xml
-test SetElementText
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_020.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_020.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_020.ref
-delete test
-[Endtest]
-
-##############################################################
-# Node Tree Modification using DOM
-##############################################################
-
-[Test]
-title DOM InnerXml
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_07.xml
-test CheckInnerXml c:\testing\data\xmleng\efute\output\dom\DOM_inner_01.xml c:\testing\data\xmleng\efute\output\dom\DOM_inner_02.xml c:\testing\data\xmleng\efute\output\dom\DOM_inner_03.xml c:\testing\data\xmleng\efute\output\dom\DOM_inner_04.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_inner_01.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_inner_01.ref
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_inner_02.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_inner_02.ref
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_inner_03.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_inner_03.ref
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_inner_04.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_inner_04.ref
-delete test
-[Endtest]
-##############################################################
-# Node Tree Modification using DOM
-##############################################################
-
-[Test]
-title DOM OuterXml
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_07.xml
-test CheckOuterXml c:\testing\data\xmleng\efute\output\dom\DOM_outer_01.xml c:\testing\data\xmleng\efute\output\dom\DOM_outer_02.xml c:\testing\data\xmleng\efute\output\dom\DOM_outer_03.xml c:\testing\data\xmleng\efute\output\dom\DOM_outer_04.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_outer_01.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_outer_01.ref
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_outer_02.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_outer_02.ref
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_outer_03.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_outer_03.ref
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_outer_04.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_outer_04.ref
-delete test
-[Endtest]
-##############################################################
-# Change encoding using DOM
-##############################################################
-
-[Test]
-title DOM Serialization flags
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_01.xml
-test SaveXmlToUTF16LE c:\testing\data\xmleng\efute\output\dom\DOM_modif_022.xml flag
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_022.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_022.ref
-delete test
-[Endtest]
-#######################################################################################
-# Check if predefined entities are not converted into characters they represent
-#######################################################################################
-
-[Test]
-title DOM Attr SetValueNoEncL
-create xmlengtester test
-test SetValueNoEncTest c:\testing\data\xmleng\efute\input\dom\DOM_elem_000.xml c:\testing\data\xmleng\efute\output\dom\DOM_modif_034.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_034.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_034.ref
-delete test
-[Endtest]
-#######################################################################################
-# Check function RXmlEngDocument::Implementation()
-#######################################################################################
-
-[Test]
-title DOM Document Implementation
-create xmlengtester test
-test CreateDocument2 c:\testing\data\xmleng\efute\output\dom\DOM_modif_035.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_035.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_035.ref
-delete test
-[Endtest]#######################################################################################
-# Check if entity reference is created properly
-#######################################################################################
-
-[Test]
-title DOM Document CreateEntityReferenceL
-create xmlengtester test
-test CreateEntityReferenceTest c:\testing\data\xmleng\efute\input\dom\DOM_elem_000.xml c:\testing\data\xmleng\efute\output\dom\DOM_modif_036.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_036.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_036.ref
-delete test
-[Endtest]##############################################################
-# Parse file with a handle to a file server session
-##############################################################
-
-[Test]
-title DOM Parse with file stream
-create xmlengtester test
-test ParseFileDom2 c:\testing\data\xmleng\efute\input\dom\DOM_modif_01.xml
-delete test
-[Endtest]
-##############################################################
-# Parse file from buffer
-##############################################################
-
-[Test]
-title DOM Parse from buffer
-create xmlengtester test
-test ParseFileDom3 c:\testing\data\xmleng\efute\input\dom\DOM_modif_01.xml
-delete test
-[Endtest]
-##############################################################
-# Look up namspace with given prefix
-##############################################################
-
-[Test]
-title DOM look for namespace by prefix
-create xmlengtester test
-test LookupNamespaceByPrefixTest c:\testing\data\xmleng\efute\input\dom\DOM_modif_10.xml S
-delete test
-[Endtest]
-##############################################################
-# Look up namspace with given uri
-##############################################################
-
-[Test]
-title DOM look for namespace by uri
-create xmlengtester test
-test LookupNamespaceByUriTest c:\testing\data\xmleng\efute\input\dom\DOM_modif_10.xml
-delete test
-[Endtest]
-##############################################################
-# Test removing all node's children
-##############################################################
-
-[Test]
-title DOM Remove Children
-create xmlengtester test
-test RemoveChildrenTest c:\testing\data\xmleng\efute\input\dom\DOM_modif_10.xml c:\testing\data\xmleng\efute\output\dom\DOM_modif_041.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_041.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_041.ref
-delete test
-[Endtest]
-##############################################################
-# Create, append, delete user data. Using external intrerface
-##############################################################
-
-[Test]
-title DOM User Data
-create xmlengtester test
-test UserDataTest c:\testing\data\xmleng\efute\input\dom\DOM_modif_01.xml c:\testing\data\xmleng\efute\input\containers\login.gif
-delete test
-[Endtest]
-##############################################################
-# Base Uri test
-##############################################################
-
-[Test]
-title DOM Base Uri
-create xmlengtester test
-test BaseUriTest
-delete test
-[Endtest]
-##############################################################
-# Look up namspace with given prefix in parent nodes
-##############################################################
-
-[Test]
-title DOM look for namesp by pref in parent nodes
-create xmlengtester test
-test LookupNamespaceByPrefixTest2 c:\testing\data\xmleng\efute\input\dom\DOM_modif_10.xml
-delete test
-[Endtest]
-##############################################################
-# Look up namspace with given uri in parent nodes
-##############################################################
-
-[Test]
-title DOM look for namesp by uri in parent nodes
-create xmlengtester test
-test LookupNamespaceByUriTest2 c:\testing\data\xmleng\efute\input\dom\DOM_modif_10.xml
-delete test
-[Endtest]
+##############################################################
+# Create new document using DOM
+##############################################################
+
+[Test]
+title DOM Create Document
+create xmlengtester test
+test CreateDocument
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_001.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_001.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_001.ref
+delete test
+[Endtest]
+##############################################################
+# Check document parameters using DOM
+##############################################################
+
+[Test]
+title DOM Check Document Parameters
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_01.xml
+test CheckDocumentParameters
+delete test
+[Endtest]
+##############################################################
+# Create new document element using DOM
+##############################################################
+
+[Test]
+title DOM Create Document Element
+create xmlengtester test
+test CreateDocumentElement
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_002.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_002.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_002.ref
+delete test
+[Endtest]
+##############################################################
+# Create new document from node using DOM
+##############################################################
+
+[Test]
+title DOM Create Document from Node
+create xmlengtester test
+test CreateDocumentFromNode
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_003.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_003.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_003.ref
+delete test
+[Endtest]
+##############################################################
+# Clone document using DOM
+##############################################################
+
+[Test]
+title DOM Clone Document
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_01.xml
+test CloneDocument
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_004.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_004.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_004.ref
+delete test
+[Endtest]
+##############################################################
+# Change encoding using DOM
+##############################################################
+
+[Test]
+title DOM Change Encoding
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_01.xml
+test SaveXmlToUTF16LE c:\testing\data\xmleng\efute\output\dom\DOM_modif_005.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_005.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_005.ref
+delete test
+[Endtest]
+##############################################################
+# Check not null element using DOM
+##############################################################
+
+[Test]
+title DOM Check NotNullElement Function
+create xmlengtester test
+test CheckNotNullElement
+delete test
+[Endtest]
+##############################################################
+# Document sibling modification using DOM
+##############################################################
+
+[Test]
+title DOM Sibling Modification
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_03.xml
+test CheckSiblingFunctions
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_006.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_006.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_006.ref
+delete test
+[Endtest]
+##############################################################
+# Check node parameters using DOM
+##############################################################
+
+[Test]
+title DOM Check Node Parameters
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_02.xml
+test CheckNodeParameters
+delete test
+[Endtest]
+##############################################################
+# Check parent nodes using DOM
+##############################################################
+
+[Test]
+title DOM Check Parent Nodes
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_02.xml
+test ParentNodes
+delete test
+[Endtest]
+##############################################################
+# Check Processing instruction functions using DOM
+##############################################################
+
+[Test]
+title DOM Check Processing instruction functions
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_04.xml
+test CheckProcessingInstruction
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_008.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_008.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_008.ref
+delete test
+[Endtest]
+##############################################################
+# Check Comments function using DOM
+##############################################################
+
+[Test]
+title DOM Check Comments function
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_04.xml
+test CheckComments
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_009.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_009.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_009.ref
+delete test
+[Endtest]
+##############################################################
+# Check CDATA function using DOM
+##############################################################
+
+[Test]
+title DOM Check CDATA function
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_05.xml
+test CheckCDATA
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_010.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_010.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_010.ref
+delete test
+[Endtest]
+##############################################################
+# Check Text Node function using DOM
+##############################################################
+
+[Test]
+title DOM Check Text Node function
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_05.xml
+test CheckTextNode
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_011.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_011.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_011.ref
+delete test
+[Endtest]
+##############################################################
+# Check Node Namespaces function using DOM
+##############################################################
+
+[Test]
+title DOM Check Node Namespaces function
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_02.xml
+test NodeNamespacePocessing
+delete test
+[Endtest]
+##############################################################
+# Check Entity Reference function using DOM
+##############################################################
+
+[Test]
+title DOM Check Entity Reference function
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_06.xml
+test CheckEntityRef
+delete test
+[Endtest]
+##############################################################
+# Node Tree Modification using DOM
+##############################################################
+
+[Test]
+title DOM Node Tree Modification
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_07.xml
+test NodeTreeModification
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_012.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_012.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_012.ref
+delete test
+[Endtest]
+##############################################################
+# Node Tree Deleting
+##############################################################
+
+[Test]
+title DOM Node Tree Deleting
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_07.xml
+test NodeTreeDeleting
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_013.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_013.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_013.ref
+delete test
+[Endtest]
+##############################################################
+# Check Attributes function
+##############################################################
+
+[Test]
+title DOM Check Attributes function
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_08.xml
+test CheckAttributes
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_014.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_014.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_014.ref
+delete test
+[Endtest]
+##############################################################
+# Element Namespace Pocessing function
+##############################################################
+
+[Test]
+title DOM Element Namespace Pocessing function
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_02.xml
+test ElementNamespacePocessing
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_015.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_015.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_015.ref
+delete test
+[Endtest]
+##############################################################
+# Check Node List function
+##############################################################
+
+[Test]
+title DOM Check Node List function
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_07.xml
+test CheckNodeList
+delete test
+[Endtest]
+##############################################################
+# Check Element Attributes function
+##############################################################
+
+[Test]
+title DOM Check Element Attributes function
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_08.xml
+test CheckElementAttributes
+delete test
+[Endtest]
+##############################################################
+# Check Modification of Attributes function
+##############################################################
+
+[Test]
+title DOM Check Modification of Attributes function
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_08.xml
+test CheckModifAttributes
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_016.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_016.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_016.ref
+delete test
+[Endtest]
+##############################################################
+# Adding Attributes to Element function
+##############################################################
+
+[Test]
+title DOM Adding Attributes to Element function
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_02.xml
+test AddingAttributes
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_017.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_017.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_017.ref
+delete test
+[Endtest]
+##############################################################
+# Adding Elements to Element function
+##############################################################
+
+[Test]
+title DOM Adding Elements to Element function
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_02.xml
+test AddingElements
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_018.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_018.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_018.ref
+delete test
+[Endtest]
+##############################################################
+# Check Coping Elements function
+##############################################################
+
+[Test]
+title DOM Check Coping Elements function
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_07.xml
+test CheckModifElement
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_019.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_019.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_019.ref
+delete test
+[Endtest]
+##############################################################
+# Set Element Text function
+##############################################################
+
+[Test]
+title DOM Set Element Text function
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_09.xml
+test SetElementText
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_020.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_020.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_020.ref
+delete test
+[Endtest]
+
+##############################################################
+# Node Tree Modification using DOM
+##############################################################
+
+[Test]
+title DOM InnerXml
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_07.xml
+test CheckInnerXml c:\testing\data\xmleng\efute\output\dom\DOM_inner_01.xml c:\testing\data\xmleng\efute\output\dom\DOM_inner_02.xml c:\testing\data\xmleng\efute\output\dom\DOM_inner_03.xml c:\testing\data\xmleng\efute\output\dom\DOM_inner_04.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_inner_01.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_inner_01.ref
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_inner_02.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_inner_02.ref
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_inner_03.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_inner_03.ref
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_inner_04.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_inner_04.ref
+delete test
+[Endtest]
+##############################################################
+# Node Tree Modification using DOM
+##############################################################
+
+[Test]
+title DOM OuterXml
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_07.xml
+test CheckOuterXml c:\testing\data\xmleng\efute\output\dom\DOM_outer_01.xml c:\testing\data\xmleng\efute\output\dom\DOM_outer_02.xml c:\testing\data\xmleng\efute\output\dom\DOM_outer_03.xml c:\testing\data\xmleng\efute\output\dom\DOM_outer_04.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_outer_01.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_outer_01.ref
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_outer_02.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_outer_02.ref
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_outer_03.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_outer_03.ref
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_outer_04.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_outer_04.ref
+delete test
+[Endtest]
+##############################################################
+# Change encoding using DOM
+##############################################################
+
+[Test]
+title DOM Serialization flags
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_01.xml
+test SaveXmlToUTF16LE c:\testing\data\xmleng\efute\output\dom\DOM_modif_022.xml flag
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_022.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_022.ref
+delete test
+[Endtest]
+#######################################################################################
+# Check if predefined entities are not converted into characters they represent
+#######################################################################################
+
+[Test]
+title DOM Attr SetValueNoEncL
+create xmlengtester test
+test SetValueNoEncTest c:\testing\data\xmleng\efute\input\dom\DOM_elem_000.xml c:\testing\data\xmleng\efute\output\dom\DOM_modif_034.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_034.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_034.ref
+delete test
+[Endtest]
+#######################################################################################
+# Check function RXmlEngDocument::Implementation()
+#######################################################################################
+
+[Test]
+title DOM Document Implementation
+create xmlengtester test
+test CreateDocument2 c:\testing\data\xmleng\efute\output\dom\DOM_modif_035.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_035.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_035.ref
+delete test
+[Endtest]#######################################################################################
+# Check if entity reference is created properly
+#######################################################################################
+
+[Test]
+title DOM Document CreateEntityReferenceL
+create xmlengtester test
+test CreateEntityReferenceTest c:\testing\data\xmleng\efute\input\dom\DOM_elem_000.xml c:\testing\data\xmleng\efute\output\dom\DOM_modif_036.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_036.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_036.ref
+delete test
+[Endtest]##############################################################
+# Parse file with a handle to a file server session
+##############################################################
+
+[Test]
+title DOM Parse with file stream
+create xmlengtester test
+test ParseFileDom2 c:\testing\data\xmleng\efute\input\dom\DOM_modif_01.xml
+delete test
+[Endtest]
+##############################################################
+# Parse file from buffer
+##############################################################
+
+[Test]
+title DOM Parse from buffer
+create xmlengtester test
+test ParseFileDom3 c:\testing\data\xmleng\efute\input\dom\DOM_modif_01.xml
+delete test
+[Endtest]
+##############################################################
+# Look up namspace with given prefix
+##############################################################
+
+[Test]
+title DOM look for namespace by prefix
+create xmlengtester test
+test LookupNamespaceByPrefixTest c:\testing\data\xmleng\efute\input\dom\DOM_modif_10.xml S
+delete test
+[Endtest]
+##############################################################
+# Look up namspace with given uri
+##############################################################
+
+[Test]
+title DOM look for namespace by uri
+create xmlengtester test
+test LookupNamespaceByUriTest c:\testing\data\xmleng\efute\input\dom\DOM_modif_10.xml
+delete test
+[Endtest]
+##############################################################
+# Test removing all node's children
+##############################################################
+
+[Test]
+title DOM Remove Children
+create xmlengtester test
+test RemoveChildrenTest c:\testing\data\xmleng\efute\input\dom\DOM_modif_10.xml c:\testing\data\xmleng\efute\output\dom\DOM_modif_041.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_041.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_041.ref
+delete test
+[Endtest]
+##############################################################
+# Create, append, delete user data. Using external intrerface
+##############################################################
+
+[Test]
+title DOM User Data
+create xmlengtester test
+test UserDataTest c:\testing\data\xmleng\efute\input\dom\DOM_modif_01.xml c:\testing\data\xmleng\efute\input\containers\login.gif
+delete test
+[Endtest]
+##############################################################
+# Base Uri test
+##############################################################
+
+[Test]
+title DOM Base Uri
+create xmlengtester test
+test BaseUriTest
+delete test
+[Endtest]
+##############################################################
+# Look up namspace with given prefix in parent nodes
+##############################################################
+
+[Test]
+title DOM look for namesp by pref in parent nodes
+create xmlengtester test
+test LookupNamespaceByPrefixTest2 c:\testing\data\xmleng\efute\input\dom\DOM_modif_10.xml
+delete test
+[Endtest]
+##############################################################
+# Look up namspace with given uri in parent nodes
+##############################################################
+
+[Test]
+title DOM look for namesp by uri in parent nodes
+create xmlengtester test
+test LookupNamespaceByUriTest2 c:\testing\data\xmleng\efute\input\dom\DOM_modif_10.xml
+delete test
+[Endtest]
+
\ No newline at end of file
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/DomNodeFilter.cfg
--- a/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/DomNodeFilter.cfg Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/DomNodeFilter.cfg Wed Jun 23 20:27:15 2010 +0530
@@ -1,11 +1,12 @@
-##############################################################
-# Check functionality of NodeFilter
-##############################################################
-
-[Test]
-title NodeFilter-01
-create xmlengtester test
-test TestNodeFilter1 c:\testing\data\xmleng\efute\input\dom\DOM_nodefilter.xml c:\testing\data\xmleng\efute\output\dom\DOM_nodefilter_01.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_nodefilter_01.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_nodefilter_01.ref
-delete test
-[Endtest]
+##############################################################
+# Check functionality of NodeFilter
+##############################################################
+
+[Test]
+title NodeFilter-01
+create xmlengtester test
+test TestNodeFilter1 c:\testing\data\xmleng\efute\input\dom\DOM_nodefilter.xml c:\testing\data\xmleng\efute\output\dom\DOM_nodefilter_01.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_nodefilter_01.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_nodefilter_01.ref
+delete test
+[Endtest]
+
\ No newline at end of file
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/DomNotWF.cfg
--- a/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/DomNotWF.cfg Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/DomNotWF.cfg Wed Jun 23 20:27:15 2010 +0530
@@ -1,2282 +1,2283 @@
-##############################################################
-# Attribute values must start with attribute names, not "?"
-##############################################################
-
-[Test]
-title not_wf_DOM_001
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_001.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_001.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_001.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_001.ref
-delete test
-[Endtest]
-##############################################################
-# Attribute values must start with attribute names, not "?"
-##############################################################
-
-[Test]
-title not_wf_DOM_001 without mapping
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_001.xml noMapping
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_001b.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_001b.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_001b.ref
-delete test
-[Endtest]
-##############################################################
-# Names may not start with "."; it's not a Letter
-##############################################################
-
-[Test]
-title not_wf_DOM_002
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_002.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_002.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_002.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_002.ref
-delete test
-[Endtest]
-##############################################################
-# Processing Instruction target name is required
-##############################################################
-
-[Test]
-title not_wf_DOM_003
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_003.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_003.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_003.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_003.ref
-delete test
-[Endtest]
-##############################################################
-# SGML-ism: processing instructions end in '?>' not '>'
-##############################################################
-
-[Test]
-title not_wf_DOM_004
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_004.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_004.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_004.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_004.ref
-delete test
-[Endtest]
-##############################################################
-# Processing instructions end in '?>' not '?'
-##############################################################
-
-[Test]
-title not_wf_DOM_005
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_005.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_005.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_005.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_005.ref
-delete test
-[Endtest]
-##############################################################
-# XML comments may not contain "--"
-##############################################################
-
-[Test]
-title not_wf_DOM_006
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_006.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_006.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_006.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_006.ref
-delete test
-[Endtest]
-##############################################################
-# General entity references have no whitespace after the entity name and before the semicolon
-##############################################################
-
-[Test]
-title not_wf_DOM_007
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_007.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_007.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_007.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_007.ref
-delete test
-[Endtest]
-##############################################################
-# Entity references must include names, which don't begin with '.' (it's not a Letter or other name start character).
-##############################################################
-
-[Test]
-title not_wf_DOM_008
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_008.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_008.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_008.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_008.ref
-delete test
-[Endtest]
-##############################################################
-#Character references may have only decimal or numeric strings
-##############################################################
-
-[Test]
-title not_wf_DOM_009
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_009.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_009.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_009.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_009.ref
-delete test
-[Endtest]
-##############################################################
-# Ampersand may only appear as part of a general entity reference
-##############################################################
-
-[Test]
-title not_wf_DOM_010
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_010.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_010.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_010.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_010.ref
-delete test
-[Endtest]
-##############################################################
-# SGML-ism: attribute values must be explicitly assigned a value, it can't act as a boolean toggle
-##############################################################
-
-[Test]
-title not_wf_DOM_011
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_011.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_011.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_011.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_011.ref
-delete test
-[Endtest]
-##############################################################
-# SGML-ism: attribute values must be quoted in all cases.
-##############################################################
-
-[Test]
-title not_wf_DOM_012
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_012.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_012.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_012.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_012.ref
-delete test
-[Endtest]
-##############################################################
-# The quotes on both ends of an attribute value must match.
-##############################################################
-
-[Test]
-title not_wf_DOM_013
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_013.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_013.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_013.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_013.ref
-delete test
-[Endtest]
-##############################################################
-# Attribute values may not contain literal '<' characters
-##############################################################
-
-[Test]
-title not_wf_DOM_014
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_014.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_014.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_014.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_014.ref
-delete test
-[Endtest]
-##############################################################
-# Attribute values need a value, not just an equals sign
-##############################################################
-
-[Test]
-title not_wf_DOM_015
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_015.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_015.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_015.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_015.ref
-delete test
-[Endtest]
-##############################################################
-# Attribute values need an associated name
-##############################################################
-
-[Test]
-title not_wf_DOM_016
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_016.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_016.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_016.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_016.ref
-delete test
-[Endtest]
-##############################################################
-# CDATA sections need a terminating ']]>'
-##############################################################
-
-[Test]
-title not_wf_DOM_017
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_017.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_017.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_017.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_017.ref
-delete test
-[Endtest]
-##############################################################
-# CDATA sections begin with a literal ''
-##############################################################
-
-[Test]
-title not_wf_DOM_019
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_019.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_019.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_019.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_019.ref
-delete test
-[Endtest]
-##############################################################
-# Attribute values may not contain literal '&' characters except as part of an entity reference
-##############################################################
-
-[Test]
-title not_wf_DOM_020
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_020.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_020.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_020.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_020.ref
-delete test
-[Endtest]
-##############################################################
-# Attribute values may not contain literal '&' characters except as part of an entity reference
-##############################################################
-
-[Test]
-title not_wf_DOM_021
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_021.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_021.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_021.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_021.ref
-delete test
-[Endtest]
-##############################################################
-# Character references end with semicolons
-##############################################################
-
-[Test]
-title not_wf_DOM_022
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_022.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_022.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_022.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_022.ref
-delete test
-[Endtest]
-##############################################################
-# Digits are not valid name start characters
-##############################################################
-
-[Test]
-title not_wf_DOM_023
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_023.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_023.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_023.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_023.ref
-delete test
-[Endtest]
-##############################################################
-# Digits are not valid name start characters
-##############################################################
-
-[Test]
-title not_wf_DOM_024
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_024.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_024.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_024.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_024.ref
-delete test
-[Endtest]
-##############################################################
-# Text may not contain a literal ']]>' sequence
-##############################################################
-
-[Test]
-title not_wf_DOM_025
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_025.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_025.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_025.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_025.ref
-delete test
-[Endtest]
-##############################################################
-# Text may not contain a literal ']]>' sequence
-##############################################################
-
-[Test]
-title not_wf_DOM_026
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_026.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_026.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_026.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_026.ref
-delete test
-[Endtest]
-##############################################################
-# Comments must be terminated with "-->"
-##############################################################
-
-[Test]
-title not_wf_DOM_027
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_027.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_027.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_027.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_027.ref
-delete test
-[Endtest]
-##############################################################
-# Processing instructions must end with '?>'
-##############################################################
-
-[Test]
-title not_wf_DOM_028
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_028.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_028.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_028.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_028.ref
-delete test
-[Endtest]
-##############################################################
-# Text may not contain a literal ']]>' sequence
-##############################################################
-
-[Test]
-title not_wf_DOM_029
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_029.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_029.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_029.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_029.ref
-delete test
-[Endtest]
-##############################################################
-# A form feed is not a legal XML character
-##############################################################
-
-[Test]
-title not_wf_DOM_030
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_030.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_030.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_030.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_030.ref
-delete test
-[Endtest]
-##############################################################
-# A form feed is not a legal XML character
-##############################################################
-
-[Test]
-title not_wf_DOM_031
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_031.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_031.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_031.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_031.ref
-delete test
-[Endtest]
-##############################################################
-# A form feed is not a legal XML character
-##############################################################
-
-[Test]
-title not_wf_DOM_032
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_032.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_032.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_032.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_032.ref
-delete test
-[Endtest]
-##############################################################
-# An ESC (octal 033) is not a legal XML character
-##############################################################
-
-[Test]
-title not_wf_DOM_033
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_033.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_033.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_033.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_033.ref
-delete test
-[Endtest]
-##############################################################
-# A form feed is not a legal XML character
-##############################################################
-
-[Test]
-title not_wf_DOM_034
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_034.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_034.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_034.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_034.ref
-delete test
-[Endtest]
-##############################################################
-# The '<' character is a markup delimiter and must start an element, CDATA section, PI, or comment
-##############################################################
-
-[Test]
-title not_wf_DOM_035
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_035.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_035.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_035.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_035.ref
-delete test
-[Endtest]
-##############################################################
-# Text may not appear after the root element
-##############################################################
-
-[Test]
-title not_wf_DOM_036
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_036.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_036.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_036.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_036.ref
-delete test
-[Endtest]
-##############################################################
-# Character references may not appear after the root element
-##############################################################
-
-[Test]
-title not_wf_DOM_037
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_037.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_037.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_037.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_037.ref
-delete test
-[Endtest]
-##############################################################
-# Tests the "Unique Att Spec" WF constraint by providing multiple values for an attribute
-##############################################################
-
-[Test]
-title not_wf_DOM_038
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_038.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_038.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_038.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_038.ref
-delete test
-[Endtest]
-##############################################################
-# Tests the Element Type Match WFC - end tag name must match start tag name
-##############################################################
-
-[Test]
-title not_wf_DOM_039
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_039.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_039.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_039.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_039.ref
-delete test
-[Endtest]
-##############################################################
-# Provides two document elements
-##############################################################
-
-[Test]
-title not_wf_DOM_040
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_040.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_040.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_040.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_040.ref
-delete test
-[Endtest]
-##############################################################
-# Provides two document elements
-##############################################################
-
-[Test]
-title not_wf_DOM_041
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_041.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_041.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_041.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_041.ref
-delete test
-[Endtest]
-##############################################################
-# Invalid End Tag
-##############################################################
-
-[Test]
-title not_wf_DOM_042
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_042.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_042.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_042.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_042.ref
-delete test
-[Endtest]
-##############################################################
-# Provides #PCDATA text after the document element
-##############################################################
-
-[Test]
-title not_wf_DOM_043
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_043.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_043.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_043.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_043.ref
-delete test
-[Endtest]
-##############################################################
-# Provides two document elements
-##############################################################
-
-[Test]
-title not_wf_DOM_044
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_044.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_044.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_044.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_044.ref
-delete test
-[Endtest]
-##############################################################
-#Invalid Empty Element Tag
-##############################################################
-
-[Test]
-title not_wf_DOM_045
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_045.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_045.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_045.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_045.ref
-delete test
-[Endtest]
-##############################################################
-# This start (or empty element) tag was not terminated correctly
-##############################################################
-
-[Test]
-title not_wf_DOM_046
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_046.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_046.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_046.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_046.ref
-delete test
-[Endtest]
-##############################################################
-# Invalid empty element tag invalid whitespace
-##############################################################
-
-[Test]
-title not_wf_DOM_047
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_047.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_047.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_047.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_047.ref
-delete test
-[Endtest]
-##############################################################
-# Provides a CDATA section after the roor element
-##############################################################
-
-[Test]
-title not_wf_DOM_048
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_048.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_048.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_048.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_048.ref
-delete test
-[Endtest]
-##############################################################
-# Missing start tag
-##############################################################
-
-[Test]
-title not_wf_DOM_049
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_049.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_049.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_049.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_049.ref
-delete test
-[Endtest]
-##############################################################
-# Empty document, with no root element
-##############################################################
-
-[Test]
-title not_wf_DOM_050
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_050.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_050.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_050.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_050.ref
-delete test
-[Endtest]
-##############################################################
-# CDATA is invalid at top level of document
-##############################################################
-
-[Test]
-title not_wf_DOM_051
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_051.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_051.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_051.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_051.ref
-delete test
-[Endtest]
-##############################################################
-# Invalid character reference
-##############################################################
-
-[Test]
-title not_wf_DOM_052
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_052.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_052.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_052.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_052.ref
-delete test
-[Endtest]
-##############################################################
-# End tag does not match start tag
-##############################################################
-
-[Test]
-title not_wf_DOM_053
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_053.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_053.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_053.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_053.ref
-delete test
-[Endtest]
-##############################################################
-# PUBLIC requires two literals
-##############################################################
-
-[Test]
-title not_wf_DOM_054
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_054.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_054.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_054.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_054.ref
-delete test
-[Endtest]
-##############################################################
-# Invalid Document Type Definition format
-##############################################################
-
-[Test]
-title not_wf_DOM_055
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_055.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_055.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_055.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_055.ref
-delete test
-[Endtest]
-##############################################################
-# Invalid Document Type Definition format - misplaced comment
-##############################################################
-
-[Test]
-title not_wf_DOM_056
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_056.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_056.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_056.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_056.ref
-delete test
-[Endtest]
-##############################################################
-# This isn't SGML; comments can't exist in declarations
-##############################################################
-
-[Test]
-title not_wf_DOM_057
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_057.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_057.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_057.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_057.ref
-delete test
-[Endtest]
-##############################################################
-# Invalid character , in ATTLIST enumeration
-##############################################################
-
-[Test]
-title not_wf_DOM_058
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_058.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_058.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_058.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_058.ref
-delete test
-[Endtest]
-##############################################################
-# String literal must be in quotes
-##############################################################
-
-[Test]
-title not_wf_DOM_059
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_059.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_059.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_059.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_059.ref
-delete test
-[Endtest]
-##############################################################
-# Invalid type NAME defined in ATTLIST
-##############################################################
-
-[Test]
-title not_wf_DOM_060
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_060.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_060.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_060.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_060.ref
-delete test
-[Endtest]
-##############################################################
-# External entity declarations require whitespace between public and system IDs
-##############################################################
-
-[Test]
-title not_wf_DOM_061
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_061.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_061.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_061.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_061.ref
-delete test
-[Endtest]
-##############################################################
-# Entity declarations need space after the entity name
-##############################################################
-
-[Test]
-title not_wf_DOM_062
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_062.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_062.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_062.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_062.ref
-delete test
-[Endtest]
-##############################################################
-# Conditional sections may only appear in the external DTD subset
-##############################################################
-
-[Test]
-title not_wf_DOM_063
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_063.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_063.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_063.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_063.ref
-delete test
-[Endtest]
-##############################################################
-# Space is required between attribute type and default values in declarations
-##############################################################
-
-[Test]
-title not_wf_DOM_064
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_064.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_064.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_064.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_064.ref
-delete test
-[Endtest]
-##############################################################
-# Space is required between attribute name and type in declarations
-##############################################################
-
-[Test]
-title not_wf_DOM_065
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_065.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_065.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_065.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_065.ref
-delete test
-[Endtest]
-##############################################################
-# Required whitespace is missing
-##############################################################
-
-[Test]
-title not_wf_DOM_066
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_066.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_066.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_066.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_066.ref
-delete test
-[Endtest]
-##############################################################
-# Space is required between attribute type and default values in declarations
-##############################################################
-
-[Test]
-title not_wf_DOM_067
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_067.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_067.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_067.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_067.ref
-delete test
-[Endtest]
-##############################################################
-# Space is required between NOTATION keyword and list of enumerated choices in declarations
-##############################################################
-
-[Test]
-title not_wf_DOM_068
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_068.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_068.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_068.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_068.ref
-delete test
-[Endtest]
-##############################################################
-# Space is required before an NDATA entity annotation
-##############################################################
-
-[Test]
-title not_wf_DOM_069
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_069.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_069.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_069.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_069.ref
-delete test
-[Endtest]
-##############################################################
-# XML comments may not contain "--"
-##############################################################
-
-[Test]
-title not_wf_DOM_070
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_070.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_070.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_070.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_070.ref
-delete test
-[Endtest]
-##############################################################
-# ENTITY can't reference itself directly or indirectly
-##############################################################
-
-[Test]
-title not_wf_DOM_071
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_071.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_071.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_071.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_071.ref
-delete test
-[Endtest]
-##############################################################
-# Undefined ENTITY foo
-##############################################################
-
-[Test]
-title not_wf_DOM_072
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_072.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_072.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_072.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_072.ref
-delete test
-[Endtest]
-##############################################################
-# Undefined ENTITY f.
-##############################################################
-
-[Test]
-title not_wf_DOM_073
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_073.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_073.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_073.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_073.ref
-delete test
-[Endtest]
-##############################################################
-# Internal general parsed entities are only well formed if they match the "content" production.
-##############################################################
-
-[Test]
-title not_wf_DOM_074
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_074.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_074.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_074.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_074.ref
-delete test
-[Endtest]
-##############################################################
-# ENTITY can't reference itself directly or indirectly.
-##############################################################
-
-[Test]
-title not_wf_DOM_075
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_075.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_075.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_075.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_075.ref
-delete test
-[Endtest]
-##############################################################
-# Undefined ENTITY foo.
-##############################################################
-
-[Test]
-title not_wf_DOM_076
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_076.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_076.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_076.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_076.ref
-delete test
-[Endtest]
-##############################################################
-# Undefined ENTITY foo.
-##############################################################
-
-[Test]
-title not_wf_DOM_077
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_077.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_077.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_077.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_077.ref
-delete test
-[Endtest]
-##############################################################
-# Undefined ENTITY foo.
-##############################################################
-
-[Test]
-title not_wf_DOM_078
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_078.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_078.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_078.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_078.ref
-delete test
-[Endtest]
-##############################################################
-# ENTITY can't reference itself directly or indirectly
-##############################################################
-
-[Test]
-title not_wf_DOM_079
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_079.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_079.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_079.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_079.ref
-delete test
-[Endtest]
-##############################################################
-# ENTITY can't reference itself directly or indirectly
-##############################################################
-
-[Test]
-title not_wf_DOM_080
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_080.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_080.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_080.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_080.ref
-delete test
-[Endtest]
-##############################################################
-# This tests the No External Entity References
-# WFC, since the entity is referred to within an attribute.
-##############################################################
-
-[Test]
-title not_wf_DOM_081
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_081.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_081.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_081.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_081.ref
-delete test
-[Endtest]
-
-##############################################################
-# This tests the No External Entity References
-# WFC, since the entity is referred to within an attribute.
-##############################################################
-
-[Test]
-title not_wf_DOM_082
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_082.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_082.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_082.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_082.ref
-delete test
-[Endtest]
-##############################################################
-# Undefined NOTATION n
-##############################################################
-
-[Test]
-title not_wf_DOM_083
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_083.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_083.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_083.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_083.ref
-delete test
-[Endtest]
-##############################################################
-# Tests the Parsed Entity WFC by referring to an unparsed entity.
-# (This precedes the error of not declaring that entity's notation,
-# which may be detected any time before the DTD parsing is completed.)
-##############################################################
-
-[Test]
-title not_wf_DOM_084
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_084.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_084.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_084.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_084.ref
-delete test
-[Endtest]
-##############################################################
-# Public IDs may not contain "["
-##############################################################
-
-[Test]
-title not_wf_DOM_085
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_085.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_085.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_085.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_085.ref delete test
-[Endtest]
-##############################################################
-# Public IDs may not contain "["
-##############################################################
-
-[Test]
-title not_wf_DOM_086
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_086.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_086.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_086.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_086.ref
-delete test
-[Endtest]
-##############################################################
-# Public IDs may not contain "["
-##############################################################
-
-[Test]
-title not_wf_DOM_087
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_087.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_087.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_087.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_087.ref
-delete test
-[Endtest]
-##############################################################
-# Attribute values are terminated by literal quote characters, and any entity expansion is done afterwards
-##############################################################
-
-[Test]
-title not_wf_DOM_088
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_088.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_088.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_088.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_088.ref
-delete test
-[Endtest]
-##############################################################
-# Parameter entities "are" always parsed; NDATA annotations are not permitted
-##############################################################
-
-[Test]
-title not_wf_DOM_089
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_089.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_089.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_089.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_089.ref
-delete test
-[Endtest]
-##############################################################
-# Attributes may not contain a literal "<" character; this one has one because of reference expansion
-##############################################################
-
-[Test]
-title not_wf_DOM_090
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_090.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_090.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_090.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_090.ref
-delete test
-[Endtest]
-##############################################################
-# Parameter entities "are" always parsed; NDATA annotations are not permitted.
-##############################################################
-
-[Test]
-title not_wf_DOM_091
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_091.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_091.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_091.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_091.ref
-delete test
-[Endtest]
-##############################################################
-# he replacement text of this entity has an illegal reference, because the character reference is expanded immediately
-##############################################################
-
-[Test]
-title not_wf_DOM_092
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_092.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_092.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_092.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_092.ref
-delete test
-[Endtest]
-##############################################################
-# Hexadecimal character references may not use the uppercase 'X'
-##############################################################
-
-[Test]
-title not_wf_DOM_093
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_093.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_093.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_093.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_093.ref
-delete test
-[Endtest]
-##############################################################
-# Prolog VERSION must be lowercase
-##############################################################
-
-[Test]
-title not_wf_DOM_094
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_094.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_094.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_094.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_094.ref
-delete test
-[Endtest]
-##############################################################
-# VersionInfo must come before EncodingDecl
-##############################################################
-
-[Test]
-title not_wf_DOM_095
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_095.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_095.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_095.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_095.ref
-delete test
-[Endtest]
-##############################################################
-# Space is required before the standalone declaration
-##############################################################
-
-[Test]
-title not_wf_DOM_096
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_096.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_096.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_096.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_096.ref
-delete test
-[Endtest]
-##############################################################
-# Both quotes surrounding VersionNum must be the same
-##############################################################
-
-[Test]
-title not_wf_DOM_097
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_097.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_097.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_097.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_097.ref
-delete test
-[Endtest]
-##############################################################
-# Only one "version=..." string may appear in an XML declaration
-##############################################################
-
-[Test]
-title not_wf_DOM_098
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_098.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_098.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_098.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_098.ref
-delete test
-[Endtest]
-##############################################################
-# Only three pseudo-attributes are in the XML declaration, and "valid=..." is not one of them
-##############################################################
-
-[Test]
-title not_wf_DOM_099
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_099.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_099.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_099.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_099.ref
-delete test
-[Endtest]
-##############################################################
-# Only "yes" and "no" are permitted as values of "standalone"
-##############################################################
-
-[Test]
-title not_wf_DOM_100
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_100.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_100.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_100.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_100.ref
-delete test
-[Endtest]
-##############################################################
-# Space is not permitted in an encoding name
-##############################################################
-
-[Test]
-title not_wf_DOM_101
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_101.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_101.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_101.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_101.ref
-delete test
-[Endtest]
-##############################################################
-# Provides an illegal XML version number; spaces are illegal
-##############################################################
-
-[Test]
-title not_wf_DOM_102
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_102.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_102.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_102.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_102.ref
-delete test
-[Endtest]
-##############################################################
-# End-tag required for element foo.
-##############################################################
-
-[Test]
-title not_wf_DOM_103
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_103.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_103.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_103.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_103.ref
-delete test
-[Endtest]
-##############################################################
-# Internal general parsed entities are only well formed
-# if they match the "content" production.
-##############################################################
-
-[Test]
-title not_wf_DOM_104
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_104.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_104.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_104.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_104.ref
-delete test
-[Endtest]
-##############################################################
-# Invalid placement of CDATA section
-##############################################################
-
-[Test]
-title not_wf_DOM_105
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_105.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_105.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_105.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_105.ref
-delete test
-[Endtest]
-##############################################################
-# Invalid placement of entity declaration
-##############################################################
-
-[Test]
-title not_wf_DOM_106
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_106.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_106.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_106.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_106.ref
-delete test
-[Endtest]
-##############################################################
-# Invalid document type declaration. CDATA alone is invalid
-##############################################################
-
-[Test]
-title not_wf_DOM_107
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_107.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_107.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_107.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_107.ref
-delete test
-[Endtest]
-##############################################################
-# No space in '' is neither an XML declaration nor a legal
-# processing instruction target name
-##############################################################
-
-[Test]
-title not_wf_DOM_154
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_154.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_154.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_154.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_154.ref
-delete test
-[Endtest]
-##############################################################
-# '' is neither an XML declaration nor a legal
-# processing instruction target name.
-##############################################################
-
-[Test]
-title not_wf_DOM_155
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_155.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_155.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_155.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_155.ref
-delete test
-[Endtest]
-##############################################################
-# '' is neither an XML declaration nor a
-# legal processing instruction target name.
-##############################################################
-
-[Test]
-title not_wf_DOM_156
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_156.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_156.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_156.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_156.ref
-delete test
-[Endtest]
-##############################################################
-# '' is not a legal processing instruction target name.
-##############################################################
-
-[Test]
-title not_wf_DOM_157
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_157.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_157.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_157.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_157.ref
-delete test
-[Endtest]
-##############################################################
-# SGML-ism: "#NOTATION gif" can't have attributes.
-##############################################################
-
-[Test]
-title not_wf_DOM_158
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_158.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_158.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_158.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_158.ref
-delete test
-[Endtest]
-##############################################################
-# Uses '&' unquoted in an entity declaration,
-# which is illegal syntax for an entity reference
-##############################################################
-
-[Test]
-title not_wf_DOM_159
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_159.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_159.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_159.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_159.ref
-delete test
-[Endtest]
-##############################################################
-# Violates the PEs in Internal Subset
-# WFC by using a PE reference within a declaration.
-##############################################################
-
-[Test]
-title not_wf_DOM_160
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_160.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_160.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_160.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_160.ref
-delete test
-[Endtest]
-##############################################################
-# Violates the PEs in Internal Subset
-# WFC by using a PE reference within a declaration.
-##############################################################
-
-[Test]
-title not_wf_DOM_161
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_161.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_161.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_161.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_161.ref
-delete test
-[Endtest]
-##############################################################
-# Violates the PEs in Internal Subset
-# WFC by using a PE reference within a declaration.
-##############################################################
-
-[Test]
-title not_wf_DOM_162
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_162.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_162.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_162.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_162.ref
-delete test
-[Endtest]
-##############################################################
-# Invalid placement of Parameter entity reference.
-##############################################################
-
-[Test]
-title not_wf_DOM_163
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_163.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_163.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_163.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_163.ref
-delete test
-[Endtest]
-##############################################################
-# Invalid placement of Parameter entity reference.
-##############################################################
-
-[Test]
-title not_wf_DOM_164
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_164.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_164.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_164.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_164.ref
-delete test
-[Endtest]
-##############################################################
-# Parameter entity declarations must have a space before the '%'.
-##############################################################
-
-[Test]
-title not_wf_DOM_165
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_165.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_165.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_165.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_165.ref
-delete test
-[Endtest]
-##############################################################
-# Character FFFE is not legal anywhere in an XML document.
-##############################################################
-
-[Test]
-title not_wf_DOM_166
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_166.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_166.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_166.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_166.ref
-delete test
-[Endtest]
-##############################################################
-# Character FFFE is not legal anywhere in an XML document.
-##############################################################
-
-[Test]
-title not_wf_DOM_167
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_167.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_167.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_167.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_167.ref
-delete test
-[Endtest]
-##############################################################
-# An unpaired surrogate (D800) is not legal anywhere in an XML document.
-##############################################################
-
-[Test]
-title not_wf_DOM_168
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_168.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_168.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_168.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_168.ref
-delete test
-[Endtest]
-##############################################################
-# An unpaired surrogate (DC00) is not legal anywhere in an XML document.
-##############################################################
-
-[Test]
-title not_wf_DOM_169
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_169.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_169.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_169.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_169.ref
-delete test
-[Endtest]
-##############################################################
-# Four byte UTF-8 encodings can encode UCS-4 characters
-# which are beyond the range of legal XML characters
-# (and can't be expressed in Unicode surrogate pairs).
-# This document holds such a character
-##############################################################
-
-[Test]
-title not_wf_DOM_170
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_170.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_170.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_170.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_170.ref
-delete test
-[Endtest]
-##############################################################
-# Character FFFF is not legal anywhere in an XML document.
-##############################################################
-
-[Test]
-title not_wf_DOM_171
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_171.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_171.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_171.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_171.ref
-delete test
-[Endtest]
-##############################################################
-# Character FFFF is not legal anywhere in an XML document.
-##############################################################
-
-[Test]
-title not_wf_DOM_172
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_172.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_172.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_172.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_172.ref
-delete test
-[Endtest]
-##############################################################
-# Character FFFF is not legal anywhere in an XML document.
-##############################################################
-
-[Test]
-title not_wf_DOM_173
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_173.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_173.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_173.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_173.ref
-delete test
-[Endtest]
-##############################################################
-# Character FFFF is not legal anywhere in an XML document.
-##############################################################
-
-[Test]
-title not_wf_DOM_174
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_174.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_174.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_174.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_174.ref
-delete test
-[Endtest]
-##############################################################
-# Character FFFF is not legal anywhere in an XML document.
-##############################################################
-
-[Test]
-title not_wf_DOM_175
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_175.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_175.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_175.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_175.ref
-delete test
-[Endtest]
-##############################################################
-# Start tags must have matching end tags.
-##############################################################
-
-[Test]
-title not_wf_DOM_176
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_176.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_176.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_176.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_176.ref
-delete test
-[Endtest]
-##############################################################
-# Character FFFF is not legal anywhere in an XML document.
-##############################################################
-
-[Test]
-title not_wf_DOM_177
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_177.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_177.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_177.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_177.ref
-delete test
-[Endtest]
-##############################################################
-# Invalid syntax matching double quote is missing.
-##############################################################
-
-[Test]
-title not_wf_DOM_178
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_178.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_178.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_178.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_178.ref
-delete test
-[Endtest]
-##############################################################
-# Invalid syntax matching double quote is missing.
-##############################################################
-
-[Test]
-title not_wf_DOM_179
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_179.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_179.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_179.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_179.ref
-delete test
-[Endtest]
-##############################################################
-# WFC requires entities to be declared before they are used in an attribute list declaration.
-##############################################################
-
-[Test]
-title not_wf_DOM_180
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_180.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_180.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_180.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_180.ref
-delete test
-[Endtest]
-##############################################################
-# Internal parsed entities must match the content
-# production to be well formed.
-##############################################################
-
-[Test]
-title not_wf_DOM_181
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_181.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_181.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_181.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_181.ref
-delete test
-[Endtest]
-##############################################################
-# Internal parsed entities must match the content
-# production to be well formed.
-##############################################################
-
-[Test]
-title not_wf_DOM_182
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_182.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_182.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_182.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_182.ref
-delete test
-[Endtest]
-##############################################################
-# Mixed content declarations may not include content particles.
-##############################################################
-
-[Test]
-title not_wf_DOM_183
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_183.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_183.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_183.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_183.ref
-delete test
-[Endtest]
-##############################################################
-# In mixed content models, element names must not be parenthesized.
-##############################################################
-
-[Test]
-title not_wf_DOM_184
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_184.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_184.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_184.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_184.ref
-delete test
-[Endtest]
-##############################################################
-# Tests the Entity Declared WFC. Nonvalidating parser is
-# permitted not to report this WFC violation,
-# since it would need to read an external parameter entity
-# to distinguish it from a violation of the Standalone Declaration
-##############################################################
-
-[Test]
-title not_wf_DOM_185
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_185.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_185.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_185.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_185.ref
-delete test
-[Endtest]
-##############################################################
-# Whitespace is required between attribute/value pairs.
-##############################################################
-
-[Test]
-title not_wf_DOM_186
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_186.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_186.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_186.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_186.ref
-delete test
-[Endtest]
+##############################################################
+# Attribute values must start with attribute names, not "?"
+##############################################################
+
+[Test]
+title not_wf_DOM_001
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_001.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_001.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_001.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_001.ref
+delete test
+[Endtest]
+##############################################################
+# Attribute values must start with attribute names, not "?"
+##############################################################
+
+[Test]
+title not_wf_DOM_001 without mapping
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_001.xml noMapping
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_001b.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_001b.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_001b.ref
+delete test
+[Endtest]
+##############################################################
+# Names may not start with "."; it's not a Letter
+##############################################################
+
+[Test]
+title not_wf_DOM_002
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_002.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_002.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_002.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_002.ref
+delete test
+[Endtest]
+##############################################################
+# Processing Instruction target name is required
+##############################################################
+
+[Test]
+title not_wf_DOM_003
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_003.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_003.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_003.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_003.ref
+delete test
+[Endtest]
+##############################################################
+# SGML-ism: processing instructions end in '?>' not '>'
+##############################################################
+
+[Test]
+title not_wf_DOM_004
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_004.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_004.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_004.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_004.ref
+delete test
+[Endtest]
+##############################################################
+# Processing instructions end in '?>' not '?'
+##############################################################
+
+[Test]
+title not_wf_DOM_005
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_005.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_005.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_005.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_005.ref
+delete test
+[Endtest]
+##############################################################
+# XML comments may not contain "--"
+##############################################################
+
+[Test]
+title not_wf_DOM_006
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_006.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_006.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_006.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_006.ref
+delete test
+[Endtest]
+##############################################################
+# General entity references have no whitespace after the entity name and before the semicolon
+##############################################################
+
+[Test]
+title not_wf_DOM_007
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_007.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_007.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_007.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_007.ref
+delete test
+[Endtest]
+##############################################################
+# Entity references must include names, which don't begin with '.' (it's not a Letter or other name start character).
+##############################################################
+
+[Test]
+title not_wf_DOM_008
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_008.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_008.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_008.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_008.ref
+delete test
+[Endtest]
+##############################################################
+#Character references may have only decimal or numeric strings
+##############################################################
+
+[Test]
+title not_wf_DOM_009
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_009.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_009.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_009.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_009.ref
+delete test
+[Endtest]
+##############################################################
+# Ampersand may only appear as part of a general entity reference
+##############################################################
+
+[Test]
+title not_wf_DOM_010
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_010.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_010.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_010.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_010.ref
+delete test
+[Endtest]
+##############################################################
+# SGML-ism: attribute values must be explicitly assigned a value, it can't act as a boolean toggle
+##############################################################
+
+[Test]
+title not_wf_DOM_011
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_011.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_011.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_011.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_011.ref
+delete test
+[Endtest]
+##############################################################
+# SGML-ism: attribute values must be quoted in all cases.
+##############################################################
+
+[Test]
+title not_wf_DOM_012
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_012.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_012.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_012.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_012.ref
+delete test
+[Endtest]
+##############################################################
+# The quotes on both ends of an attribute value must match.
+##############################################################
+
+[Test]
+title not_wf_DOM_013
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_013.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_013.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_013.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_013.ref
+delete test
+[Endtest]
+##############################################################
+# Attribute values may not contain literal '<' characters
+##############################################################
+
+[Test]
+title not_wf_DOM_014
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_014.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_014.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_014.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_014.ref
+delete test
+[Endtest]
+##############################################################
+# Attribute values need a value, not just an equals sign
+##############################################################
+
+[Test]
+title not_wf_DOM_015
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_015.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_015.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_015.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_015.ref
+delete test
+[Endtest]
+##############################################################
+# Attribute values need an associated name
+##############################################################
+
+[Test]
+title not_wf_DOM_016
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_016.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_016.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_016.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_016.ref
+delete test
+[Endtest]
+##############################################################
+# CDATA sections need a terminating ']]>'
+##############################################################
+
+[Test]
+title not_wf_DOM_017
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_017.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_017.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_017.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_017.ref
+delete test
+[Endtest]
+##############################################################
+# CDATA sections begin with a literal ''
+##############################################################
+
+[Test]
+title not_wf_DOM_019
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_019.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_019.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_019.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_019.ref
+delete test
+[Endtest]
+##############################################################
+# Attribute values may not contain literal '&' characters except as part of an entity reference
+##############################################################
+
+[Test]
+title not_wf_DOM_020
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_020.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_020.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_020.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_020.ref
+delete test
+[Endtest]
+##############################################################
+# Attribute values may not contain literal '&' characters except as part of an entity reference
+##############################################################
+
+[Test]
+title not_wf_DOM_021
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_021.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_021.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_021.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_021.ref
+delete test
+[Endtest]
+##############################################################
+# Character references end with semicolons
+##############################################################
+
+[Test]
+title not_wf_DOM_022
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_022.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_022.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_022.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_022.ref
+delete test
+[Endtest]
+##############################################################
+# Digits are not valid name start characters
+##############################################################
+
+[Test]
+title not_wf_DOM_023
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_023.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_023.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_023.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_023.ref
+delete test
+[Endtest]
+##############################################################
+# Digits are not valid name start characters
+##############################################################
+
+[Test]
+title not_wf_DOM_024
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_024.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_024.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_024.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_024.ref
+delete test
+[Endtest]
+##############################################################
+# Text may not contain a literal ']]>' sequence
+##############################################################
+
+[Test]
+title not_wf_DOM_025
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_025.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_025.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_025.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_025.ref
+delete test
+[Endtest]
+##############################################################
+# Text may not contain a literal ']]>' sequence
+##############################################################
+
+[Test]
+title not_wf_DOM_026
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_026.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_026.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_026.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_026.ref
+delete test
+[Endtest]
+##############################################################
+# Comments must be terminated with "-->"
+##############################################################
+
+[Test]
+title not_wf_DOM_027
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_027.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_027.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_027.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_027.ref
+delete test
+[Endtest]
+##############################################################
+# Processing instructions must end with '?>'
+##############################################################
+
+[Test]
+title not_wf_DOM_028
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_028.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_028.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_028.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_028.ref
+delete test
+[Endtest]
+##############################################################
+# Text may not contain a literal ']]>' sequence
+##############################################################
+
+[Test]
+title not_wf_DOM_029
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_029.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_029.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_029.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_029.ref
+delete test
+[Endtest]
+##############################################################
+# A form feed is not a legal XML character
+##############################################################
+
+[Test]
+title not_wf_DOM_030
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_030.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_030.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_030.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_030.ref
+delete test
+[Endtest]
+##############################################################
+# A form feed is not a legal XML character
+##############################################################
+
+[Test]
+title not_wf_DOM_031
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_031.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_031.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_031.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_031.ref
+delete test
+[Endtest]
+##############################################################
+# A form feed is not a legal XML character
+##############################################################
+
+[Test]
+title not_wf_DOM_032
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_032.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_032.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_032.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_032.ref
+delete test
+[Endtest]
+##############################################################
+# An ESC (octal 033) is not a legal XML character
+##############################################################
+
+[Test]
+title not_wf_DOM_033
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_033.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_033.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_033.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_033.ref
+delete test
+[Endtest]
+##############################################################
+# A form feed is not a legal XML character
+##############################################################
+
+[Test]
+title not_wf_DOM_034
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_034.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_034.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_034.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_034.ref
+delete test
+[Endtest]
+##############################################################
+# The '<' character is a markup delimiter and must start an element, CDATA section, PI, or comment
+##############################################################
+
+[Test]
+title not_wf_DOM_035
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_035.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_035.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_035.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_035.ref
+delete test
+[Endtest]
+##############################################################
+# Text may not appear after the root element
+##############################################################
+
+[Test]
+title not_wf_DOM_036
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_036.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_036.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_036.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_036.ref
+delete test
+[Endtest]
+##############################################################
+# Character references may not appear after the root element
+##############################################################
+
+[Test]
+title not_wf_DOM_037
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_037.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_037.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_037.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_037.ref
+delete test
+[Endtest]
+##############################################################
+# Tests the "Unique Att Spec" WF constraint by providing multiple values for an attribute
+##############################################################
+
+[Test]
+title not_wf_DOM_038
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_038.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_038.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_038.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_038.ref
+delete test
+[Endtest]
+##############################################################
+# Tests the Element Type Match WFC - end tag name must match start tag name
+##############################################################
+
+[Test]
+title not_wf_DOM_039
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_039.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_039.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_039.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_039.ref
+delete test
+[Endtest]
+##############################################################
+# Provides two document elements
+##############################################################
+
+[Test]
+title not_wf_DOM_040
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_040.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_040.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_040.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_040.ref
+delete test
+[Endtest]
+##############################################################
+# Provides two document elements
+##############################################################
+
+[Test]
+title not_wf_DOM_041
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_041.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_041.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_041.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_041.ref
+delete test
+[Endtest]
+##############################################################
+# Invalid End Tag
+##############################################################
+
+[Test]
+title not_wf_DOM_042
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_042.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_042.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_042.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_042.ref
+delete test
+[Endtest]
+##############################################################
+# Provides #PCDATA text after the document element
+##############################################################
+
+[Test]
+title not_wf_DOM_043
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_043.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_043.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_043.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_043.ref
+delete test
+[Endtest]
+##############################################################
+# Provides two document elements
+##############################################################
+
+[Test]
+title not_wf_DOM_044
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_044.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_044.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_044.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_044.ref
+delete test
+[Endtest]
+##############################################################
+#Invalid Empty Element Tag
+##############################################################
+
+[Test]
+title not_wf_DOM_045
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_045.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_045.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_045.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_045.ref
+delete test
+[Endtest]
+##############################################################
+# This start (or empty element) tag was not terminated correctly
+##############################################################
+
+[Test]
+title not_wf_DOM_046
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_046.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_046.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_046.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_046.ref
+delete test
+[Endtest]
+##############################################################
+# Invalid empty element tag invalid whitespace
+##############################################################
+
+[Test]
+title not_wf_DOM_047
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_047.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_047.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_047.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_047.ref
+delete test
+[Endtest]
+##############################################################
+# Provides a CDATA section after the roor element
+##############################################################
+
+[Test]
+title not_wf_DOM_048
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_048.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_048.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_048.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_048.ref
+delete test
+[Endtest]
+##############################################################
+# Missing start tag
+##############################################################
+
+[Test]
+title not_wf_DOM_049
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_049.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_049.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_049.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_049.ref
+delete test
+[Endtest]
+##############################################################
+# Empty document, with no root element
+##############################################################
+
+[Test]
+title not_wf_DOM_050
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_050.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_050.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_050.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_050.ref
+delete test
+[Endtest]
+##############################################################
+# CDATA is invalid at top level of document
+##############################################################
+
+[Test]
+title not_wf_DOM_051
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_051.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_051.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_051.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_051.ref
+delete test
+[Endtest]
+##############################################################
+# Invalid character reference
+##############################################################
+
+[Test]
+title not_wf_DOM_052
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_052.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_052.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_052.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_052.ref
+delete test
+[Endtest]
+##############################################################
+# End tag does not match start tag
+##############################################################
+
+[Test]
+title not_wf_DOM_053
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_053.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_053.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_053.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_053.ref
+delete test
+[Endtest]
+##############################################################
+# PUBLIC requires two literals
+##############################################################
+
+[Test]
+title not_wf_DOM_054
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_054.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_054.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_054.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_054.ref
+delete test
+[Endtest]
+##############################################################
+# Invalid Document Type Definition format
+##############################################################
+
+[Test]
+title not_wf_DOM_055
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_055.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_055.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_055.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_055.ref
+delete test
+[Endtest]
+##############################################################
+# Invalid Document Type Definition format - misplaced comment
+##############################################################
+
+[Test]
+title not_wf_DOM_056
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_056.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_056.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_056.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_056.ref
+delete test
+[Endtest]
+##############################################################
+# This isn't SGML; comments can't exist in declarations
+##############################################################
+
+[Test]
+title not_wf_DOM_057
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_057.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_057.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_057.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_057.ref
+delete test
+[Endtest]
+##############################################################
+# Invalid character , in ATTLIST enumeration
+##############################################################
+
+[Test]
+title not_wf_DOM_058
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_058.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_058.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_058.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_058.ref
+delete test
+[Endtest]
+##############################################################
+# String literal must be in quotes
+##############################################################
+
+[Test]
+title not_wf_DOM_059
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_059.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_059.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_059.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_059.ref
+delete test
+[Endtest]
+##############################################################
+# Invalid type NAME defined in ATTLIST
+##############################################################
+
+[Test]
+title not_wf_DOM_060
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_060.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_060.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_060.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_060.ref
+delete test
+[Endtest]
+##############################################################
+# External entity declarations require whitespace between public and system IDs
+##############################################################
+
+[Test]
+title not_wf_DOM_061
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_061.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_061.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_061.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_061.ref
+delete test
+[Endtest]
+##############################################################
+# Entity declarations need space after the entity name
+##############################################################
+
+[Test]
+title not_wf_DOM_062
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_062.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_062.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_062.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_062.ref
+delete test
+[Endtest]
+##############################################################
+# Conditional sections may only appear in the external DTD subset
+##############################################################
+
+[Test]
+title not_wf_DOM_063
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_063.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_063.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_063.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_063.ref
+delete test
+[Endtest]
+##############################################################
+# Space is required between attribute type and default values in declarations
+##############################################################
+
+[Test]
+title not_wf_DOM_064
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_064.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_064.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_064.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_064.ref
+delete test
+[Endtest]
+##############################################################
+# Space is required between attribute name and type in declarations
+##############################################################
+
+[Test]
+title not_wf_DOM_065
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_065.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_065.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_065.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_065.ref
+delete test
+[Endtest]
+##############################################################
+# Required whitespace is missing
+##############################################################
+
+[Test]
+title not_wf_DOM_066
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_066.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_066.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_066.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_066.ref
+delete test
+[Endtest]
+##############################################################
+# Space is required between attribute type and default values in declarations
+##############################################################
+
+[Test]
+title not_wf_DOM_067
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_067.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_067.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_067.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_067.ref
+delete test
+[Endtest]
+##############################################################
+# Space is required between NOTATION keyword and list of enumerated choices in declarations
+##############################################################
+
+[Test]
+title not_wf_DOM_068
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_068.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_068.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_068.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_068.ref
+delete test
+[Endtest]
+##############################################################
+# Space is required before an NDATA entity annotation
+##############################################################
+
+[Test]
+title not_wf_DOM_069
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_069.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_069.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_069.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_069.ref
+delete test
+[Endtest]
+##############################################################
+# XML comments may not contain "--"
+##############################################################
+
+[Test]
+title not_wf_DOM_070
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_070.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_070.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_070.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_070.ref
+delete test
+[Endtest]
+##############################################################
+# ENTITY can't reference itself directly or indirectly
+##############################################################
+
+[Test]
+title not_wf_DOM_071
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_071.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_071.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_071.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_071.ref
+delete test
+[Endtest]
+##############################################################
+# Undefined ENTITY foo
+##############################################################
+
+[Test]
+title not_wf_DOM_072
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_072.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_072.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_072.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_072.ref
+delete test
+[Endtest]
+##############################################################
+# Undefined ENTITY f.
+##############################################################
+
+[Test]
+title not_wf_DOM_073
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_073.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_073.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_073.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_073.ref
+delete test
+[Endtest]
+##############################################################
+# Internal general parsed entities are only well formed if they match the "content" production.
+##############################################################
+
+[Test]
+title not_wf_DOM_074
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_074.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_074.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_074.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_074.ref
+delete test
+[Endtest]
+##############################################################
+# ENTITY can't reference itself directly or indirectly.
+##############################################################
+
+[Test]
+title not_wf_DOM_075
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_075.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_075.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_075.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_075.ref
+delete test
+[Endtest]
+##############################################################
+# Undefined ENTITY foo.
+##############################################################
+
+[Test]
+title not_wf_DOM_076
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_076.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_076.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_076.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_076.ref
+delete test
+[Endtest]
+##############################################################
+# Undefined ENTITY foo.
+##############################################################
+
+[Test]
+title not_wf_DOM_077
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_077.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_077.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_077.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_077.ref
+delete test
+[Endtest]
+##############################################################
+# Undefined ENTITY foo.
+##############################################################
+
+[Test]
+title not_wf_DOM_078
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_078.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_078.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_078.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_078.ref
+delete test
+[Endtest]
+##############################################################
+# ENTITY can't reference itself directly or indirectly
+##############################################################
+
+[Test]
+title not_wf_DOM_079
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_079.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_079.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_079.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_079.ref
+delete test
+[Endtest]
+##############################################################
+# ENTITY can't reference itself directly or indirectly
+##############################################################
+
+[Test]
+title not_wf_DOM_080
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_080.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_080.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_080.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_080.ref
+delete test
+[Endtest]
+##############################################################
+# This tests the No External Entity References
+# WFC, since the entity is referred to within an attribute.
+##############################################################
+
+[Test]
+title not_wf_DOM_081
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_081.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_081.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_081.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_081.ref
+delete test
+[Endtest]
+
+##############################################################
+# This tests the No External Entity References
+# WFC, since the entity is referred to within an attribute.
+##############################################################
+
+[Test]
+title not_wf_DOM_082
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_082.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_082.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_082.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_082.ref
+delete test
+[Endtest]
+##############################################################
+# Undefined NOTATION n
+##############################################################
+
+[Test]
+title not_wf_DOM_083
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_083.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_083.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_083.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_083.ref
+delete test
+[Endtest]
+##############################################################
+# Tests the Parsed Entity WFC by referring to an unparsed entity.
+# (This precedes the error of not declaring that entity's notation,
+# which may be detected any time before the DTD parsing is completed.)
+##############################################################
+
+[Test]
+title not_wf_DOM_084
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_084.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_084.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_084.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_084.ref
+delete test
+[Endtest]
+##############################################################
+# Public IDs may not contain "["
+##############################################################
+
+[Test]
+title not_wf_DOM_085
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_085.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_085.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_085.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_085.ref delete test
+[Endtest]
+##############################################################
+# Public IDs may not contain "["
+##############################################################
+
+[Test]
+title not_wf_DOM_086
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_086.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_086.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_086.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_086.ref
+delete test
+[Endtest]
+##############################################################
+# Public IDs may not contain "["
+##############################################################
+
+[Test]
+title not_wf_DOM_087
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_087.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_087.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_087.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_087.ref
+delete test
+[Endtest]
+##############################################################
+# Attribute values are terminated by literal quote characters, and any entity expansion is done afterwards
+##############################################################
+
+[Test]
+title not_wf_DOM_088
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_088.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_088.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_088.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_088.ref
+delete test
+[Endtest]
+##############################################################
+# Parameter entities "are" always parsed; NDATA annotations are not permitted
+##############################################################
+
+[Test]
+title not_wf_DOM_089
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_089.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_089.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_089.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_089.ref
+delete test
+[Endtest]
+##############################################################
+# Attributes may not contain a literal "<" character; this one has one because of reference expansion
+##############################################################
+
+[Test]
+title not_wf_DOM_090
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_090.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_090.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_090.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_090.ref
+delete test
+[Endtest]
+##############################################################
+# Parameter entities "are" always parsed; NDATA annotations are not permitted.
+##############################################################
+
+[Test]
+title not_wf_DOM_091
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_091.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_091.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_091.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_091.ref
+delete test
+[Endtest]
+##############################################################
+# he replacement text of this entity has an illegal reference, because the character reference is expanded immediately
+##############################################################
+
+[Test]
+title not_wf_DOM_092
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_092.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_092.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_092.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_092.ref
+delete test
+[Endtest]
+##############################################################
+# Hexadecimal character references may not use the uppercase 'X'
+##############################################################
+
+[Test]
+title not_wf_DOM_093
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_093.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_093.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_093.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_093.ref
+delete test
+[Endtest]
+##############################################################
+# Prolog VERSION must be lowercase
+##############################################################
+
+[Test]
+title not_wf_DOM_094
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_094.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_094.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_094.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_094.ref
+delete test
+[Endtest]
+##############################################################
+# VersionInfo must come before EncodingDecl
+##############################################################
+
+[Test]
+title not_wf_DOM_095
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_095.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_095.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_095.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_095.ref
+delete test
+[Endtest]
+##############################################################
+# Space is required before the standalone declaration
+##############################################################
+
+[Test]
+title not_wf_DOM_096
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_096.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_096.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_096.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_096.ref
+delete test
+[Endtest]
+##############################################################
+# Both quotes surrounding VersionNum must be the same
+##############################################################
+
+[Test]
+title not_wf_DOM_097
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_097.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_097.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_097.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_097.ref
+delete test
+[Endtest]
+##############################################################
+# Only one "version=..." string may appear in an XML declaration
+##############################################################
+
+[Test]
+title not_wf_DOM_098
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_098.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_098.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_098.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_098.ref
+delete test
+[Endtest]
+##############################################################
+# Only three pseudo-attributes are in the XML declaration, and "valid=..." is not one of them
+##############################################################
+
+[Test]
+title not_wf_DOM_099
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_099.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_099.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_099.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_099.ref
+delete test
+[Endtest]
+##############################################################
+# Only "yes" and "no" are permitted as values of "standalone"
+##############################################################
+
+[Test]
+title not_wf_DOM_100
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_100.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_100.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_100.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_100.ref
+delete test
+[Endtest]
+##############################################################
+# Space is not permitted in an encoding name
+##############################################################
+
+[Test]
+title not_wf_DOM_101
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_101.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_101.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_101.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_101.ref
+delete test
+[Endtest]
+##############################################################
+# Provides an illegal XML version number; spaces are illegal
+##############################################################
+
+[Test]
+title not_wf_DOM_102
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_102.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_102.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_102.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_102.ref
+delete test
+[Endtest]
+##############################################################
+# End-tag required for element foo.
+##############################################################
+
+[Test]
+title not_wf_DOM_103
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_103.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_103.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_103.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_103.ref
+delete test
+[Endtest]
+##############################################################
+# Internal general parsed entities are only well formed
+# if they match the "content" production.
+##############################################################
+
+[Test]
+title not_wf_DOM_104
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_104.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_104.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_104.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_104.ref
+delete test
+[Endtest]
+##############################################################
+# Invalid placement of CDATA section
+##############################################################
+
+[Test]
+title not_wf_DOM_105
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_105.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_105.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_105.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_105.ref
+delete test
+[Endtest]
+##############################################################
+# Invalid placement of entity declaration
+##############################################################
+
+[Test]
+title not_wf_DOM_106
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_106.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_106.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_106.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_106.ref
+delete test
+[Endtest]
+##############################################################
+# Invalid document type declaration. CDATA alone is invalid
+##############################################################
+
+[Test]
+title not_wf_DOM_107
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_107.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_107.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_107.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_107.ref
+delete test
+[Endtest]
+##############################################################
+# No space in '' is neither an XML declaration nor a legal
+# processing instruction target name
+##############################################################
+
+[Test]
+title not_wf_DOM_154
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_154.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_154.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_154.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_154.ref
+delete test
+[Endtest]
+##############################################################
+# '' is neither an XML declaration nor a legal
+# processing instruction target name.
+##############################################################
+
+[Test]
+title not_wf_DOM_155
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_155.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_155.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_155.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_155.ref
+delete test
+[Endtest]
+##############################################################
+# '' is neither an XML declaration nor a
+# legal processing instruction target name.
+##############################################################
+
+[Test]
+title not_wf_DOM_156
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_156.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_156.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_156.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_156.ref
+delete test
+[Endtest]
+##############################################################
+# '' is not a legal processing instruction target name.
+##############################################################
+
+[Test]
+title not_wf_DOM_157
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_157.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_157.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_157.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_157.ref
+delete test
+[Endtest]
+##############################################################
+# SGML-ism: "#NOTATION gif" can't have attributes.
+##############################################################
+
+[Test]
+title not_wf_DOM_158
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_158.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_158.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_158.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_158.ref
+delete test
+[Endtest]
+##############################################################
+# Uses '&' unquoted in an entity declaration,
+# which is illegal syntax for an entity reference
+##############################################################
+
+[Test]
+title not_wf_DOM_159
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_159.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_159.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_159.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_159.ref
+delete test
+[Endtest]
+##############################################################
+# Violates the PEs in Internal Subset
+# WFC by using a PE reference within a declaration.
+##############################################################
+
+[Test]
+title not_wf_DOM_160
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_160.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_160.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_160.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_160.ref
+delete test
+[Endtest]
+##############################################################
+# Violates the PEs in Internal Subset
+# WFC by using a PE reference within a declaration.
+##############################################################
+
+[Test]
+title not_wf_DOM_161
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_161.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_161.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_161.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_161.ref
+delete test
+[Endtest]
+##############################################################
+# Violates the PEs in Internal Subset
+# WFC by using a PE reference within a declaration.
+##############################################################
+
+[Test]
+title not_wf_DOM_162
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_162.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_162.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_162.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_162.ref
+delete test
+[Endtest]
+##############################################################
+# Invalid placement of Parameter entity reference.
+##############################################################
+
+[Test]
+title not_wf_DOM_163
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_163.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_163.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_163.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_163.ref
+delete test
+[Endtest]
+##############################################################
+# Invalid placement of Parameter entity reference.
+##############################################################
+
+[Test]
+title not_wf_DOM_164
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_164.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_164.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_164.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_164.ref
+delete test
+[Endtest]
+##############################################################
+# Parameter entity declarations must have a space before the '%'.
+##############################################################
+
+[Test]
+title not_wf_DOM_165
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_165.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_165.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_165.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_165.ref
+delete test
+[Endtest]
+##############################################################
+# Character FFFE is not legal anywhere in an XML document.
+##############################################################
+
+[Test]
+title not_wf_DOM_166
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_166.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_166.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_166.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_166.ref
+delete test
+[Endtest]
+##############################################################
+# Character FFFE is not legal anywhere in an XML document.
+##############################################################
+
+[Test]
+title not_wf_DOM_167
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_167.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_167.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_167.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_167.ref
+delete test
+[Endtest]
+##############################################################
+# An unpaired surrogate (D800) is not legal anywhere in an XML document.
+##############################################################
+
+[Test]
+title not_wf_DOM_168
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_168.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_168.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_168.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_168.ref
+delete test
+[Endtest]
+##############################################################
+# An unpaired surrogate (DC00) is not legal anywhere in an XML document.
+##############################################################
+
+[Test]
+title not_wf_DOM_169
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_169.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_169.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_169.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_169.ref
+delete test
+[Endtest]
+##############################################################
+# Four byte UTF-8 encodings can encode UCS-4 characters
+# which are beyond the range of legal XML characters
+# (and can't be expressed in Unicode surrogate pairs).
+# This document holds such a character
+##############################################################
+
+[Test]
+title not_wf_DOM_170
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_170.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_170.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_170.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_170.ref
+delete test
+[Endtest]
+##############################################################
+# Character FFFF is not legal anywhere in an XML document.
+##############################################################
+
+[Test]
+title not_wf_DOM_171
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_171.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_171.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_171.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_171.ref
+delete test
+[Endtest]
+##############################################################
+# Character FFFF is not legal anywhere in an XML document.
+##############################################################
+
+[Test]
+title not_wf_DOM_172
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_172.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_172.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_172.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_172.ref
+delete test
+[Endtest]
+##############################################################
+# Character FFFF is not legal anywhere in an XML document.
+##############################################################
+
+[Test]
+title not_wf_DOM_173
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_173.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_173.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_173.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_173.ref
+delete test
+[Endtest]
+##############################################################
+# Character FFFF is not legal anywhere in an XML document.
+##############################################################
+
+[Test]
+title not_wf_DOM_174
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_174.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_174.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_174.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_174.ref
+delete test
+[Endtest]
+##############################################################
+# Character FFFF is not legal anywhere in an XML document.
+##############################################################
+
+[Test]
+title not_wf_DOM_175
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_175.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_175.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_175.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_175.ref
+delete test
+[Endtest]
+##############################################################
+# Start tags must have matching end tags.
+##############################################################
+
+[Test]
+title not_wf_DOM_176
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_176.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_176.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_176.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_176.ref
+delete test
+[Endtest]
+##############################################################
+# Character FFFF is not legal anywhere in an XML document.
+##############################################################
+
+[Test]
+title not_wf_DOM_177
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_177.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_177.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_177.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_177.ref
+delete test
+[Endtest]
+##############################################################
+# Invalid syntax matching double quote is missing.
+##############################################################
+
+[Test]
+title not_wf_DOM_178
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_178.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_178.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_178.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_178.ref
+delete test
+[Endtest]
+##############################################################
+# Invalid syntax matching double quote is missing.
+##############################################################
+
+[Test]
+title not_wf_DOM_179
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_179.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_179.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_179.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_179.ref
+delete test
+[Endtest]
+##############################################################
+# WFC requires entities to be declared before they are used in an attribute list declaration.
+##############################################################
+
+[Test]
+title not_wf_DOM_180
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_180.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_180.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_180.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_180.ref
+delete test
+[Endtest]
+##############################################################
+# Internal parsed entities must match the content
+# production to be well formed.
+##############################################################
+
+[Test]
+title not_wf_DOM_181
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_181.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_181.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_181.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_181.ref
+delete test
+[Endtest]
+##############################################################
+# Internal parsed entities must match the content
+# production to be well formed.
+##############################################################
+
+[Test]
+title not_wf_DOM_182
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_182.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_182.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_182.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_182.ref
+delete test
+[Endtest]
+##############################################################
+# Mixed content declarations may not include content particles.
+##############################################################
+
+[Test]
+title not_wf_DOM_183
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_183.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_183.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_183.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_183.ref
+delete test
+[Endtest]
+##############################################################
+# In mixed content models, element names must not be parenthesized.
+##############################################################
+
+[Test]
+title not_wf_DOM_184
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_184.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_184.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_184.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_184.ref
+delete test
+[Endtest]
+##############################################################
+# Tests the Entity Declared WFC. Nonvalidating parser is
+# permitted not to report this WFC violation,
+# since it would need to read an external parameter entity
+# to distinguish it from a violation of the Standalone Declaration
+##############################################################
+
+[Test]
+title not_wf_DOM_185
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_185.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_185.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_185.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_185.ref
+delete test
+[Endtest]
+##############################################################
+# Whitespace is required between attribute/value pairs.
+##############################################################
+
+[Test]
+title not_wf_DOM_186
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_186.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_186.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\DOM_XML_not_wf_186.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\DOM_XML_not_wf_186.ref
+delete test
+[Endtest]
+
\ No newline at end of file
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/DomWF.cfg
--- a/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/DomWF.cfg Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/DomWF.cfg Wed Jun 23 20:27:15 2010 +0530
@@ -1,1416 +1,1417 @@
-##############################################################
-# Test demonstrates an Element Type Declaration with Mixed Content
-##############################################################
-
-[Test]
-title wf_DOM_001
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_001.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_001.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_001.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_001.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that whitespace is permitted after the tag name in a Start-tag
-##############################################################
-
-[Test]
-title wf_DOM_002
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_002.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_002.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_002.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_002.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that whitespace is permitted after the tag name in an End-tag.
-##############################################################
-
-[Test]
-title wf_DOM_003
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_003.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_003.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_003.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_003.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates a valid attribute specification within a Start-tag
-##############################################################
-
-[Test]
-title wf_DOM_004
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_004.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_004.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_004.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_004.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates a valid attribute specification within a Start-tag that contains whitespace on both sides of the equal sign
-##############################################################
-
-[Test]
-title wf_DOM_005
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_005.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_005.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_005.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_005.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that the AttValue within a Start-tag can use a single quote as a delimter
-##############################################################
-
-[Test]
-title wf_DOM_006
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_006.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_006.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_006.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_006.ref
-delete test
-[Endtest]
-##############################################################
-# demonstrates numeric character references can be used for element content
-##############################################################
-
-[Test]
-title wf_DOM_007
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_007.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_007.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_007.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_007.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates character references can be used for element content.
-##############################################################
-
-[Test]
-title wf_DOM_008
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_008.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_008.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_008.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_008.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that PubidChar can be used for element content
-##############################################################
-
-[Test]
-title wf_DOM_009
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_009.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_009.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_009.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_009.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that whitespace is valid after the Attribute in a Start-tag.
-##############################################################
-
-[Test]
-title wf_DOM_010
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_010.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_010.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_010.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_010.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates mutliple Attibutes within the Start-tag
-##############################################################
-
-[Test]
-title wf_DOM_011
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_011.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_011.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_011.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_011.ref
-delete test
-[Endtest]
-##############################################################
-# Uses a legal XML 1.0 name consisting of a single colon character (disallowed by the latest XML Namespaces first version).
-##############################################################
-
-[Test]
-title wf_DOM_012
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_012.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_012.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_012.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_012.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that the Attribute in a Start-tag can consist of numerals along with special characters.
-##############################################################
-
-[Test]
-title wf_DOM_013
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_013.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_013.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_013.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_013.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that all lower case letters are valid for the Attribute in a Start-tag.
-##############################################################
-
-[Test]
-title wf_DOM_014
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_014.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_014.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_014.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_014.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that all upper case letters are valid for the Attribute in a Start-tag
-##############################################################
-
-[Test]
-title wf_DOM_015
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_015.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_015.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_015.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_015.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that Processing Instructions are valid element content
-##############################################################
-
-[Test]
-title wf_DOM_016
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_016.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_016.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_016.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_016.ref
-delete test
-[Endtest]
-##############################################################
-#Test demonstrates that Processing Instructions are valid element content and there can be more than one.
-##############################################################
-
-[Test]
-title wf_DOM_017
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_017.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_017.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_017.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_017.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that CDATA sections are valid element content.
-##############################################################
-
-[Test]
-title wf_DOM_018
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_018.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_018.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_018.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_018.ref
-delete test
-[Endtest]
-##############################################################
-#Test demonstrates that CDATA sections are valid element content and that ampersands may occur in their literal form
-##############################################################
-
-[Test]
-title wf_DOM_019
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_019.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_019.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_019.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_019.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstractes that CDATA sections are valid element content and that
-# everyting between the CDStart and CDEnd is recognized as character data not markup
-##############################################################
-
-[Test]
-title wf_DOM_020
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_020.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_020.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_020.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_020.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that comments are valid element content
-##############################################################
-
-[Test]
-title wf_DOM_021
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_021.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_021.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_021.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_021.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that comments are valid element content and that all characters
-# before the double-hypen right angle combination are considered part of thecomment.
-##############################################################
-
-[Test]
-title wf_DOM_022
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_022.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_022.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_022.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_022.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that Entity References are valid element content.
-##############################################################
-
-[Test]
-title wf_DOM_023
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_023.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_023.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_023.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_023.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that Entity References are valid element content and also demonstrates a valid Entity Declaration
-##############################################################
-
-[Test]
-title wf_DOM_024
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_024.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_024.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_024.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_024.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates an Element Type Declaration and that the contentspec can be of mixed content
-##############################################################
-
-[Test]
-title wf_DOM_025
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_025.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_025.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_025.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_025.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates an Element Type Declaration and that EMPTY is a valid contentspec
-##############################################################
-
-[Test]
-title wf_DOM_026
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_026.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_026.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_026.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_026.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates an Element Type Declaration and that ANY is a valid contenspec
-##############################################################
-
-[Test]
-title wf_DOM_027
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_027.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_027.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_027.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_027.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates a valid prolog that uses double quotes as delimeters around the VersionNum
-##############################################################
-
-[Test]
-title wf_DOM_028
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_028.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_028.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_028.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_028.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates a valid prolog that uses single quotes as delimters around the VersionNum.
-##############################################################
-
-[Test]
-title wf_DOM_029
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_029.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_029.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_029.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_029.ref
-delete test
-[Endtest]
-##############################################################
-#Test demonstrates a valid prolog that contains whitespace on both sides of the equal sign in the VersionInfo
-##############################################################
-
-[Test]
-title wf_DOM_030
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_030.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_030.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_030.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_030.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates a valid EncodingDecl within the prolog.
-##############################################################
-
-[Test]
-title wf_DOM_031
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_031.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_031.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_031.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_031.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates a valid SDDecl within the prolog.
-##############################################################
-
-[Test]
-title wf_DOM_032
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_032.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_032.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_032.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_032.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that both a EncodingDecl and SDDecl are valid within the prolog
-##############################################################
-
-[Test]
-title wf_DOM_033
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_033.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_033.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_033.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_033.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates the correct syntax for an Empty element tag.
-##############################################################
-
-[Test]
-title wf_DOM_034
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_034.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_034.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_034.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_034.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that whitespace is permissible after the name in an Empty element tag
-##############################################################
-
-[Test]
-title wf_DOM_035
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_035.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_035.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_035.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_035.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates a valid processing instruction
-##############################################################
-
-[Test]
-title wf_DOM_036
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_036.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_036.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_036.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_036.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates a valid comment and that it may appear anywhere in the document including at the end.
-##############################################################
-
-[Test]
-title wf_DOM_037
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_037.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_037.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_037.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_037.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates a valid comment and that it may appear anywhere in the document including the beginning
-##############################################################
-
-[Test]
-title wf_DOM_038
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_038.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_038.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_038.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_038.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates a valid processing instruction and that it may appear at the beginning of the document
-##############################################################
-
-[Test]
-title wf_DOM_039
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_039.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_039.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_039.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_039.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates an Attribute List declaration that uses a StringType as the AttType.
-##############################################################
-
-[Test]
-title wf_DOM_040
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_040.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_040.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_040.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_040.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates an Attribute List declaration that uses a StringType
-# as the AttType and also expands the CDATA attribute with a character reference
-##############################################################
-
-[Test]
-title wf_DOM_041
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_041.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_041.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_041.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_041.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates an Attribute List declaration that uses a StringType as the AttType
-# and also expands the CDATA attribute with a character reference.
-# The test also shows that the leading zeros in the character reference are ignored
-##############################################################
-
-[Test]
-title wf_DOM_042
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_042.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_042.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_042.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_042.ref
-delete test
-[Endtest]
-##############################################################
-# An element's attributes may be declared before its content model; and attribute values may contain newlines.
-##############################################################
-
-[Test]
-title wf_DOM_043
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_043.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_043.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_043.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_043.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that the empty-element tag must be use for an elements that are declared EMPTY
-##############################################################
-
-[Test]
-title wf_DOM_044
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_044.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_044.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_044.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_044.ref
-delete test
-[Endtest]
-##############################################################
-# Tests whether more than one definition can be provided for the same attribute of a given element type with the first declaration being binding
-##############################################################
-
-[Test]
-title wf_DOM_045
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_045.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_045.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_045.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_045.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that when more than one AttlistDecl is
-# provided for a given element type, the contents of all those provided are merged
-##############################################################
-
-[Test]
-title wf_DOM_046
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_046.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_046.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_046.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_046.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that extra whitespace is normalized into single space character
-##############################################################
-
-[Test]
-title wf_DOM_047
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_047.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_047.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_047.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_047.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that character data is valid element content
-##############################################################
-
-[Test]
-title wf_DOM_048
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_048.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_048.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_048.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_048.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that characters outside of normal ascii range can be used as element content
-##############################################################
-
-[Test]
-title wf_DOM_049
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_049.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_049.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_049.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_049.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that characters outside of normal ascii range can be used as element content
-##############################################################
-
-[Test]
-title wf_DOM_050
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_050.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_050.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_050.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_050.ref
-delete test
-[Endtest]
-##############################################################
-# The document is encoded in UTF-16 and uses some name characters well outside of the normal ASCII range.
-##############################################################
-
-[Test]
-title wf_DOM_051
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_051.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_051.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_051.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_051.ref
-delete test
-[Endtest]
-##############################################################
-# The document is encoded in UTF-8 and the text inside the root element uses two non-ASCII characters,
-# encoded in UTF-8 and each of which expands to a Unicode surrogate pair
-##############################################################
-
-[Test]
-title wf_DOM_052
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_052.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_052.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_052.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_052.ref
-delete test
-[Endtest]
-##############################################################
-# Tests inclusion of a well-formed internal entity, which holds an element required by the content model
-##############################################################
-
-[Test]
-title wf_DOM_053
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_053.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_053.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_053.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_053.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that extra whitespace within Start-tags and End-tags are nomalized into single spaces
-##############################################################
-
-[Test]
-title wf_DOM_054
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_054.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_054.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_054.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_054.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that extra whitespace within a processing instruction willnormalized into s single space character
-##############################################################
-
-[Test]
-title wf_DOM_055
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_055.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_055.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_055.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_055.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates an Attribute List declaration that uses a StringType as the AttType
-# and also expands the CDATA attribute with a character reference.
-# The test also shows that the leading zeros in the character reference are ignored
-##############################################################
-
-[Test]
-title wf_DOM_056
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_056.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_056.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_056.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_056.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates an element content model whose element can occur zero or more times
-##############################################################
-
-[Test]
-title wf_DOM_057
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_057.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_057.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_057.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_057.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that extra whitespace be normalized into a single space character in an attribute of type NMTOKENS.
-##############################################################
-
-[Test]
-title wf_DOM_058
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_058.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_058.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_058.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_058.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates an Element Type Declaration that uses the contentspec of EMPTY.
-# The element cannot have any contents and must always appear as an empty element in the document.
-# The test also shows an Attribute-list declaration with multiple AttDef's
-##############################################################
-
-[Test]
-title wf_DOM_059
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_059.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_059.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_059.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_059.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates the use of decimal Character References within element content.
-##############################################################
-
-[Test]
-title wf_DOM_060
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_060.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_060.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_060.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_060.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates the use of decimal Character References within element content.
-##############################################################
-
-[Test]
-title wf_DOM_061
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_061.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_061.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_061.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_061.ref
-delete test
-[Endtest]
-##############################################################
-#Test demonstrates the use of hexadecimal Character References within element.
-##############################################################
-
-[Test]
-title wf_DOM_062
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_062.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_062.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_062.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_062.ref
-delete test
-[Endtest]
-##############################################################
-# The document is encoded in UTF-8 and the name of the root element type uses non-ASCII characters
-##############################################################
-
-[Test]
-title wf_DOM_063
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_063.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_063.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_063.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_063.ref
-delete test
-[Endtest]
-##############################################################
-# Tests in-line handling of two legal character references, which each expand to a Unicode surrogate pair.
-##############################################################
-
-[Test]
-title wf_DOM_064
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_064.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_064.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_064.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_064.ref
-delete test
-[Endtest]
-##############################################################
-# Tests ability to define an internal entity which can't legally be expanded (contains an unquoted < ).
-##############################################################
-
-[Test]
-title wf_DOM_065
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_065.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_065.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_065.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_065.ref
-delete test
-[Endtest]
-##############################################################
-# Expands a CDATA attribute with a character reference.
-##############################################################
-
-[Test]
-title wf_DOM_066
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_066.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_066.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_066.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_066.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates the use of decimal character references within element content
-##############################################################
-
-[Test]
-title wf_DOM_067
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_067.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_067.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_067.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_067.ref
-delete test
-[Endtest]
-##############################################################
-# Tests definition of an internal entity holding a carriage return character reference,
-# which must not be normalized before reporting to the application.
-# Line break normalization only occurs when parsing external parsed entities
-##############################################################
-
-[Test]
-title wf_DOM_068
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_068.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_068.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_068.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_068.ref
-delete test
-[Endtest]
-##############################################################
-# Verifies that internal parameter entities are correctly expanded within the internal subset
-##############################################################
-
-[Test]
-title wf_DOM_070
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_070.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_070.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_070.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_070.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that an AttlistDecl can use ID as the
-# TokenizedType within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl.
-##############################################################
-
-[Test]
-title wf_DOM_071
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_071.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_071.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_071.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_071.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that an AttlistDecl can use IDREF as the TokenizedType
-# within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl
-##############################################################
-
-[Test]
-title wf_DOM_072
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_072.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_072.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_072.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_072.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that an AttlistDecl can use IDREFS as the TokenizedType within the Attribute
-# type. The test also shows that IMPLIED is a valid DefaultDecl
-##############################################################
-
-[Test]
-title wf_DOM_073
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_073.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_073.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_073.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_073.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that an AttlistDecl can use ENTITY as the TokenizedType
-# within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl.
-##############################################################
-
-[Test]
-title wf_DOM_074
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_074.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_074.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_074.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_074.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that an AttlistDecl can use ENTITIES as the TokenizedType
-# within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl
-##############################################################
-
-[Test]
-title wf_DOM_075
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_075.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_075.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_075.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_075.ref
-delete test
-[Endtest]
-##############################################################
-# Demonstrates that an AttlistDecl can use an EnumeratedType
-# within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl
-##############################################################
-
-[Test]
-title wf_DOM_077
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_077.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_077.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_077.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_077.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that an AttlistDecl can use an StringType of
-# CDATA within the Attribute type. The test also shows that REQUIRED is a valid DefaultDecl
-##############################################################
-
-[Test]
-title wf_DOM_078
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_078.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_078.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_078.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_078.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that an AttlistDecl can use an StringType of CDATA
-# within the Attribute type. The test also shows that FIXED is a valid DefaultDecl and that a value
-# can be given to the attribute in the Start-tag as well as the AttListDecl
-##############################################################
-
-[Test]
-title wf_DOM_079
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_079.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_079.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_079.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_079.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that an AttlistDecl can use an StringType
-# of CDATA within the Attribute type. The test also shows that
-# FIXED is a valid DefaultDecl and that an value can be given to the attribute
-##############################################################
-
-[Test]
-title wf_DOM_080
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_080.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_080.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_080.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_080.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates the use of the optional character following a name or list to govern the number
-# of times an element or content particles in the list occur
-##############################################################
-
-[Test]
-title wf_DOM_081
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_081.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_081.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_081.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_081.ref
-delete test
-[Endtest]
-##############################################################
-# Tests that an external PE may be defined (but not referenced)
-##############################################################
-
-[Test]
-title wf_DOM_082
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_082.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_082.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_082.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_082.ref
-delete test
-[Endtest]
-##############################################################
-# Tests that an external PE may be defined (but not referenced)
-##############################################################
-
-[Test]
-title wf_DOM_083
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_083.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_083.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_083.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_083.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that although whitespace can be used to set apart markup for greater readability it is not necessary
-##############################################################
-
-[Test]
-title wf_DOM_084
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_084.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_084.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_084.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_084.ref
-delete test
-[Endtest]
-##############################################################
-# Parameter and General entities use different namespaces, so there can be an entity of each type with a given name
-##############################################################
-
-[Test]
-title wf_DOM_085
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_085.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_085.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_085.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_085.ref delete test
-[Endtest]
-##############################################################
-#Tests whether entities may be declared more than once, with the first declaration being the binding one
-##############################################################
-
-[Test]
-title wf_DOM_086
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_086.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_086.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_086.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_086.ref
-delete test
-[Endtest]
-##############################################################
-# Tests whether character references in internal entities are expanded early enough,
-# by relying on correct handling to make the entity be well formed
-##############################################################
-
-[Test]
-title wf_DOM_087
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_087.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_087.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_087.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_087.ref
-delete test
-[Endtest]
-##############################################################
-# Tests whether entity references in internal entities are expanded late enough,
-# by relying on correct handling to make the expanded text be valid.
-# (If it's expanded too early, the entity will parse as an element that's not valid in that context.)
-##############################################################
-
-[Test]
-title wf_DOM_088
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_088.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_088.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_088.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_088.ref
-delete test
-[Endtest]
-##############################################################
-# Tests entity expansion of three legal character references, which each expand to a Unicode surrogate pair.
-##############################################################
-
-[Test]
-title wf_DOM_089
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_089.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_089.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_089.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_089.ref
-delete test
-[Endtest]
-##############################################################
-# Test demostrates that extra whitespace is normalized into a single space character.
-##############################################################
-
-[Test]
-title wf_DOM_092
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_092.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_092.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_092.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_092.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that extra whitespace is not intended for inclusion in the delivered version of the document.
-##############################################################
-
-[Test]
-title wf_DOM_093
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_093.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_093.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_093.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_093.ref
-delete test
-[Endtest]
-##############################################################
-# Attribute defaults with a DTD have special parsing rules,
-# different from other strings. That means that characters
-# found there may look like an undefined parameter entity reference
-# "within a markup declaration", but they aren't ... so they can't
-# be violating the PEs in Internal Subset WFC.
-##############################################################
-
-[Test]
-title wf_DOM_094
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_094.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_094.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_094.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_094.ref
-delete test
-[Endtest]
-##############################################################
-# Basically an output test, this requires extra whitespace to be normalized into a single space character in an attribute of type NMTOKENS
-##############################################################
-
-[Test]
-title wf_DOM_095
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_095.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_095.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_095.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_095.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that extra whitespace is normalized into a single space character in an attribute of type NMTOKENS.
-##############################################################
-
-[Test]
-title wf_DOM_096
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_096.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_096.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_096.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_096.ref
-delete test
-[Endtest]
-##############################################################
-# Basically an output test, this tests whether an externally defined attribute declaration
-# (with a default) takes proper precedence over a subsequent internal declaration
-##############################################################
-
-[Test]
-title wf_DOM_097
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_097.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_097.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_097.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_097.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that extra whitespace within a processing instruction is converted into a single space character
-##############################################################
-
-[Test]
-title wf_DOM_098
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_098.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_098.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_098.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_098.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates the name of the encoding can be composed of lowercase characters
-##############################################################
-
-[Test]
-title wf_DOM_099
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_099.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_099.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_099.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_099.ref
-delete test
-[Endtest]
-##############################################################
-# Makes sure that PUBLIC identifiers may have some strange characters.
-# NOTc: The XML editors have said that the XML specification errata
-# will specify that parameter entity expansion does not occur in PUBLIC
-# identifiers, so that the '%' character will not flag a malformed parameter entity reference.
-##############################################################
-
-[Test]
-title wf_DOM_100
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_100.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_100.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_100.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_100.ref
-delete test
-[Endtest]
-##############################################################
-# This tests whether entity expansion is (incorrectly)
-# done while processing entity declarations; if it is, the entity value literal will terminate prematurely
-##############################################################
-
-[Test]
-title wf_DOM_101
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_101.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_101.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_101.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_101.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that a CDATA attribute can pass a double quote as its value
-##############################################################
-
-[Test]
-title wf_DOM_102
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_102.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_102.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_102.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_102.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that an attribute can pass a less than sign as its value.
-##############################################################
-
-[Test]
-title wf_DOM_103
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_103.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_103.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_103.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_103.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that extra whitespace within an Attribute of a Start-tag is normalized to a single space character
-##############################################################
-
-[Test]
-title wf_DOM_104
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_104.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_104.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_104.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_104.ref
-delete test
-[Endtest]
-##############################################################
-# Basically an output test, this requires a CDATA attribute with a tab character to be passed through as one space
-##############################################################
-
-[Test]
-title wf_DOM_105
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_105.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_105.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_105.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_105.ref
-delete test
-[Endtest]
-##############################################################
-# Basically an output test, this requires a CDATA attribute with a newline character to be passed through as one space.
-##############################################################
-
-[Test]
-title wf_DOM_106
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_106.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_106.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_106.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_106.ref
-delete test
-[Endtest]
-##############################################################
-# Basically an output test, this requires a CDATA attribute with a return character to be passed through as one space
-##############################################################
-
-[Test]
-title wf_DOM_107
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_107.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_107.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_107.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_107.ref
-delete test
-[Endtest]
-##############################################################
-# This tests normalization of end-of-line characters (CRLF) within entities to LF, primarily as an output test
-##############################################################
-
-[Test]
-title wf_DOM_108
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_108.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_108.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_108.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_108.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that an attribute can have a null value.
-##############################################################
-
-[Test]
-title wf_DOM_109
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_109.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_109.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_109.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_109.ref
-delete test
-[Endtest]
-##############################################################
-# Basically an output test, this requires that a CDATA attribute with a CRLF be normalized to one space
-##############################################################
-
-[Test]
-title wf_DOM_110
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_110.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_110.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_110.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_110.ref
-delete test
-[Endtest]
-##############################################################
-# Character references expanding to spaces doesn't affect treatment of attributes
-##############################################################
-
-[Test]
-title wf_DOM_111
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_111.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_111.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_111.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_111.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates shows the use of content particles within the element content
-##############################################################
-
-[Test]
-title wf_DOM_112
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_112.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_112.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_112.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_112.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that it is not an error to have attributes declared for an element not itself declared.
-##############################################################
-
-[Test]
-title wf_DOM_113
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_113.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_113.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_113.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_113.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that all text within a valid CDATA section is considered text and not recognized as markup
-##############################################################
-
-[Test]
-title wf_DOM_114
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_114.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_114.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_114.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_114.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that an entity reference is processed by recursively processing the replacement text of the entity
-##############################################################
-
-[Test]
-title wf_DOM_115
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_115.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_115.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_115.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_115.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that a line break within CDATA will be normalized
-##############################################################
-
-[Test]
-title wf_DOM_116
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_116.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_116.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_116.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_116.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that entity expansion is done while processing entity declarations
-##############################################################
-
-[Test]
-title wf_DOM_117
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_117.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_117.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_117.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_117.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that entity expansion is done while processing entity declarations
-##############################################################
-
-[Test]
-title wf_DOM_118
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_118.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_118.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_118.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_118.ref
-delete test
-[Endtest]
-##############################################################
-# Comments may contain any legal XML characters; only the string "--" is disallowed
-##############################################################
-
-[Test]
-title wf_DOM_119
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_119.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_119.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_119.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_119.ref
-delete test
-[Endtest]
+##############################################################
+# Test demonstrates an Element Type Declaration with Mixed Content
+##############################################################
+
+[Test]
+title wf_DOM_001
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_001.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_001.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_001.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_001.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that whitespace is permitted after the tag name in a Start-tag
+##############################################################
+
+[Test]
+title wf_DOM_002
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_002.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_002.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_002.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_002.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that whitespace is permitted after the tag name in an End-tag.
+##############################################################
+
+[Test]
+title wf_DOM_003
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_003.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_003.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_003.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_003.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates a valid attribute specification within a Start-tag
+##############################################################
+
+[Test]
+title wf_DOM_004
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_004.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_004.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_004.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_004.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates a valid attribute specification within a Start-tag that contains whitespace on both sides of the equal sign
+##############################################################
+
+[Test]
+title wf_DOM_005
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_005.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_005.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_005.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_005.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that the AttValue within a Start-tag can use a single quote as a delimter
+##############################################################
+
+[Test]
+title wf_DOM_006
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_006.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_006.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_006.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_006.ref
+delete test
+[Endtest]
+##############################################################
+# demonstrates numeric character references can be used for element content
+##############################################################
+
+[Test]
+title wf_DOM_007
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_007.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_007.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_007.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_007.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates character references can be used for element content.
+##############################################################
+
+[Test]
+title wf_DOM_008
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_008.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_008.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_008.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_008.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that PubidChar can be used for element content
+##############################################################
+
+[Test]
+title wf_DOM_009
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_009.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_009.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_009.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_009.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that whitespace is valid after the Attribute in a Start-tag.
+##############################################################
+
+[Test]
+title wf_DOM_010
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_010.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_010.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_010.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_010.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates mutliple Attibutes within the Start-tag
+##############################################################
+
+[Test]
+title wf_DOM_011
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_011.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_011.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_011.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_011.ref
+delete test
+[Endtest]
+##############################################################
+# Uses a legal XML 1.0 name consisting of a single colon character (disallowed by the latest XML Namespaces first version).
+##############################################################
+
+[Test]
+title wf_DOM_012
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_012.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_012.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_012.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_012.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that the Attribute in a Start-tag can consist of numerals along with special characters.
+##############################################################
+
+[Test]
+title wf_DOM_013
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_013.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_013.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_013.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_013.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that all lower case letters are valid for the Attribute in a Start-tag.
+##############################################################
+
+[Test]
+title wf_DOM_014
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_014.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_014.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_014.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_014.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that all upper case letters are valid for the Attribute in a Start-tag
+##############################################################
+
+[Test]
+title wf_DOM_015
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_015.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_015.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_015.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_015.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that Processing Instructions are valid element content
+##############################################################
+
+[Test]
+title wf_DOM_016
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_016.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_016.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_016.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_016.ref
+delete test
+[Endtest]
+##############################################################
+#Test demonstrates that Processing Instructions are valid element content and there can be more than one.
+##############################################################
+
+[Test]
+title wf_DOM_017
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_017.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_017.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_017.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_017.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that CDATA sections are valid element content.
+##############################################################
+
+[Test]
+title wf_DOM_018
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_018.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_018.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_018.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_018.ref
+delete test
+[Endtest]
+##############################################################
+#Test demonstrates that CDATA sections are valid element content and that ampersands may occur in their literal form
+##############################################################
+
+[Test]
+title wf_DOM_019
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_019.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_019.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_019.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_019.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstractes that CDATA sections are valid element content and that
+# everyting between the CDStart and CDEnd is recognized as character data not markup
+##############################################################
+
+[Test]
+title wf_DOM_020
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_020.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_020.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_020.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_020.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that comments are valid element content
+##############################################################
+
+[Test]
+title wf_DOM_021
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_021.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_021.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_021.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_021.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that comments are valid element content and that all characters
+# before the double-hypen right angle combination are considered part of thecomment.
+##############################################################
+
+[Test]
+title wf_DOM_022
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_022.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_022.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_022.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_022.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that Entity References are valid element content.
+##############################################################
+
+[Test]
+title wf_DOM_023
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_023.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_023.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_023.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_023.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that Entity References are valid element content and also demonstrates a valid Entity Declaration
+##############################################################
+
+[Test]
+title wf_DOM_024
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_024.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_024.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_024.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_024.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates an Element Type Declaration and that the contentspec can be of mixed content
+##############################################################
+
+[Test]
+title wf_DOM_025
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_025.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_025.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_025.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_025.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates an Element Type Declaration and that EMPTY is a valid contentspec
+##############################################################
+
+[Test]
+title wf_DOM_026
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_026.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_026.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_026.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_026.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates an Element Type Declaration and that ANY is a valid contenspec
+##############################################################
+
+[Test]
+title wf_DOM_027
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_027.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_027.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_027.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_027.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates a valid prolog that uses double quotes as delimeters around the VersionNum
+##############################################################
+
+[Test]
+title wf_DOM_028
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_028.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_028.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_028.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_028.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates a valid prolog that uses single quotes as delimters around the VersionNum.
+##############################################################
+
+[Test]
+title wf_DOM_029
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_029.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_029.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_029.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_029.ref
+delete test
+[Endtest]
+##############################################################
+#Test demonstrates a valid prolog that contains whitespace on both sides of the equal sign in the VersionInfo
+##############################################################
+
+[Test]
+title wf_DOM_030
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_030.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_030.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_030.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_030.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates a valid EncodingDecl within the prolog.
+##############################################################
+
+[Test]
+title wf_DOM_031
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_031.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_031.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_031.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_031.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates a valid SDDecl within the prolog.
+##############################################################
+
+[Test]
+title wf_DOM_032
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_032.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_032.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_032.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_032.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that both a EncodingDecl and SDDecl are valid within the prolog
+##############################################################
+
+[Test]
+title wf_DOM_033
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_033.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_033.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_033.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_033.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates the correct syntax for an Empty element tag.
+##############################################################
+
+[Test]
+title wf_DOM_034
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_034.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_034.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_034.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_034.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that whitespace is permissible after the name in an Empty element tag
+##############################################################
+
+[Test]
+title wf_DOM_035
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_035.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_035.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_035.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_035.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates a valid processing instruction
+##############################################################
+
+[Test]
+title wf_DOM_036
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_036.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_036.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_036.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_036.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates a valid comment and that it may appear anywhere in the document including at the end.
+##############################################################
+
+[Test]
+title wf_DOM_037
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_037.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_037.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_037.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_037.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates a valid comment and that it may appear anywhere in the document including the beginning
+##############################################################
+
+[Test]
+title wf_DOM_038
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_038.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_038.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_038.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_038.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates a valid processing instruction and that it may appear at the beginning of the document
+##############################################################
+
+[Test]
+title wf_DOM_039
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_039.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_039.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_039.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_039.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates an Attribute List declaration that uses a StringType as the AttType.
+##############################################################
+
+[Test]
+title wf_DOM_040
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_040.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_040.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_040.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_040.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates an Attribute List declaration that uses a StringType
+# as the AttType and also expands the CDATA attribute with a character reference
+##############################################################
+
+[Test]
+title wf_DOM_041
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_041.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_041.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_041.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_041.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates an Attribute List declaration that uses a StringType as the AttType
+# and also expands the CDATA attribute with a character reference.
+# The test also shows that the leading zeros in the character reference are ignored
+##############################################################
+
+[Test]
+title wf_DOM_042
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_042.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_042.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_042.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_042.ref
+delete test
+[Endtest]
+##############################################################
+# An element's attributes may be declared before its content model; and attribute values may contain newlines.
+##############################################################
+
+[Test]
+title wf_DOM_043
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_043.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_043.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_043.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_043.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that the empty-element tag must be use for an elements that are declared EMPTY
+##############################################################
+
+[Test]
+title wf_DOM_044
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_044.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_044.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_044.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_044.ref
+delete test
+[Endtest]
+##############################################################
+# Tests whether more than one definition can be provided for the same attribute of a given element type with the first declaration being binding
+##############################################################
+
+[Test]
+title wf_DOM_045
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_045.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_045.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_045.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_045.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that when more than one AttlistDecl is
+# provided for a given element type, the contents of all those provided are merged
+##############################################################
+
+[Test]
+title wf_DOM_046
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_046.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_046.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_046.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_046.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that extra whitespace is normalized into single space character
+##############################################################
+
+[Test]
+title wf_DOM_047
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_047.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_047.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_047.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_047.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that character data is valid element content
+##############################################################
+
+[Test]
+title wf_DOM_048
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_048.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_048.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_048.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_048.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that characters outside of normal ascii range can be used as element content
+##############################################################
+
+[Test]
+title wf_DOM_049
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_049.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_049.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_049.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_049.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that characters outside of normal ascii range can be used as element content
+##############################################################
+
+[Test]
+title wf_DOM_050
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_050.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_050.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_050.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_050.ref
+delete test
+[Endtest]
+##############################################################
+# The document is encoded in UTF-16 and uses some name characters well outside of the normal ASCII range.
+##############################################################
+
+[Test]
+title wf_DOM_051
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_051.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_051.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_051.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_051.ref
+delete test
+[Endtest]
+##############################################################
+# The document is encoded in UTF-8 and the text inside the root element uses two non-ASCII characters,
+# encoded in UTF-8 and each of which expands to a Unicode surrogate pair
+##############################################################
+
+[Test]
+title wf_DOM_052
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_052.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_052.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_052.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_052.ref
+delete test
+[Endtest]
+##############################################################
+# Tests inclusion of a well-formed internal entity, which holds an element required by the content model
+##############################################################
+
+[Test]
+title wf_DOM_053
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_053.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_053.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_053.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_053.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that extra whitespace within Start-tags and End-tags are nomalized into single spaces
+##############################################################
+
+[Test]
+title wf_DOM_054
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_054.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_054.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_054.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_054.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that extra whitespace within a processing instruction willnormalized into s single space character
+##############################################################
+
+[Test]
+title wf_DOM_055
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_055.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_055.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_055.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_055.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates an Attribute List declaration that uses a StringType as the AttType
+# and also expands the CDATA attribute with a character reference.
+# The test also shows that the leading zeros in the character reference are ignored
+##############################################################
+
+[Test]
+title wf_DOM_056
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_056.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_056.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_056.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_056.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates an element content model whose element can occur zero or more times
+##############################################################
+
+[Test]
+title wf_DOM_057
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_057.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_057.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_057.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_057.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that extra whitespace be normalized into a single space character in an attribute of type NMTOKENS.
+##############################################################
+
+[Test]
+title wf_DOM_058
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_058.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_058.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_058.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_058.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates an Element Type Declaration that uses the contentspec of EMPTY.
+# The element cannot have any contents and must always appear as an empty element in the document.
+# The test also shows an Attribute-list declaration with multiple AttDef's
+##############################################################
+
+[Test]
+title wf_DOM_059
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_059.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_059.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_059.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_059.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates the use of decimal Character References within element content.
+##############################################################
+
+[Test]
+title wf_DOM_060
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_060.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_060.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_060.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_060.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates the use of decimal Character References within element content.
+##############################################################
+
+[Test]
+title wf_DOM_061
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_061.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_061.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_061.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_061.ref
+delete test
+[Endtest]
+##############################################################
+#Test demonstrates the use of hexadecimal Character References within element.
+##############################################################
+
+[Test]
+title wf_DOM_062
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_062.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_062.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_062.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_062.ref
+delete test
+[Endtest]
+##############################################################
+# The document is encoded in UTF-8 and the name of the root element type uses non-ASCII characters
+##############################################################
+
+[Test]
+title wf_DOM_063
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_063.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_063.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_063.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_063.ref
+delete test
+[Endtest]
+##############################################################
+# Tests in-line handling of two legal character references, which each expand to a Unicode surrogate pair.
+##############################################################
+
+[Test]
+title wf_DOM_064
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_064.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_064.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_064.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_064.ref
+delete test
+[Endtest]
+##############################################################
+# Tests ability to define an internal entity which can't legally be expanded (contains an unquoted < ).
+##############################################################
+
+[Test]
+title wf_DOM_065
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_065.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_065.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_065.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_065.ref
+delete test
+[Endtest]
+##############################################################
+# Expands a CDATA attribute with a character reference.
+##############################################################
+
+[Test]
+title wf_DOM_066
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_066.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_066.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_066.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_066.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates the use of decimal character references within element content
+##############################################################
+
+[Test]
+title wf_DOM_067
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_067.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_067.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_067.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_067.ref
+delete test
+[Endtest]
+##############################################################
+# Tests definition of an internal entity holding a carriage return character reference,
+# which must not be normalized before reporting to the application.
+# Line break normalization only occurs when parsing external parsed entities
+##############################################################
+
+[Test]
+title wf_DOM_068
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_068.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_068.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_068.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_068.ref
+delete test
+[Endtest]
+##############################################################
+# Verifies that internal parameter entities are correctly expanded within the internal subset
+##############################################################
+
+[Test]
+title wf_DOM_070
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_070.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_070.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_070.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_070.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that an AttlistDecl can use ID as the
+# TokenizedType within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl.
+##############################################################
+
+[Test]
+title wf_DOM_071
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_071.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_071.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_071.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_071.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that an AttlistDecl can use IDREF as the TokenizedType
+# within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl
+##############################################################
+
+[Test]
+title wf_DOM_072
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_072.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_072.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_072.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_072.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that an AttlistDecl can use IDREFS as the TokenizedType within the Attribute
+# type. The test also shows that IMPLIED is a valid DefaultDecl
+##############################################################
+
+[Test]
+title wf_DOM_073
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_073.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_073.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_073.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_073.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that an AttlistDecl can use ENTITY as the TokenizedType
+# within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl.
+##############################################################
+
+[Test]
+title wf_DOM_074
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_074.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_074.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_074.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_074.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that an AttlistDecl can use ENTITIES as the TokenizedType
+# within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl
+##############################################################
+
+[Test]
+title wf_DOM_075
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_075.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_075.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_075.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_075.ref
+delete test
+[Endtest]
+##############################################################
+# Demonstrates that an AttlistDecl can use an EnumeratedType
+# within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl
+##############################################################
+
+[Test]
+title wf_DOM_077
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_077.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_077.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_077.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_077.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that an AttlistDecl can use an StringType of
+# CDATA within the Attribute type. The test also shows that REQUIRED is a valid DefaultDecl
+##############################################################
+
+[Test]
+title wf_DOM_078
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_078.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_078.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_078.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_078.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that an AttlistDecl can use an StringType of CDATA
+# within the Attribute type. The test also shows that FIXED is a valid DefaultDecl and that a value
+# can be given to the attribute in the Start-tag as well as the AttListDecl
+##############################################################
+
+[Test]
+title wf_DOM_079
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_079.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_079.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_079.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_079.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that an AttlistDecl can use an StringType
+# of CDATA within the Attribute type. The test also shows that
+# FIXED is a valid DefaultDecl and that an value can be given to the attribute
+##############################################################
+
+[Test]
+title wf_DOM_080
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_080.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_080.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_080.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_080.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates the use of the optional character following a name or list to govern the number
+# of times an element or content particles in the list occur
+##############################################################
+
+[Test]
+title wf_DOM_081
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_081.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_081.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_081.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_081.ref
+delete test
+[Endtest]
+##############################################################
+# Tests that an external PE may be defined (but not referenced)
+##############################################################
+
+[Test]
+title wf_DOM_082
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_082.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_082.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_082.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_082.ref
+delete test
+[Endtest]
+##############################################################
+# Tests that an external PE may be defined (but not referenced)
+##############################################################
+
+[Test]
+title wf_DOM_083
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_083.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_083.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_083.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_083.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that although whitespace can be used to set apart markup for greater readability it is not necessary
+##############################################################
+
+[Test]
+title wf_DOM_084
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_084.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_084.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_084.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_084.ref
+delete test
+[Endtest]
+##############################################################
+# Parameter and General entities use different namespaces, so there can be an entity of each type with a given name
+##############################################################
+
+[Test]
+title wf_DOM_085
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_085.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_085.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_085.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_085.ref delete test
+[Endtest]
+##############################################################
+#Tests whether entities may be declared more than once, with the first declaration being the binding one
+##############################################################
+
+[Test]
+title wf_DOM_086
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_086.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_086.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_086.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_086.ref
+delete test
+[Endtest]
+##############################################################
+# Tests whether character references in internal entities are expanded early enough,
+# by relying on correct handling to make the entity be well formed
+##############################################################
+
+[Test]
+title wf_DOM_087
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_087.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_087.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_087.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_087.ref
+delete test
+[Endtest]
+##############################################################
+# Tests whether entity references in internal entities are expanded late enough,
+# by relying on correct handling to make the expanded text be valid.
+# (If it's expanded too early, the entity will parse as an element that's not valid in that context.)
+##############################################################
+
+[Test]
+title wf_DOM_088
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_088.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_088.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_088.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_088.ref
+delete test
+[Endtest]
+##############################################################
+# Tests entity expansion of three legal character references, which each expand to a Unicode surrogate pair.
+##############################################################
+
+[Test]
+title wf_DOM_089
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_089.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_089.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_089.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_089.ref
+delete test
+[Endtest]
+##############################################################
+# Test demostrates that extra whitespace is normalized into a single space character.
+##############################################################
+
+[Test]
+title wf_DOM_092
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_092.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_092.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_092.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_092.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that extra whitespace is not intended for inclusion in the delivered version of the document.
+##############################################################
+
+[Test]
+title wf_DOM_093
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_093.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_093.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_093.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_093.ref
+delete test
+[Endtest]
+##############################################################
+# Attribute defaults with a DTD have special parsing rules,
+# different from other strings. That means that characters
+# found there may look like an undefined parameter entity reference
+# "within a markup declaration", but they aren't ... so they can't
+# be violating the PEs in Internal Subset WFC.
+##############################################################
+
+[Test]
+title wf_DOM_094
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_094.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_094.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_094.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_094.ref
+delete test
+[Endtest]
+##############################################################
+# Basically an output test, this requires extra whitespace to be normalized into a single space character in an attribute of type NMTOKENS
+##############################################################
+
+[Test]
+title wf_DOM_095
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_095.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_095.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_095.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_095.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that extra whitespace is normalized into a single space character in an attribute of type NMTOKENS.
+##############################################################
+
+[Test]
+title wf_DOM_096
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_096.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_096.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_096.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_096.ref
+delete test
+[Endtest]
+##############################################################
+# Basically an output test, this tests whether an externally defined attribute declaration
+# (with a default) takes proper precedence over a subsequent internal declaration
+##############################################################
+
+[Test]
+title wf_DOM_097
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_097.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_097.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_097.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_097.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that extra whitespace within a processing instruction is converted into a single space character
+##############################################################
+
+[Test]
+title wf_DOM_098
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_098.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_098.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_098.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_098.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates the name of the encoding can be composed of lowercase characters
+##############################################################
+
+[Test]
+title wf_DOM_099
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_099.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_099.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_099.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_099.ref
+delete test
+[Endtest]
+##############################################################
+# Makes sure that PUBLIC identifiers may have some strange characters.
+# NOTc: The XML editors have said that the XML specification errata
+# will specify that parameter entity expansion does not occur in PUBLIC
+# identifiers, so that the '%' character will not flag a malformed parameter entity reference.
+##############################################################
+
+[Test]
+title wf_DOM_100
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_100.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_100.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_100.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_100.ref
+delete test
+[Endtest]
+##############################################################
+# This tests whether entity expansion is (incorrectly)
+# done while processing entity declarations; if it is, the entity value literal will terminate prematurely
+##############################################################
+
+[Test]
+title wf_DOM_101
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_101.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_101.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_101.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_101.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that a CDATA attribute can pass a double quote as its value
+##############################################################
+
+[Test]
+title wf_DOM_102
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_102.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_102.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_102.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_102.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that an attribute can pass a less than sign as its value.
+##############################################################
+
+[Test]
+title wf_DOM_103
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_103.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_103.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_103.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_103.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that extra whitespace within an Attribute of a Start-tag is normalized to a single space character
+##############################################################
+
+[Test]
+title wf_DOM_104
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_104.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_104.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_104.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_104.ref
+delete test
+[Endtest]
+##############################################################
+# Basically an output test, this requires a CDATA attribute with a tab character to be passed through as one space
+##############################################################
+
+[Test]
+title wf_DOM_105
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_105.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_105.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_105.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_105.ref
+delete test
+[Endtest]
+##############################################################
+# Basically an output test, this requires a CDATA attribute with a newline character to be passed through as one space.
+##############################################################
+
+[Test]
+title wf_DOM_106
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_106.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_106.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_106.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_106.ref
+delete test
+[Endtest]
+##############################################################
+# Basically an output test, this requires a CDATA attribute with a return character to be passed through as one space
+##############################################################
+
+[Test]
+title wf_DOM_107
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_107.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_107.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_107.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_107.ref
+delete test
+[Endtest]
+##############################################################
+# This tests normalization of end-of-line characters (CRLF) within entities to LF, primarily as an output test
+##############################################################
+
+[Test]
+title wf_DOM_108
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_108.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_108.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_108.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_108.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that an attribute can have a null value.
+##############################################################
+
+[Test]
+title wf_DOM_109
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_109.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_109.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_109.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_109.ref
+delete test
+[Endtest]
+##############################################################
+# Basically an output test, this requires that a CDATA attribute with a CRLF be normalized to one space
+##############################################################
+
+[Test]
+title wf_DOM_110
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_110.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_110.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_110.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_110.ref
+delete test
+[Endtest]
+##############################################################
+# Character references expanding to spaces doesn't affect treatment of attributes
+##############################################################
+
+[Test]
+title wf_DOM_111
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_111.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_111.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_111.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_111.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates shows the use of content particles within the element content
+##############################################################
+
+[Test]
+title wf_DOM_112
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_112.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_112.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_112.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_112.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that it is not an error to have attributes declared for an element not itself declared.
+##############################################################
+
+[Test]
+title wf_DOM_113
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_113.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_113.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_113.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_113.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that all text within a valid CDATA section is considered text and not recognized as markup
+##############################################################
+
+[Test]
+title wf_DOM_114
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_114.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_114.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_114.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_114.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that an entity reference is processed by recursively processing the replacement text of the entity
+##############################################################
+
+[Test]
+title wf_DOM_115
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_115.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_115.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_115.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_115.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that a line break within CDATA will be normalized
+##############################################################
+
+[Test]
+title wf_DOM_116
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_116.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_116.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_116.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_116.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that entity expansion is done while processing entity declarations
+##############################################################
+
+[Test]
+title wf_DOM_117
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_117.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_117.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_117.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_117.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that entity expansion is done while processing entity declarations
+##############################################################
+
+[Test]
+title wf_DOM_118
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_118.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_118.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_118.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_118.ref
+delete test
+[Endtest]
+##############################################################
+# Comments may contain any legal XML characters; only the string "--" is disallowed
+##############################################################
+
+[Test]
+title wf_DOM_119
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_119.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_119.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\DOM_XML_wf_119.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\DOM_XML_wf_119.ref
+delete test
+[Endtest]
+
\ No newline at end of file
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/DomXPath.cfg
--- a/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/DomXPath.cfg Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/DomXPath.cfg Wed Jun 23 20:27:15 2010 +0530
@@ -1,193 +1,194 @@
-##############################################################
-# XPath
-##############################################################
-
-[Test]
-title XPath test 01
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\xpath_01.xml
-test Evaluate string(.)
-test SaveResult c:\testing\data\xmleng\efute\output\dom\xpath_001.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\xpath_001.txt c:\testing\data\xmleng\efute\pattern\dom\xpath_001.ref
-delete test
-[Endtest]
-##############################################################
-# XPath
-##############################################################
-
-[Test]
-title XPath test 02
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\xpath_01.xml
-test Evaluate \test\test1
-test SaveResult c:\testing\data\xmleng\efute\output\dom\xpath_002.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\xpath_002.txt c:\testing\data\xmleng\efute\pattern\dom\xpath_002.ref
-delete test
-[Endtest]
-##############################################################
-# XPath
-##############################################################
-
-[Test]
-title XPath test 03
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\xpath_01.xml
-test Evaluate \test\test1[1]\@name
-test SaveResult c:\testing\data\xmleng\efute\output\dom\xpath_003.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\xpath_003.txt c:\testing\data\xmleng\efute\pattern\dom\xpath_003.ref
-delete test
-[Endtest]
-##############################################################
-# XPath
-##############################################################
-
-[Test]
-title XPath test 04
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\xpath_01.xml
-test Evaluate concat(string(..\test3[@attr1='3']),string(.))
-test SaveResult c:\testing\data\xmleng\efute\output\dom\xpath_004.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\xpath_004.txt c:\testing\data\xmleng\efute\pattern\dom\xpath_004.ref
-delete test
-[Endtest]
-##############################################################
-# XPath
-##############################################################
-
-[Test]
-title XPath test 05
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\xpath_01.xml
-test Evaluate count(\test\*[last()]\*)
-test SaveResult c:\testing\data\xmleng\efute\output\dom\xpath_005.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\xpath_005.txt c:\testing\data\xmleng\efute\pattern\dom\xpath_005.ref
-delete test
-[Endtest]
-##############################################################
-# XPath
-##############################################################
-
-[Test]
-title XPath test 06
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\xpath_01.xml
-test Evaluate \test\*\*[@new and @name]
-test SaveResult c:\testing\data\xmleng\efute\output\dom\xpath_006.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\xpath_006.txt c:\testing\data\xmleng\efute\pattern\dom\xpath_006.ref
-delete test
-[Endtest]
-##############################################################
-# XPath path
-##############################################################
-
-[Test]
-title XPath test 07
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\xpath_01.xml
-test Evaluate \test\*[self::test1 or self::test2][position()<3]
-test SaveResult c:\testing\data\xmleng\efute\output\dom\xpath_007.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\xpath_007.txt c:\testing\data\xmleng\efute\pattern\dom\xpath_007.ref
-delete test
-[Endtest]
-##############################################################
-# contains & substring & substring-before
-##############################################################
-
-[Test]
-title XPath test 08
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\xpath_01.xml
-test Evaluate contains(substring("12345",1.5, 2.6),substring-before("2000","0"))
-test SaveResult c:\testing\data\xmleng\efute\output\dom\xpath_008.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\xpath_008.txt c:\testing\data\xmleng\efute\pattern\dom\xpath_008.ref
-delete test
-[Endtest]
-##############################################################
-#starts-with & substring & round & floor & substring-after
-##############################################################
-
-[Test]
-title XPath test 09
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\xpath_01.xml
-test Evaluate starts-with(substring("12345",round(1.1),floor(2.99999)),substring-after("1999/04/01","4/0"))
-test SaveResult c:\testing\data\xmleng\efute\output\dom\xpath_009.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\xpath_009.txt c:\testing\data\xmleng\efute\pattern\dom\xpath_009.ref
-delete test
-[Endtest]
-##############################################################
-# string-length & normalize-space
-##############################################################
-
-[Test]
-title XPath test 10
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\xpath_01.xml
-test Evaluate string-length(normalize-space(" test text tt "))
-test SaveResult c:\testing\data\xmleng\efute\output\dom\xpath_010.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\xpath_010.txt c:\testing\data\xmleng\efute\pattern\dom\xpath_010.ref
-delete test
-[Endtest]
-##############################################################
-# XPath ToNumber
-##############################################################
-
-[Test]
-title XPath ToNumber
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\xpath_02.xml
-test ToNumber
-delete test
-[Endtest]
-##############################################################
-#XPath ToBool
-##############################################################
-
-[Test]
-title XPath ToBool
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\xpath_01.xml
-test ToBool
-delete test
-[Endtest]
-##############################################################
-# XPath ToString
-##############################################################
-
-[Test]
-title XPath ToString
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\xpath_01.xml
-test ToString
-delete test
-[Endtest]
-##############################################################
-# XPath Instance
-##############################################################
-
-[Test]
-title XPath Instance
-create xmlengtester test
-test Instances
-delete test
-[Endtest]
-##############################################################
-# XPath Extension function
-##############################################################
-
-[Test]
-title XPath Extension function
-create xmlengtester test
-test ExtFunction
-delete test
-[Endtest]
-##############################################################
-# XPath Extension vector
-##############################################################
-
-[Test]
-title XPath Extension function vector
-create xmlengtester test
-test ExtVector
-delete test
-[Endtest]
+##############################################################
+# XPath
+##############################################################
+
+[Test]
+title XPath test 01
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\xpath_01.xml
+test Evaluate string(.)
+test SaveResult c:\testing\data\xmleng\efute\output\dom\xpath_001.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\xpath_001.txt c:\testing\data\xmleng\efute\pattern\dom\xpath_001.ref
+delete test
+[Endtest]
+##############################################################
+# XPath
+##############################################################
+
+[Test]
+title XPath test 02
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\xpath_01.xml
+test Evaluate \test\test1
+test SaveResult c:\testing\data\xmleng\efute\output\dom\xpath_002.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\xpath_002.txt c:\testing\data\xmleng\efute\pattern\dom\xpath_002.ref
+delete test
+[Endtest]
+##############################################################
+# XPath
+##############################################################
+
+[Test]
+title XPath test 03
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\xpath_01.xml
+test Evaluate \test\test1[1]\@name
+test SaveResult c:\testing\data\xmleng\efute\output\dom\xpath_003.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\xpath_003.txt c:\testing\data\xmleng\efute\pattern\dom\xpath_003.ref
+delete test
+[Endtest]
+##############################################################
+# XPath
+##############################################################
+
+[Test]
+title XPath test 04
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\xpath_01.xml
+test Evaluate concat(string(..\test3[@attr1='3']),string(.))
+test SaveResult c:\testing\data\xmleng\efute\output\dom\xpath_004.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\xpath_004.txt c:\testing\data\xmleng\efute\pattern\dom\xpath_004.ref
+delete test
+[Endtest]
+##############################################################
+# XPath
+##############################################################
+
+[Test]
+title XPath test 05
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\xpath_01.xml
+test Evaluate count(\test\*[last()]\*)
+test SaveResult c:\testing\data\xmleng\efute\output\dom\xpath_005.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\xpath_005.txt c:\testing\data\xmleng\efute\pattern\dom\xpath_005.ref
+delete test
+[Endtest]
+##############################################################
+# XPath
+##############################################################
+
+[Test]
+title XPath test 06
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\xpath_01.xml
+test Evaluate \test\*\*[@new and @name]
+test SaveResult c:\testing\data\xmleng\efute\output\dom\xpath_006.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\xpath_006.txt c:\testing\data\xmleng\efute\pattern\dom\xpath_006.ref
+delete test
+[Endtest]
+##############################################################
+# XPath path
+##############################################################
+
+[Test]
+title XPath test 07
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\xpath_01.xml
+test Evaluate \test\*[self::test1 or self::test2][position()<3]
+test SaveResult c:\testing\data\xmleng\efute\output\dom\xpath_007.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\xpath_007.txt c:\testing\data\xmleng\efute\pattern\dom\xpath_007.ref
+delete test
+[Endtest]
+##############################################################
+# contains & substring & substring-before
+##############################################################
+
+[Test]
+title XPath test 08
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\xpath_01.xml
+test Evaluate contains(substring("12345",1.5, 2.6),substring-before("2000","0"))
+test SaveResult c:\testing\data\xmleng\efute\output\dom\xpath_008.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\xpath_008.txt c:\testing\data\xmleng\efute\pattern\dom\xpath_008.ref
+delete test
+[Endtest]
+##############################################################
+#starts-with & substring & round & floor & substring-after
+##############################################################
+
+[Test]
+title XPath test 09
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\xpath_01.xml
+test Evaluate starts-with(substring("12345",round(1.1),floor(2.99999)),substring-after("1999/04/01","4/0"))
+test SaveResult c:\testing\data\xmleng\efute\output\dom\xpath_009.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\xpath_009.txt c:\testing\data\xmleng\efute\pattern\dom\xpath_009.ref
+delete test
+[Endtest]
+##############################################################
+# string-length & normalize-space
+##############################################################
+
+[Test]
+title XPath test 10
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\xpath_01.xml
+test Evaluate string-length(normalize-space(" test text tt "))
+test SaveResult c:\testing\data\xmleng\efute\output\dom\xpath_010.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\xpath_010.txt c:\testing\data\xmleng\efute\pattern\dom\xpath_010.ref
+delete test
+[Endtest]
+##############################################################
+# XPath ToNumber
+##############################################################
+
+[Test]
+title XPath ToNumber
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\xpath_02.xml
+test ToNumber
+delete test
+[Endtest]
+##############################################################
+#XPath ToBool
+##############################################################
+
+[Test]
+title XPath ToBool
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\xpath_01.xml
+test ToBool
+delete test
+[Endtest]
+##############################################################
+# XPath ToString
+##############################################################
+
+[Test]
+title XPath ToString
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\xpath_01.xml
+test ToString
+delete test
+[Endtest]
+##############################################################
+# XPath Instance
+##############################################################
+
+[Test]
+title XPath Instance
+create xmlengtester test
+test Instances
+delete test
+[Endtest]
+##############################################################
+# XPath Extension function
+##############################################################
+
+[Test]
+title XPath Extension function
+create xmlengtester test
+test ExtFunction
+delete test
+[Endtest]
+##############################################################
+# XPath Extension vector
+##############################################################
+
+[Test]
+title XPath Extension function vector
+create xmlengtester test
+test ExtVector
+delete test
+[Endtest]
+
\ No newline at end of file
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/DomXmlId.cfg
--- a/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/DomXmlId.cfg Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/DomXmlId.cfg Wed Jun 23 20:27:15 2010 +0530
@@ -1,119 +1,119 @@
-##############################################################
-# Xml ID test
-# AddXmlId [namespace uri]
-# FindXmlId [id shouldn't be found]
-##############################################################
-
-[Test]
-title AddXmlId
-create xmlengtester dll
-dll ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_ID_01.xml
-dll AddXmlId pleple
-delete dll
-[Endtest]
-##############################################################
-# Xml ID test
-# AddXmlId [namespace uri]
-# FindXmlId [id shouldn't be found]
-##############################################################
-
-[Test]
-title AddFindXmlId
-create xmlengtester dll
-dll ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_ID_01.xml
-dll AddXmlId id orwell.org
-dll FindXmlId 1984
-delete dll
-[Endtest]
-##############################################################
-# Xml ID test
-# AddXmlId [namespace uri]
-# FindXmlId [id shouldn't be found]
-##############################################################
-
-[Test]
-title AddFindXmlId2
-create xmlengtester dll
-dll ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_ID_01.xml
-dll AddXmlId id
-dll FindXmlId 18
-delete dll
-[Endtest]
-##############################################################
-# Xml ID test
-# AddXmlId [namespace uri]
-# FindXmlId [id shouldn't be found]
-##############################################################
-
-[Test]
-title AddFindXmlIdNotToFind
-create xmlengtester dll
-dll ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_ID_01.xml
-dll AddXmlId id orwell.org
-dll FindXmlId 18 1
-delete dll
-[Endtest]
-##############################################################
-# Xml ID test
-# AddXmlId [namespace uri]
-# FindXmlId [id shouldn't be found]
-##############################################################
-
-[Test]
-title AddFindXmlIdNotToFind2
-create xmlengtester dll
-dll ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_ID_01.xml
-dll AddXmlId id orwell.org
-dll FindXmlId 18 1
-delete dll
-[Endtest]
-##############################################################
-# Xml ID test
-# AddXmlId [namespace uri]
-# FindXmlId [id shouldn't be found]
-##############################################################
-
-[Test]
-title AddFindXmlIdNotToFind3
-create xmlengtester dll
-dll ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_ID_01.xml
-dll AddXmlId pleple orwell.org
-dll FindXmlId 18 1
-delete dll
-[Endtest]
-##############################################################
-# Xml ID test
-# AddXmlId [namespace uri]
-# FindXmlId [id shouldn't be found]
-##############################################################
-
-[Test]
-title DOM register part of node
-create xmlengtester dll
-dll ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_ID_01.xml
-dll AddXmlId2 id orwell.org 1984
-delete dll
-[Endtest]
-##############################################################
-# Adding XML id test, compare with reference file
-##############################################################
-
-[Test]
-title DOM Add XML id test
-create xmlengtester test
-test AddXmlIdTest c:\testing\data\xmleng\efute\output\dom\DOM_xmlid_08.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_xmlid_08.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_xmlid_08.ref
-delete test
-[Endtest]##############################################################
-# Xml ID test
-# AddXmlId [namespace uri]
-# FindXmlId [id shouldn't be found]
-##############################################################
-
-[Test]
-title DOM register with empty name
-create xmlengtester dll
-dll ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_ID_01.xml
-dll AddXmlId3 orwell.org -32381
-delete dll
-[Endtest]
\ No newline at end of file
+##############################################################
+# Xml ID test
+# AddXmlId [namespace uri]
+# FindXmlId [id shouldn't be found]
+##############################################################
+
+[Test]
+title AddXmlId
+create xmlengtester dll
+dll ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_ID_01.xml
+dll AddXmlId pleple
+delete dll
+[Endtest]
+##############################################################
+# Xml ID test
+# AddXmlId [namespace uri]
+# FindXmlId [id shouldn't be found]
+##############################################################
+
+[Test]
+title AddFindXmlId
+create xmlengtester dll
+dll ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_ID_01.xml
+dll AddXmlId id orwell.org
+dll FindXmlId 1984
+delete dll
+[Endtest]
+##############################################################
+# Xml ID test
+# AddXmlId [namespace uri]
+# FindXmlId [id shouldn't be found]
+##############################################################
+
+[Test]
+title AddFindXmlId2
+create xmlengtester dll
+dll ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_ID_01.xml
+dll AddXmlId id
+dll FindXmlId 18
+delete dll
+[Endtest]
+##############################################################
+# Xml ID test
+# AddXmlId [namespace uri]
+# FindXmlId [id shouldn't be found]
+##############################################################
+
+[Test]
+title AddFindXmlIdNotToFind
+create xmlengtester dll
+dll ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_ID_01.xml
+dll AddXmlId id orwell.org
+dll FindXmlId 18 1
+delete dll
+[Endtest]
+##############################################################
+# Xml ID test
+# AddXmlId [namespace uri]
+# FindXmlId [id shouldn't be found]
+##############################################################
+
+[Test]
+title AddFindXmlIdNotToFind2
+create xmlengtester dll
+dll ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_ID_01.xml
+dll AddXmlId id orwell.org
+dll FindXmlId 18 1
+delete dll
+[Endtest]
+##############################################################
+# Xml ID test
+# AddXmlId [namespace uri]
+# FindXmlId [id shouldn't be found]
+##############################################################
+
+[Test]
+title AddFindXmlIdNotToFind3
+create xmlengtester dll
+dll ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_ID_01.xml
+dll AddXmlId pleple orwell.org
+dll FindXmlId 18 1
+delete dll
+[Endtest]
+##############################################################
+# Xml ID test
+# AddXmlId [namespace uri]
+# FindXmlId [id shouldn't be found]
+##############################################################
+
+[Test]
+title DOM register part of node
+create xmlengtester dll
+dll ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_ID_01.xml
+dll AddXmlId2 id orwell.org 1984
+delete dll
+[Endtest]
+##############################################################
+# Adding XML id test, compare with reference file
+##############################################################
+
+[Test]
+title DOM Add XML id test
+create xmlengtester test
+test AddXmlIdTest c:\testing\data\xmleng\efute\output\dom\DOM_xmlid_08.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_xmlid_08.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_xmlid_08.ref
+delete test
+[Endtest]##############################################################
+# Xml ID test
+# AddXmlId [namespace uri]
+# FindXmlId [id shouldn't be found]
+##############################################################
+
+[Test]
+title DOM register with empty name
+create xmlengtester dll
+dll ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_ID_01.xml
+dll AddXmlId3 orwell.org -32381
+delete dll
+[Endtest]
\ No newline at end of file
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/IdoBat.cfg
--- a/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/IdoBat.cfg Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/IdoBat.cfg Wed Jun 23 20:27:15 2010 +0530
@@ -1,285 +1,286 @@
-
-[Test]
-title binary-container-create-1001
-create xmlengtester test
-test PartialBinaryContainer create-bc 111 c:\testing\data\xmleng\efute\input\containers\ascii.bin 0 0 c:\testing\data\xmleng\efute\output\bincont\correct\partial\create\1001-libxml2tester-serdefault-bincont.xml 0
-delete test
-[Endtest]
-
-[Test]
-title binary-container-remove-6001
-create xmlengtester test
-test PartialBinaryContainer remove-bc 111 c:\testing\data\xmleng\efute\input\containers\ascii.bin c:\testing\data\xmleng\efute\input\bincont\signed-doc.xml 0 c:\testing\data\xmleng\efute\output\bincont\correct\partial\remove\6001-libxml2tester-serdefault-bincont.xml c:\testing\data\xmleng\efute\output\bincont\correct\partial\remove\6001-libxml2tester-serdefault-bincont-removed.xml
-delete test
-[Endtest]
-
-[Test]
-title DesGZIP-DeserializeL-File1
-create xmlengtester test
-test Deserialize gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-File_001.gz c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-DeserializeL-File1.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-DeserializeL-File1.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\gzip\DesGZIP-deserialized.ref
-delete test
-[Endtest]
-
-[Test]
-title DesInfosetXOP-UseExternalDataL
-create xmlengtester test
-test TestUseExternalDataInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_002.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-UseExternalDataL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-UseExternalDataL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-external-data.ref
-delete test
-[Endtest]
-
-[Test]
-title DesXOP-DeserializeL-File1
-create xmlengtester test
-test Deserialize xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-DeserializeL-File1.out
-test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-DeserializeL-File1.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-deserialized.ref
-delete test
-[Endtest]
-##############################################################
-# Chunk Container - Copy: copy node with chunk containers,
-# checks its element data
-##############################################################
-
-[Test]
-title Chunk_Container_Copy2
-create xmlengtester test
-test ChunkContainerCopy2
-delete test
-[Endtest]
-##############################################################
-# 5 OK not full chunks
-##############################################################
-
-[Test]
-title DOM_chunk_wf_05
-create xmlengtester test
-test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_05.xml 256
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_05.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_05.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_wf_05.ref
-delete test
-[Endtest]
-##############################################################
-# Check if XML file coded with UTF16 BE is parsed correctly.
-##############################################################
-
-[Test]
-title encoding_UTF16BE
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_003.xml
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_003.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_003.xml c:\testing\data\xmleng\efute\pattern\Encoding\DOM_XML_encoding_003.ref
-delete test
-[Endtest]
-##############################################################
-# File Container - Copy3: copy node with file containers to
-# another RDocument
-##############################################################
-
-[Test]
-title File_Container_Copy3
-create xmlengtester test
-test FileContainerCopy3
-delete test
-[Endtest]
-##############################################################
-# Create new document using DOM
-##############################################################
-
-[Test]
-title DOM Create Document
-create xmlengtester test
-test CreateDocument
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_001.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_001.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_001.ref
-delete test
-[Endtest]
-##############################################################
-# Document sibling modification using DOM
-##############################################################
-
-[Test]
-title DOM Sibling Modification
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_03.xml
-test CheckSiblingFunctions
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_006.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_006.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_006.ref
-delete test
-[Endtest]
-##############################################################
-# Adding Attributes to Element function
-##############################################################
-
-[Test]
-title DOM Adding Attributes to Element function
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_02.xml
-test AddingAttributes
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_017.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_017.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_017.ref
-delete test
-[Endtest]
-##############################################################
-# Adding Elements to Element function
-##############################################################
-
-[Test]
-title DOM Adding Elements to Element function
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_02.xml
-test AddingElements
-test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_018.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_018.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_018.ref
-delete test
-[Endtest]
-##############################################################
-# XPath
-##############################################################
-
-[Test]
-title XPath test 04
-create xmlengtester test
-test ParseFile c:\testing\data\xmleng\efute\input\dom\xpath_01.xml
-test Evaluate concat(string(..\test3[@attr1='3']),string(.))
-test SaveResult c:\testing\data\xmleng\efute\output\dom\xpath_004.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\dom\xpath_004.txt c:\testing\data\xmleng\efute\pattern\dom\xpath_004.ref
-delete test
-[Endtest]
-##############################################################
-# Parse correct XML file using SAX parser. Check if namespaces
-# are correctly processed.
-##############################################################
-
-[Test]
-title wf_XML_Namespaces
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\correct\XML_correct_002.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_002.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_002.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_002.ref
-delete test
-[Endtest]
-##############################################################
-# Parse correct XML file using SAX parser. Check if processing
-# instructions are correctly processed.
-##############################################################
-
-[Test]
-title wf_XML_ProcessingInstructions
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\correct\XML_correct_003.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_003.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_003.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_003.ref
-delete test
-[Endtest]
-##############################################################
-# Parse correct XML file using SAX parser. Check if CDATA
-# sections are correctly processed.
-##############################################################
-
-[Test]
-title wf_XML_CDATA
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\correct\XML_correct_004.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_004.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_004.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_004.ref
-delete test
-[Endtest]
-##############################################################
-# Parse XML file using SAX parser ( prefix
-# mapping feature on ).
-##############################################################
-
-[Test]
-title wf_XML_PrefixMapping
-create xmlengtester test
-test SAXParseFileWithNameSpaceMapping c:\testing\data\xmleng\efute\input\correct\XML_correct_014.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_014.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_014.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_014.ref
-delete test
-[Endtest]
-##############################################################
-# Parse XML file using SAX parser ( convert tags name to
-# lower case feature on ).
-##############################################################
-
-[Test]
-title wf_XML_ConvertTagToLowerCase
-create xmlengtester test
-test SAXParseFileWithTagToLowerCase c:\testing\data\xmleng\efute\input\correct\XML_correct_015.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_015.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_015.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_015.ref
-delete test
-[Endtest]
-##############################################################
-# Parse correct XML file using SAX parser. Check if
-# entities are correctly processed.
-##############################################################
-
-[Test]
-title wf_XML_AllKindEntities
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\correct\XML_correct_017.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_017.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_017.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_017.ref
-delete test
-[Endtest]
-##############################################################
-# Parse correct XML file using SAX parser. Check if
-# entities are correctly processed (feature on).
-##############################################################
-
-[Test]
-title wf_XML_AllKindEntitiesWithFeature
-create xmlengtester test
-test SAXParseFileWithExternalSubsetFeature c:\testing\data\xmleng\efute\input\correct\XML_correct_017.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_018.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_018.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_018.ref
-delete test
-[Endtest]
-##############################################################
-# Check if XML file coded with UTF8 is parsed correctly.
-##############################################################
-
-[Test]
-title encoding_UTF8
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_001.xml c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_001.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_001.txt c:\testing\data\xmleng\efute\pattern\Encoding\SAX_XML_encoding_001.ref
-delete test
-[Endtest]
-##############################################################
-# Check if XML file coded with UTF16 BE is parsed correctly.
-##############################################################
-
-[Test]
-title encoding_UTF16BE
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_003.xml c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_003.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_003.txt c:\testing\data\xmleng\efute\pattern\Encoding\SAX_XML_encoding_003.ref
-delete test
-[Endtest]
-
-[Test]
-title SerGZIP-SerializeL-File1
-create xmlengtester test
-test TestSerializeFile1 gzip 1 c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-File1.gz
-test DecompressGZIP c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-File1.gz c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-File1.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-File1.xml c:\testing\data\xmleng\efute\pattern\serializer\correct\gzip\SerGZIP-serialized.ref
-delete test
-[Endtest]
-
-
-
-[Test]
-title SerInfosetXOP-SerializeL-File1
-create xmlengtester test
-test TestSerializeFile1 infoset 1 c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SerializeL-File1.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SerializeL-File1.out c:\testing\data\xmleng\efute\pattern\serializer\correct\infosetxop\SerInfosetXOP-serialized.ref
-delete test
-[Endtest]
-
-
-
-[Test]
-title SerXOP-SerializeL-File1
-create xmlengtester test
-test TestSerializeFile1 xop 1 c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SerializeL-File1.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SerializeL-File1.out c:\testing\data\xmleng\efute\pattern\serializer\correct\xop\SerXOP-serialized.ref
-delete test
-[Endtest]
-
-
+
+[Test]
+title binary-container-create-1001
+create xmlengtester test
+test PartialBinaryContainer create-bc 111 c:\testing\data\xmleng\efute\input\containers\ascii.bin 0 0 c:\testing\data\xmleng\efute\output\bincont\correct\partial\create\1001-libxml2tester-serdefault-bincont.xml 0
+delete test
+[Endtest]
+
+[Test]
+title binary-container-remove-6001
+create xmlengtester test
+test PartialBinaryContainer remove-bc 111 c:\testing\data\xmleng\efute\input\containers\ascii.bin c:\testing\data\xmleng\efute\input\bincont\signed-doc.xml 0 c:\testing\data\xmleng\efute\output\bincont\correct\partial\remove\6001-libxml2tester-serdefault-bincont.xml c:\testing\data\xmleng\efute\output\bincont\correct\partial\remove\6001-libxml2tester-serdefault-bincont-removed.xml
+delete test
+[Endtest]
+
+[Test]
+title DesGZIP-DeserializeL-File1
+create xmlengtester test
+test Deserialize gzip c:\testing\data\xmleng\efute\input\deserializer\correct\gzip\SerGZIP-File_001.gz c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-DeserializeL-File1.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\gzip\DesGZIP-DeserializeL-File1.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\gzip\DesGZIP-deserialized.ref
+delete test
+[Endtest]
+
+[Test]
+title DesInfosetXOP-UseExternalDataL
+create xmlengtester test
+test TestUseExternalDataInfoset infoset c:\testing\data\xmleng\efute\input\deserializer\correct\infosetxop\SerInfosetXOP_002.xml c:\testing\data\xmleng\efute\input\containers\login.gif c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-UseExternalDataL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\infosetxop\DesInfosetXOP-UseExternalDataL.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\infosetxop\DesInfosetXOP-external-data.ref
+delete test
+[Endtest]
+
+[Test]
+title DesXOP-DeserializeL-File1
+create xmlengtester test
+test Deserialize xop c:\testing\data\xmleng\efute\input\deserializer\correct\xop\SerXOP_001.xml c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-DeserializeL-File1.out
+test CompareFiles c:\testing\data\xmleng\efute\output\deserializer\correct\xop\DesXOP-DeserializeL-File1.out c:\testing\data\xmleng\efute\pattern\deserializer\correct\xop\DesXOP-deserialized.ref
+delete test
+[Endtest]
+##############################################################
+# Chunk Container - Copy: copy node with chunk containers,
+# checks its element data
+##############################################################
+
+[Test]
+title Chunk_Container_Copy2
+create xmlengtester test
+test ChunkContainerCopy2
+delete test
+[Endtest]
+##############################################################
+# 5 OK not full chunks
+##############################################################
+
+[Test]
+title DOM_chunk_wf_05
+create xmlengtester test
+test ParseFileChunk c:\testing\data\xmleng\efute\input\chunk\XML_wf_05.xml 256
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_05.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\chunkparser\DOM_XML_chunk_wf_05.txt c:\testing\data\xmleng\efute\pattern\chunkparser\DOM_XML_chunk_wf_05.ref
+delete test
+[Endtest]
+##############################################################
+# Check if XML file coded with UTF16 BE is parsed correctly.
+##############################################################
+
+[Test]
+title encoding_UTF16BE
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_003.xml
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_003.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\DOM_XML_encoding_003.xml c:\testing\data\xmleng\efute\pattern\Encoding\DOM_XML_encoding_003.ref
+delete test
+[Endtest]
+##############################################################
+# File Container - Copy3: copy node with file containers to
+# another RDocument
+##############################################################
+
+[Test]
+title File_Container_Copy3
+create xmlengtester test
+test FileContainerCopy3
+delete test
+[Endtest]
+##############################################################
+# Create new document using DOM
+##############################################################
+
+[Test]
+title DOM Create Document
+create xmlengtester test
+test CreateDocument
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_001.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_001.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_001.ref
+delete test
+[Endtest]
+##############################################################
+# Document sibling modification using DOM
+##############################################################
+
+[Test]
+title DOM Sibling Modification
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_03.xml
+test CheckSiblingFunctions
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_006.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_006.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_006.ref
+delete test
+[Endtest]
+##############################################################
+# Adding Attributes to Element function
+##############################################################
+
+[Test]
+title DOM Adding Attributes to Element function
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_02.xml
+test AddingAttributes
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_017.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_017.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_017.ref
+delete test
+[Endtest]
+##############################################################
+# Adding Elements to Element function
+##############################################################
+
+[Test]
+title DOM Adding Elements to Element function
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\DOM_modif_02.xml
+test AddingElements
+test SaveXmlToFile c:\testing\data\xmleng\efute\output\dom\DOM_modif_018.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\DOM_modif_018.xml c:\testing\data\xmleng\efute\pattern\dom\DOM_modif_018.ref
+delete test
+[Endtest]
+##############################################################
+# XPath
+##############################################################
+
+[Test]
+title XPath test 04
+create xmlengtester test
+test ParseFile c:\testing\data\xmleng\efute\input\dom\xpath_01.xml
+test Evaluate concat(string(..\test3[@attr1='3']),string(.))
+test SaveResult c:\testing\data\xmleng\efute\output\dom\xpath_004.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\dom\xpath_004.txt c:\testing\data\xmleng\efute\pattern\dom\xpath_004.ref
+delete test
+[Endtest]
+##############################################################
+# Parse correct XML file using SAX parser. Check if namespaces
+# are correctly processed.
+##############################################################
+
+[Test]
+title wf_XML_Namespaces
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\correct\XML_correct_002.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_002.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_002.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_002.ref
+delete test
+[Endtest]
+##############################################################
+# Parse correct XML file using SAX parser. Check if processing
+# instructions are correctly processed.
+##############################################################
+
+[Test]
+title wf_XML_ProcessingInstructions
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\correct\XML_correct_003.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_003.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_003.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_003.ref
+delete test
+[Endtest]
+##############################################################
+# Parse correct XML file using SAX parser. Check if CDATA
+# sections are correctly processed.
+##############################################################
+
+[Test]
+title wf_XML_CDATA
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\correct\XML_correct_004.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_004.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_004.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_004.ref
+delete test
+[Endtest]
+##############################################################
+# Parse XML file using SAX parser ( prefix
+# mapping feature on ).
+##############################################################
+
+[Test]
+title wf_XML_PrefixMapping
+create xmlengtester test
+test SAXParseFileWithNameSpaceMapping c:\testing\data\xmleng\efute\input\correct\XML_correct_014.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_014.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_014.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_014.ref
+delete test
+[Endtest]
+##############################################################
+# Parse XML file using SAX parser ( convert tags name to
+# lower case feature on ).
+##############################################################
+
+[Test]
+title wf_XML_ConvertTagToLowerCase
+create xmlengtester test
+test SAXParseFileWithTagToLowerCase c:\testing\data\xmleng\efute\input\correct\XML_correct_015.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_015.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_015.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_015.ref
+delete test
+[Endtest]
+##############################################################
+# Parse correct XML file using SAX parser. Check if
+# entities are correctly processed.
+##############################################################
+
+[Test]
+title wf_XML_AllKindEntities
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\correct\XML_correct_017.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_017.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_017.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_017.ref
+delete test
+[Endtest]
+##############################################################
+# Parse correct XML file using SAX parser. Check if
+# entities are correctly processed (feature on).
+##############################################################
+
+[Test]
+title wf_XML_AllKindEntitiesWithFeature
+create xmlengtester test
+test SAXParseFileWithExternalSubsetFeature c:\testing\data\xmleng\efute\input\correct\XML_correct_017.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_018.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_018.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_018.ref
+delete test
+[Endtest]
+##############################################################
+# Check if XML file coded with UTF8 is parsed correctly.
+##############################################################
+
+[Test]
+title encoding_UTF8
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_001.xml c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_001.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_001.txt c:\testing\data\xmleng\efute\pattern\Encoding\SAX_XML_encoding_001.ref
+delete test
+[Endtest]
+##############################################################
+# Check if XML file coded with UTF16 BE is parsed correctly.
+##############################################################
+
+[Test]
+title encoding_UTF16BE
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_003.xml c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_003.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_003.txt c:\testing\data\xmleng\efute\pattern\Encoding\SAX_XML_encoding_003.ref
+delete test
+[Endtest]
+
+[Test]
+title SerGZIP-SerializeL-File1
+create xmlengtester test
+test TestSerializeFile1 gzip 1 c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-File1.gz
+test DecompressGZIP c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-File1.gz c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-File1.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-File1.xml c:\testing\data\xmleng\efute\pattern\serializer\correct\gzip\SerGZIP-serialized.ref
+delete test
+[Endtest]
+
+
+
+[Test]
+title SerInfosetXOP-SerializeL-File1
+create xmlengtester test
+test TestSerializeFile1 infoset 1 c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SerializeL-File1.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SerializeL-File1.out c:\testing\data\xmleng\efute\pattern\serializer\correct\infosetxop\SerInfosetXOP-serialized.ref
+delete test
+[Endtest]
+
+
+
+[Test]
+title SerXOP-SerializeL-File1
+create xmlengtester test
+test TestSerializeFile1 xop 1 c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SerializeL-File1.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SerializeL-File1.out c:\testing\data\xmleng\efute\pattern\serializer\correct\xop\SerXOP-serialized.ref
+delete test
+[Endtest]
+
+
+
\ No newline at end of file
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/SaxCorrect.cfg
--- a/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/SaxCorrect.cfg Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/SaxCorrect.cfg Wed Jun 23 20:27:15 2010 +0530
@@ -1,215 +1,216 @@
-##############################################################
-# Parse correct XML file using SAX parser. Check if elements,
-# attributes are correctly processed.
-##############################################################
-
-[Test]
-title wf_XML_Elements&Arguments
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\correct\XML_correct_001.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_001.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_001.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_001.ref
-delete test
-[Endtest]
-##############################################################
-# Parse correct XML file using SAX parser. Check if namespaces
-# are correctly processed.
-##############################################################
-
-[Test]
-title wf_XML_Namespaces
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\correct\XML_correct_002.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_002.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_002.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_002.ref
-delete test
-[Endtest]
-##############################################################
-# Parse correct XML file using SAX parser. Check if processing
-# instructions are correctly processed.
-##############################################################
-
-[Test]
-title wf_XML_ProcessingInstructions
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\correct\XML_correct_003.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_003.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_003.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_003.ref
-delete test
-[Endtest]
-##############################################################
-# Parse correct XML file using SAX parser. Check if CDATA
-# sections are correctly processed.
-##############################################################
-
-[Test]
-title wf_XML_CDATA
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\correct\XML_correct_004.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_004.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_004.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_004.ref
-delete test
-[Endtest]
-##############################################################
-# Parse correct XML file using SAX parser. Check if XML
-# comments are correctly processed.
-##############################################################
-
-[Test]
-title wf_XML_Comments
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\correct\XML_correct_005.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_005.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_005.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_005.ref
-delete test
-[Endtest]
-##############################################################
-# Parse correct XML file using SAX parser. Check if external subset
-# entities are correctly processed.
-##############################################################
-
-[Test]
-title wf_XML_ExternalSubsetEntity
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\correct\XML_correct_006.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_006.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_006.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_006.ref
-delete test
-[Endtest]
-###############################################################
-# Parse correct XML file using SAX parser. Check if predefinied
-# entities are correctly processed.
-###############################################################
-
-[Test]
-title wf_XML_PredefiniedEntity
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\correct\XML_correct_007.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_007.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_007.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_007.ref
-delete test
-[Endtest]
-###############################################################
-# Parse correct XML file using SAX parser. Check if internal
-# entities are correctly processed.
-###############################################################
-
-[Test]
-title wf_XML_InternalEntity
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\correct\XML_correct_008.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_008.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_008.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_008.ref
-delete test
-[Endtest]
-###############################################################
-# Parse correct XML file using SAX parser. Check if unparsed
-# entities are correctly processed.
-###############################################################
-
-[Test]
-title wf_XML_UnparsedEntity
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\correct\XML_correct_009.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_009.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_009.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_009.ref
-delete test
-[Endtest]
-#####################################################
-# Parse correct XML file using SAX parser. Check if
-# external entity is correctly processed.
-#####################################################
-
-[Test]
-title wf_XML_ExternalEntity
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\correct\XML_correct_010.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_010.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_010.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_010.ref
-delete test
-[Endtest]
-###############################################################
-# Parse correct XML file using SAX parser. Check if document
-# parameters are correctly processed.
-###############################################################
-
-[Test]
-title wf_XML_Prolog
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\correct\XML_correct_011.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_011.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_011.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_011.ref
-delete test
-[Endtest]
-
-##############################################################
-# Parse correct XML file using SAX parser (from buffer).
-##############################################################
-
-[Test]
-title wf_XML_ParseBuffer
-create xmlengtester test
-test SAXParseBuffer c:\testing\data\xmleng\efute\input\correct\XML_correct_013.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_013.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_013.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_013.ref
-delete test
-[Endtest]
-##############################################################
-# Parse XML file using SAX parser ( prefix
-# mapping feature on ).
-##############################################################
-
-[Test]
-title wf_XML_PrefixMapping
-create xmlengtester test
-test SAXParseFileWithNameSpaceMapping c:\testing\data\xmleng\efute\input\correct\XML_correct_014.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_014.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_014.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_014.ref
-delete test
-[Endtest]
-##############################################################
-# Parse XML file using SAX parser ( convert tags name to
-# lower case feature on ).
-##############################################################
-
-[Test]
-title wf_XML_ConvertTagToLowerCase
-create xmlengtester test
-test SAXParseFileWithTagToLowerCase c:\testing\data\xmleng\efute\input\correct\XML_correct_015.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_015.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_015.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_015.ref
-delete test
-[Endtest]
-##############################################################
-# Parse correct XML file using SAX parser. Check if external subset
-# entities are correctly processed (feature on).
-##############################################################
-
-[Test]
-title wf_XML_ExternalSubsetFeature
-create xmlengtester test
-test SAXParseFileWithExternalSubsetFeature c:\testing\data\xmleng\efute\input\correct\XML_correct_006.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_016.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_016.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_016.ref
-delete test
-[Endtest]
-##############################################################
-# Parse correct XML file using SAX parser. Check if
-# entities are correctly processed.
-##############################################################
-
-[Test]
-title wf_XML_AllKindEntities
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\correct\XML_correct_017.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_017.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_017.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_017.ref
-delete test
-[Endtest]
-##############################################################
-# Parse correct XML file using SAX parser. Check if
-# entities are correctly processed (feature on).
-##############################################################
-
-[Test]
-title wf_XML_AllKindEntitiesWithFeature
-create xmlengtester test
-test SAXParseFileWithExternalSubsetFeature c:\testing\data\xmleng\efute\input\correct\XML_correct_017.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_018.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_018.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_018.ref
-delete test
-[Endtest]
-##############################################################
-# Check if default parser is created (EXPAT)
-##############################################################
-
-[Test]
-title EXPAT parser
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\correct\XML_correct_002.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_002E.txt EXPAT
-test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_002E.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_002E.ref
-delete test
-[Endtest]
+##############################################################
+# Parse correct XML file using SAX parser. Check if elements,
+# attributes are correctly processed.
+##############################################################
+
+[Test]
+title wf_XML_Elements&Arguments
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\correct\XML_correct_001.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_001.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_001.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_001.ref
+delete test
+[Endtest]
+##############################################################
+# Parse correct XML file using SAX parser. Check if namespaces
+# are correctly processed.
+##############################################################
+
+[Test]
+title wf_XML_Namespaces
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\correct\XML_correct_002.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_002.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_002.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_002.ref
+delete test
+[Endtest]
+##############################################################
+# Parse correct XML file using SAX parser. Check if processing
+# instructions are correctly processed.
+##############################################################
+
+[Test]
+title wf_XML_ProcessingInstructions
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\correct\XML_correct_003.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_003.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_003.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_003.ref
+delete test
+[Endtest]
+##############################################################
+# Parse correct XML file using SAX parser. Check if CDATA
+# sections are correctly processed.
+##############################################################
+
+[Test]
+title wf_XML_CDATA
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\correct\XML_correct_004.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_004.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_004.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_004.ref
+delete test
+[Endtest]
+##############################################################
+# Parse correct XML file using SAX parser. Check if XML
+# comments are correctly processed.
+##############################################################
+
+[Test]
+title wf_XML_Comments
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\correct\XML_correct_005.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_005.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_005.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_005.ref
+delete test
+[Endtest]
+##############################################################
+# Parse correct XML file using SAX parser. Check if external subset
+# entities are correctly processed.
+##############################################################
+
+[Test]
+title wf_XML_ExternalSubsetEntity
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\correct\XML_correct_006.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_006.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_006.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_006.ref
+delete test
+[Endtest]
+###############################################################
+# Parse correct XML file using SAX parser. Check if predefinied
+# entities are correctly processed.
+###############################################################
+
+[Test]
+title wf_XML_PredefiniedEntity
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\correct\XML_correct_007.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_007.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_007.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_007.ref
+delete test
+[Endtest]
+###############################################################
+# Parse correct XML file using SAX parser. Check if internal
+# entities are correctly processed.
+###############################################################
+
+[Test]
+title wf_XML_InternalEntity
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\correct\XML_correct_008.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_008.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_008.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_008.ref
+delete test
+[Endtest]
+###############################################################
+# Parse correct XML file using SAX parser. Check if unparsed
+# entities are correctly processed.
+###############################################################
+
+[Test]
+title wf_XML_UnparsedEntity
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\correct\XML_correct_009.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_009.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_009.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_009.ref
+delete test
+[Endtest]
+#####################################################
+# Parse correct XML file using SAX parser. Check if
+# external entity is correctly processed.
+#####################################################
+
+[Test]
+title wf_XML_ExternalEntity
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\correct\XML_correct_010.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_010.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_010.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_010.ref
+delete test
+[Endtest]
+###############################################################
+# Parse correct XML file using SAX parser. Check if document
+# parameters are correctly processed.
+###############################################################
+
+[Test]
+title wf_XML_Prolog
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\correct\XML_correct_011.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_011.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_011.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_011.ref
+delete test
+[Endtest]
+
+##############################################################
+# Parse correct XML file using SAX parser (from buffer).
+##############################################################
+
+[Test]
+title wf_XML_ParseBuffer
+create xmlengtester test
+test SAXParseBuffer c:\testing\data\xmleng\efute\input\correct\XML_correct_013.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_013.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_013.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_013.ref
+delete test
+[Endtest]
+##############################################################
+# Parse XML file using SAX parser ( prefix
+# mapping feature on ).
+##############################################################
+
+[Test]
+title wf_XML_PrefixMapping
+create xmlengtester test
+test SAXParseFileWithNameSpaceMapping c:\testing\data\xmleng\efute\input\correct\XML_correct_014.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_014.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_014.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_014.ref
+delete test
+[Endtest]
+##############################################################
+# Parse XML file using SAX parser ( convert tags name to
+# lower case feature on ).
+##############################################################
+
+[Test]
+title wf_XML_ConvertTagToLowerCase
+create xmlengtester test
+test SAXParseFileWithTagToLowerCase c:\testing\data\xmleng\efute\input\correct\XML_correct_015.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_015.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_015.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_015.ref
+delete test
+[Endtest]
+##############################################################
+# Parse correct XML file using SAX parser. Check if external subset
+# entities are correctly processed (feature on).
+##############################################################
+
+[Test]
+title wf_XML_ExternalSubsetFeature
+create xmlengtester test
+test SAXParseFileWithExternalSubsetFeature c:\testing\data\xmleng\efute\input\correct\XML_correct_006.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_016.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_016.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_016.ref
+delete test
+[Endtest]
+##############################################################
+# Parse correct XML file using SAX parser. Check if
+# entities are correctly processed.
+##############################################################
+
+[Test]
+title wf_XML_AllKindEntities
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\correct\XML_correct_017.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_017.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_017.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_017.ref
+delete test
+[Endtest]
+##############################################################
+# Parse correct XML file using SAX parser. Check if
+# entities are correctly processed (feature on).
+##############################################################
+
+[Test]
+title wf_XML_AllKindEntitiesWithFeature
+create xmlengtester test
+test SAXParseFileWithExternalSubsetFeature c:\testing\data\xmleng\efute\input\correct\XML_correct_017.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_018.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_018.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_018.ref
+delete test
+[Endtest]
+##############################################################
+# Check if default parser is created (EXPAT)
+##############################################################
+
+[Test]
+title EXPAT parser
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\correct\XML_correct_002.xml c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_002E.txt EXPAT
+test CompareFiles c:\testing\data\xmleng\efute\output\correct\SAX_XML_correct_002E.txt c:\testing\data\xmleng\efute\pattern\correct\SAX_XML_correct_002E.ref
+delete test
+[Endtest]
+
\ No newline at end of file
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/SaxEncoding.cfg
--- a/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/SaxEncoding.cfg Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/SaxEncoding.cfg Wed Jun 23 20:27:15 2010 +0530
@@ -1,112 +1,113 @@
-##############################################################
-# Check if XML file coded with UTF8 is parsed correctly.
-##############################################################
-
-[Test]
-title encoding_UTF8
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_001.xml c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_001.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_001.txt c:\testing\data\xmleng\efute\pattern\Encoding\SAX_XML_encoding_001.ref
-delete test
-[Endtest]
-##############################################################
-# Check if XML file coded with UTF16 is parsed correctly.
-##############################################################
-
-[Test]
-title encoding_UTF16
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_002.xml c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_002.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_002.txt c:\testing\data\xmleng\efute\pattern\Encoding\SAX_XML_encoding_002.ref
-delete test
-[Endtest]
-##############################################################
-# Check if XML file coded with UTF16 BE is parsed correctly.
-##############################################################
-
-[Test]
-title encoding_UTF16BE
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_003.xml c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_003.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_003.txt c:\testing\data\xmleng\efute\pattern\Encoding\SAX_XML_encoding_003.ref
-delete test
-[Endtest]
-##############################################################
-# Check if XML file coded with UTF16 LE is parsed correctly.
-##############################################################
-
-[Test]
-title encoding_UTF16LE
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_004.xml c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_004.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_004.txt c:\testing\data\xmleng\efute\pattern\Encoding\SAX_XML_encoding_004.ref
-delete test
-[Endtest]
-##############################################################
-# Check if XML file coded with ISO-8859-1 is parsed correctly.
-##############################################################
-
-[Test]
-title encoding_ISO-8859-1
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_005.xml c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_005.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_005.txt c:\testing\data\xmleng\efute\pattern\Encoding\SAX_XML_encoding_005.ref
-delete test
-[Endtest]
-##############################################################
-# Check if XML file coded with ASCII is parsed correctly.
-##############################################################
-
-[Test]
-title encoding_ASCII
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_006.xml c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_006.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_006.txt c:\testing\data\xmleng\efute\pattern\Encoding\SAX_XML_encoding_006.ref
-delete test
-[Endtest]
-##############################################################
-# Check if correct error is generated when wrong encodingis
-# set.
-##############################################################
-
-[Test]
-title encoding_WRONG(ISO-8859-2)
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_007.xml c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_007.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_007.txt c:\testing\data\xmleng\efute\pattern\Encoding\SAX_XML_encoding_007.ref
-delete test
-[Endtest]
-##############################################################
-# Check if file with supported encoding but different then in
-# xml prolog is processed
-##############################################################
-
-[Test]
-title encoding_differentCodeThanProlog
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_008.xml c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_008.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_008.txt c:\testing\data\xmleng\efute\pattern\Encoding\SAX_XML_encoding_008.ref
-delete test
-[Endtest]
-##############################################################
-# Check if file without xml prolog is processed.
-##############################################################
-
-[Test]
-title encoding_NoProlog(ISO)
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_009.xml c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_009.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_009.txt c:\testing\data\xmleng\efute\pattern\Encoding\SAX_XML_encoding_009.ref
-delete test
-[Endtest]
-##############################################################
-# Check if file without xml prolog is processed.
-##############################################################
-
-[Test]
-title encoding_NoProlog(UTF-16BE)
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_010.xml c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_010.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_010.txt c:\testing\data\xmleng\efute\pattern\Encoding\SAX_XML_encoding_010.ref
-delete test
-[Endtest]
+##############################################################
+# Check if XML file coded with UTF8 is parsed correctly.
+##############################################################
+
+[Test]
+title encoding_UTF8
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_001.xml c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_001.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_001.txt c:\testing\data\xmleng\efute\pattern\Encoding\SAX_XML_encoding_001.ref
+delete test
+[Endtest]
+##############################################################
+# Check if XML file coded with UTF16 is parsed correctly.
+##############################################################
+
+[Test]
+title encoding_UTF16
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_002.xml c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_002.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_002.txt c:\testing\data\xmleng\efute\pattern\Encoding\SAX_XML_encoding_002.ref
+delete test
+[Endtest]
+##############################################################
+# Check if XML file coded with UTF16 BE is parsed correctly.
+##############################################################
+
+[Test]
+title encoding_UTF16BE
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_003.xml c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_003.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_003.txt c:\testing\data\xmleng\efute\pattern\Encoding\SAX_XML_encoding_003.ref
+delete test
+[Endtest]
+##############################################################
+# Check if XML file coded with UTF16 LE is parsed correctly.
+##############################################################
+
+[Test]
+title encoding_UTF16LE
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_004.xml c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_004.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_004.txt c:\testing\data\xmleng\efute\pattern\Encoding\SAX_XML_encoding_004.ref
+delete test
+[Endtest]
+##############################################################
+# Check if XML file coded with ISO-8859-1 is parsed correctly.
+##############################################################
+
+[Test]
+title encoding_ISO-8859-1
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_005.xml c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_005.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_005.txt c:\testing\data\xmleng\efute\pattern\Encoding\SAX_XML_encoding_005.ref
+delete test
+[Endtest]
+##############################################################
+# Check if XML file coded with ASCII is parsed correctly.
+##############################################################
+
+[Test]
+title encoding_ASCII
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_006.xml c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_006.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_006.txt c:\testing\data\xmleng\efute\pattern\Encoding\SAX_XML_encoding_006.ref
+delete test
+[Endtest]
+##############################################################
+# Check if correct error is generated when wrong encodingis
+# set.
+##############################################################
+
+[Test]
+title encoding_WRONG(ISO-8859-2)
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_007.xml c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_007.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_007.txt c:\testing\data\xmleng\efute\pattern\Encoding\SAX_XML_encoding_007.ref
+delete test
+[Endtest]
+##############################################################
+# Check if file with supported encoding but different then in
+# xml prolog is processed
+##############################################################
+
+[Test]
+title encoding_differentCodeThanProlog
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_008.xml c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_008.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_008.txt c:\testing\data\xmleng\efute\pattern\Encoding\SAX_XML_encoding_008.ref
+delete test
+[Endtest]
+##############################################################
+# Check if file without xml prolog is processed.
+##############################################################
+
+[Test]
+title encoding_NoProlog(ISO)
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_009.xml c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_009.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_009.txt c:\testing\data\xmleng\efute\pattern\Encoding\SAX_XML_encoding_009.ref
+delete test
+[Endtest]
+##############################################################
+# Check if file without xml prolog is processed.
+##############################################################
+
+[Test]
+title encoding_NoProlog(UTF-16BE)
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\Encoding\XML_encoding_010.xml c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_010.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\Encoding\SAX_XML_encoding_010.txt c:\testing\data\xmleng\efute\pattern\Encoding\SAX_XML_encoding_010.ref
+delete test
+[Endtest]
+
\ No newline at end of file
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/SaxNotWF.cfg
--- a/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/SaxNotWF.cfg Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/SaxNotWF.cfg Wed Jun 23 20:27:15 2010 +0530
@@ -1,2084 +1,2085 @@
-##############################################################
-# Attribute values must start with attribute names, not "?"
-##############################################################
-
-[Test]
-title not_wf_XML_001
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_001.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_001.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_001.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_001.ref
-delete test
-[Endtest]
-##############################################################
-# Names may not start with "."; it's not a Letter
-##############################################################
-
-[Test]
-title not_wf_XML_002
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_002.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_002.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_002.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_002.ref
-delete test
-[Endtest]
-##############################################################
-# Processing Instruction target name is required
-##############################################################
-
-[Test]
-title not_wf_XML_003
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_003.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_003.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_003.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_003.ref
-delete test
-[Endtest]
-##############################################################
-# SGML-ism: processing instructions end in '?>' not '>'
-##############################################################
-
-[Test]
-title not_wf_XML_004
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_004.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_004.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_004.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_004.ref
-delete test
-[Endtest]
-##############################################################
-# Processing instructions end in '?>' not '?'
-##############################################################
-
-[Test]
-title not_wf_XML_005
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_005.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_005.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_005.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_005.ref
-delete test
-[Endtest]
-##############################################################
-# XML comments may not contain "--"
-##############################################################
-
-[Test]
-title not_wf_XML_006
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_006.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_006.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_006.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_006.ref
-delete test
-[Endtest]
-##############################################################
-# General entity references have no whitespace after the entity name and before the semicolon
-##############################################################
-
-[Test]
-title not_wf_XML_007
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_007.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_007.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_007.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_007.ref
-delete test
-[Endtest]
-##############################################################
-# Entity references must include names, which don't begin with '.' (it's not a Letter or other name start character).
-##############################################################
-
-[Test]
-title not_wf_XML_008
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_008.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_008.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_008.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_008.ref
-delete test
-[Endtest]
-##############################################################
-#Character references may have only decimal or numeric strings
-##############################################################
-
-[Test]
-title not_wf_XML_009
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_009.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_009.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_009.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_009.ref
-delete test
-[Endtest]
-##############################################################
-# Ampersand may only appear as part of a general entity reference
-##############################################################
-
-[Test]
-title not_wf_XML_010
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_010.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_010.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_010.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_010.ref
-delete test
-[Endtest]
-##############################################################
-# SGML-ism: attribute values must be explicitly assigned a value, it can't act as a boolean toggle
-##############################################################
-
-[Test]
-title not_wf_XML_011
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_011.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_011.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_011.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_011.ref
-delete test
-[Endtest]
-##############################################################
-# SGML-ism: attribute values must be quoted in all cases.
-##############################################################
-
-[Test]
-title not_wf_XML_012
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_012.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_012.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_012.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_012.ref
-delete test
-[Endtest]
-##############################################################
-# The quotes on both ends of an attribute value must match.
-##############################################################
-
-[Test]
-title not_wf_XML_013
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_013.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_013.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_013.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_013.ref
-delete test
-[Endtest]
-##############################################################
-# Attribute values may not contain literal '<' characters
-##############################################################
-
-[Test]
-title not_wf_XML_014
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_014.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_014.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_014.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_014.ref
-delete test
-[Endtest]
-##############################################################
-# Attribute values need a value, not just an equals sign
-##############################################################
-
-[Test]
-title not_wf_XML_015
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_015.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_015.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_015.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_015.ref
-delete test
-[Endtest]
-##############################################################
-# Attribute values need an associated name
-##############################################################
-
-[Test]
-title not_wf_XML_016
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_016.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_016.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_016.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_016.ref
-delete test
-[Endtest]
-##############################################################
-# CDATA sections need a terminating ']]>'
-##############################################################
-
-[Test]
-title not_wf_XML_017
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_017.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_017.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_017.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_017.ref
-delete test
-[Endtest]
-##############################################################
-# CDATA sections begin with a literal ''
-##############################################################
-
-[Test]
-title not_wf_XML_019
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_019.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_019.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_019.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_019.ref
-delete test
-[Endtest]
-##############################################################
-# Attribute values may not contain literal '&' characters except as part of an entity reference
-##############################################################
-
-[Test]
-title not_wf_XML_020
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_020.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_020.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_020.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_020.ref
-delete test
-[Endtest]
-##############################################################
-# Attribute values may not contain literal '&' characters except as part of an entity reference
-##############################################################
-
-[Test]
-title not_wf_XML_021
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_021.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_021.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_021.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_021.ref
-delete test
-[Endtest]
-##############################################################
-# Character references end with semicolons
-##############################################################
-
-[Test]
-title not_wf_XML_022
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_022.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_022.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_022.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_022.ref
-delete test
-[Endtest]
-##############################################################
-# Digits are not valid name start characters
-##############################################################
-
-[Test]
-title not_wf_XML_023
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_023.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_023.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_023.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_023.ref
-delete test
-[Endtest]
-##############################################################
-# Digits are not valid name start characters
-##############################################################
-
-[Test]
-title not_wf_XML_024
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_024.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_024.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_024.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_024.ref
-delete test
-[Endtest]
-##############################################################
-# Text may not contain a literal ']]>' sequence
-##############################################################
-
-[Test]
-title not_wf_XML_025
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_025.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_025.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_025.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_025.ref
-delete test
-[Endtest]
-##############################################################
-# Text may not contain a literal ']]>' sequence
-##############################################################
-
-[Test]
-title not_wf_XML_026
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_026.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_026.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_026.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_026.ref
-delete test
-[Endtest]
-##############################################################
-# Comments must be terminated with "-->"
-##############################################################
-
-[Test]
-title not_wf_XML_027
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_027.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_027.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_027.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_027.ref
-delete test
-[Endtest]
-##############################################################
-# Processing instructions must end with '?>'
-##############################################################
-
-[Test]
-title not_wf_XML_028
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_028.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_028.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_028.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_028.ref
-delete test
-[Endtest]
-##############################################################
-# Text may not contain a literal ']]>' sequence
-##############################################################
-
-[Test]
-title not_wf_XML_029
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_029.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_029.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_029.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_029.ref
-delete test
-[Endtest]
-##############################################################
-# A form feed is not a legal XML character
-##############################################################
-
-[Test]
-title not_wf_XML_030
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_030.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_030.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_030.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_030.ref
-delete test
-[Endtest]
-##############################################################
-# A form feed is not a legal XML character
-##############################################################
-
-[Test]
-title not_wf_XML_031
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_031.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_031.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_031.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_031.ref
-delete test
-[Endtest]
-##############################################################
-# A form feed is not a legal XML character
-##############################################################
-
-[Test]
-title not_wf_XML_032
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_032.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_032.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_032.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_032.ref
-delete test
-[Endtest]
-##############################################################
-# An ESC (octal 033) is not a legal XML character
-##############################################################
-
-[Test]
-title not_wf_XML_033
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_033.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_033.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_033.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_033.ref
-delete test
-[Endtest]
-##############################################################
-# A form feed is not a legal XML character
-##############################################################
-
-[Test]
-title not_wf_XML_034
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_034.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_034.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_034.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_034.ref
-delete test
-[Endtest]
-##############################################################
-# The '<' character is a markup delimiter and must start an element, CDATA section, PI, or comment
-##############################################################
-
-[Test]
-title not_wf_XML_035
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_035.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_035.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_035.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_035.ref
-delete test
-[Endtest]
-##############################################################
-# Text may not appear after the root element
-##############################################################
-
-[Test]
-title not_wf_XML_036
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_036.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_036.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_036.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_036.ref
-delete test
-[Endtest]
-##############################################################
-# Character references may not appear after the root element
-##############################################################
-
-[Test]
-title not_wf_XML_037
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_037.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_037.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_037.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_037.ref
-delete test
-[Endtest]
-##############################################################
-# Tests the "Unique Att Spec" WF constraint by providing multiple values for an attribute
-##############################################################
-
-[Test]
-title not_wf_XML_038
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_038.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_038.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_038.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_038.ref
-delete test
-[Endtest]
-##############################################################
-# Tests the Element Type Match WFC - end tag name must match start tag name
-##############################################################
-
-[Test]
-title not_wf_XML_039
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_039.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_039.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_039.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_039.ref
-delete test
-[Endtest]
-##############################################################
-# Provides two document elements
-##############################################################
-
-[Test]
-title not_wf_XML_040
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_040.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_040.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_040.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_040.ref
-delete test
-[Endtest]
-##############################################################
-# Provides two document elements
-##############################################################
-
-[Test]
-title not_wf_XML_041
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_041.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_041.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_041.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_041.ref
-delete test
-[Endtest]
-##############################################################
-# Invalid End Tag
-##############################################################
-
-[Test]
-title not_wf_XML_042
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_042.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_042.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_042.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_042.ref
-delete test
-[Endtest]
-##############################################################
-# Provides #PCDATA text after the document element
-##############################################################
-
-[Test]
-title not_wf_XML_043
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_043.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_043.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_043.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_043.ref
-delete test
-[Endtest]
-##############################################################
-# Provides two document elements
-##############################################################
-
-[Test]
-title not_wf_XML_044
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_044.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_044.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_044.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_044.ref
-delete test
-[Endtest]
-##############################################################
-#Invalid Empty Element Tag
-##############################################################
-
-[Test]
-title not_wf_XML_045
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_045.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_045.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_045.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_045.ref
-delete test
-[Endtest]
-##############################################################
-# This start (or empty element) tag was not terminated correctly
-##############################################################
-
-[Test]
-title not_wf_XML_046
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_046.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_046.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_046.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_046.ref
-delete test
-[Endtest]
-##############################################################
-# Invalid empty element tag invalid whitespace
-##############################################################
-
-[Test]
-title not_wf_XML_047
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_047.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_047.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_047.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_047.ref
-delete test
-[Endtest]
-##############################################################
-# Provides a CDATA section after the roor element
-##############################################################
-
-[Test]
-title not_wf_XML_048
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_048.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_048.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_048.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_048.ref
-delete test
-[Endtest]
-##############################################################
-# Missing start tag
-##############################################################
-
-[Test]
-title not_wf_XML_049
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_049.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_049.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_049.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_049.ref
-delete test
-[Endtest]
-##############################################################
-# Empty document, with no root element
-##############################################################
-
-[Test]
-title not_wf_XML_050
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_050.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_050.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_050.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_050.ref
-delete test
-[Endtest]
-##############################################################
-# CDATA is invalid at top level of document
-##############################################################
-
-[Test]
-title not_wf_XML_051
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_051.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_051.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_051.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_051.ref
-delete test
-[Endtest]
-##############################################################
-# Invalid character reference
-##############################################################
-
-[Test]
-title not_wf_XML_052
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_052.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_052.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_052.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_052.ref
-delete test
-[Endtest]
-##############################################################
-# End tag does not match start tag
-##############################################################
-
-[Test]
-title not_wf_XML_053
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_053.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_053.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_053.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_053.ref
-delete test
-[Endtest]
-##############################################################
-# PUBLIC requires two literals
-##############################################################
-
-[Test]
-title not_wf_XML_054
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_054.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_054.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_054.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_054.ref
-delete test
-[Endtest]
-##############################################################
-# Invalid Document Type Definition format
-##############################################################
-
-[Test]
-title not_wf_XML_055
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_055.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_055.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_055.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_055.ref
-delete test
-[Endtest]
-##############################################################
-# Invalid Document Type Definition format - misplaced comment
-##############################################################
-
-[Test]
-title not_wf_XML_056
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_056.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_056.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_056.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_056.ref
-delete test
-[Endtest]
-##############################################################
-# This isn't SGML; comments can't exist in declarations
-##############################################################
-
-[Test]
-title not_wf_XML_057
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_057.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_057.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_057.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_057.ref
-delete test
-[Endtest]
-##############################################################
-# Invalid character , in ATTLIST enumeration
-##############################################################
-
-[Test]
-title not_wf_XML_058
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_058.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_058.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_058.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_058.ref
-delete test
-[Endtest]
-##############################################################
-# String literal must be in quotes
-##############################################################
-
-[Test]
-title not_wf_XML_059
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_059.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_059.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_059.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_059.ref
-delete test
-[Endtest]
-##############################################################
-# Invalid type NAME defined in ATTLIST
-##############################################################
-
-[Test]
-title not_wf_XML_060
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_060.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_060.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_060.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_060.ref
-delete test
-[Endtest]
-##############################################################
-# External entity declarations require whitespace between public and system IDs
-##############################################################
-
-[Test]
-title not_wf_XML_061
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_061.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_061.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_061.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_061.ref
-delete test
-[Endtest]
-##############################################################
-# Entity declarations need space after the entity name
-##############################################################
-
-[Test]
-title not_wf_XML_062
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_062.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_062.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_062.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_062.ref
-delete test
-[Endtest]
-##############################################################
-# Conditional sections may only appear in the external DTD subset
-##############################################################
-
-[Test]
-title not_wf_XML_063
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_063.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_063.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_063.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_063.ref
-delete test
-[Endtest]
-##############################################################
-# Space is required between attribute type and default values in declarations
-##############################################################
-
-[Test]
-title not_wf_XML_064
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_064.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_064.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_064.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_064.ref
-delete test
-[Endtest]
-##############################################################
-# Space is required between attribute name and type in declarations
-##############################################################
-
-[Test]
-title not_wf_XML_065
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_065.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_065.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_065.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_065.ref
-delete test
-[Endtest]
-##############################################################
-# Required whitespace is missing
-##############################################################
-
-[Test]
-title not_wf_XML_066
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_066.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_066.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_066.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_066.ref
-delete test
-[Endtest]
-##############################################################
-# Space is required between attribute type and default values in declarations
-##############################################################
-
-[Test]
-title not_wf_XML_067
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_067.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_067.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_067.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_067.ref
-delete test
-[Endtest]
-##############################################################
-# Space is required between NOTATION keyword and list of enumerated choices in declarations
-##############################################################
-
-[Test]
-title not_wf_XML_068
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_068.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_068.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_068.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_068.ref
-delete test
-[Endtest]
-##############################################################
-# Space is required before an NDATA entity annotation
-##############################################################
-
-[Test]
-title not_wf_XML_069
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_069.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_069.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_069.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_069.ref
-delete test
-[Endtest]
-##############################################################
-# XML comments may not contain "--"
-##############################################################
-
-[Test]
-title not_wf_XML_070
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_070.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_070.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_070.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_070.ref
-delete test
-[Endtest]
-##############################################################
-# ENTITY can't reference itself directly or indirectly
-##############################################################
-
-[Test]
-title not_wf_XML_071
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_071.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_071.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_071.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_071.ref
-delete test
-[Endtest]
-##############################################################
-# Undefined ENTITY foo
-##############################################################
-
-[Test]
-title not_wf_XML_072
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_072.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_072.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_072.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_072.ref
-delete test
-[Endtest]
-##############################################################
-# Undefined ENTITY f.
-##############################################################
-
-[Test]
-title not_wf_XML_073
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_073.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_073.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_073.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_073.ref
-delete test
-[Endtest]
-##############################################################
-# Internal general parsed entities are only well formed if they match the "content" production.
-##############################################################
-
-[Test]
-title not_wf_XML_074
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_074.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_074.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_074.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_074.ref
-delete test
-[Endtest]
-##############################################################
-# ENTITY can't reference itself directly or indirectly.
-##############################################################
-
-[Test]
-title not_wf_XML_075
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_075.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_075.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_075.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_075.ref
-delete test
-[Endtest]
-##############################################################
-# Undefined ENTITY foo.
-##############################################################
-
-[Test]
-title not_wf_XML_076
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_076.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_076.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_076.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_076.ref
-delete test
-[Endtest]
-##############################################################
-# Undefined ENTITY foo.
-##############################################################
-
-[Test]
-title not_wf_XML_077
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_077.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_077.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_077.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_077.ref
-delete test
-[Endtest]
-##############################################################
-# Undefined ENTITY foo.
-##############################################################
-
-[Test]
-title not_wf_XML_078
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_078.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_078.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_078.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_078.ref
-delete test
-[Endtest]
-##############################################################
-# ENTITY can't reference itself directly or indirectly
-##############################################################
-
-[Test]
-title not_wf_XML_079
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_079.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_079.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_079.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_079.ref
-delete test
-[Endtest]
-##############################################################
-# ENTITY can't reference itself directly or indirectly
-##############################################################
-
-[Test]
-title not_wf_XML_080
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_080.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_080.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_080.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_080.ref
-delete test
-[Endtest]
-##############################################################
-# This tests the No External Entity References
-# WFC, since the entity is referred to within an attribute.
-##############################################################
-
-[Test]
-title not_wf_XML_081
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_081.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_081.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_081.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_081.ref
-delete test
-[Endtest]
-##############################################################
-# This tests the No External Entity References
-# WFC, since the entity is referred to within an attribute.
-##############################################################
-
-[Test]
-title not_wf_XML_082
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_082.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_082.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_082.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_082.ref
-delete test
-[Endtest]
-##############################################################
-# Undefined NOTATION n
-##############################################################
-
-[Test]
-title not_wf_XML_083
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_083.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_083.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_083.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_083.ref
-delete test
-[Endtest]
-##############################################################
-# Tests the Parsed Entity WFC by referring to an unparsed entity.
-# (This precedes the error of not declaring that entity's notation,
-# which may be detected any time before the DTD parsing is completed.)
-##############################################################
-
-[Test]
-title not_wf_XML_084
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_084.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_084.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_084.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_084.ref
-delete test
-[Endtest]
-##############################################################
-# Public IDs may not contain "["
-##############################################################
-
-[Test]
-title not_wf_XML_085
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_085.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_085.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_085.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_085.ref
-delete test
-[Endtest]
-##############################################################
-# Public IDs may not contain "["
-##############################################################
-
-[Test]
-title not_wf_XML_086
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_086.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_086.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_086.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_086.ref
-delete test
-[Endtest]
-##############################################################
-# Public IDs may not contain "["
-##############################################################
-
-[Test]
-title not_wf_XML_087
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_087.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_087.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_087.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_087.ref
-delete test
-[Endtest]
-##############################################################
-# Attribute values are terminated by literal quote characters, and any entity expansion is done afterwards
-##############################################################
-
-[Test]
-title not_wf_XML_088
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_088.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_088.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_088.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_088.ref
-delete test
-[Endtest]
-##############################################################
-# Parameter entities "are" always parsed; NDATA annotations are not permitted
-##############################################################
-
-[Test]
-title not_wf_XML_089
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_089.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_089.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_089.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_089.ref
-delete test
-[Endtest]
-##############################################################
-# Attributes may not contain a literal "<" character; this one has one because of reference expansion
-##############################################################
-
-[Test]
-title not_wf_XML_090
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_090.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_090.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_090.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_090.ref
-delete test
-[Endtest]
-##############################################################
-# Parameter entities "are" always parsed; NDATA annotations are not permitted.
-##############################################################
-
-[Test]
-title not_wf_XML_091
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_091.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_091.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_091.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_091.ref
-delete test
-[Endtest]
-##############################################################
-# he replacement text of this entity has an illegal reference, because the character reference is expanded immediately
-##############################################################
-
-[Test]
-title not_wf_XML_092
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_092.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_092.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_092.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_092.ref
-delete test
-[Endtest]
-##############################################################
-# Hexadecimal character references may not use the uppercase 'X'
-##############################################################
-
-[Test]
-title not_wf_XML_093
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_093.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_093.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_093.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_093.ref
-delete test
-[Endtest]
-##############################################################
-# Prolog VERSION must be lowercase
-##############################################################
-
-[Test]
-title not_wf_XML_094
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_094.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_094.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_094.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_094.ref
-delete test
-[Endtest]
-##############################################################
-# VersionInfo must come before EncodingDecl
-##############################################################
-
-[Test]
-title not_wf_XML_095
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_095.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_095.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_095.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_095.ref
-delete test
-[Endtest]
-##############################################################
-# Space is required before the standalone declaration
-##############################################################
-
-[Test]
-title not_wf_XML_096
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_096.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_096.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_096.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_096.ref
-delete test
-[Endtest]
-##############################################################
-# Both quotes surrounding VersionNum must be the same
-##############################################################
-
-[Test]
-title not_wf_XML_097
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_097.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_097.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_097.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_097.ref
-delete test
-[Endtest]
-##############################################################
-# Only one "version=..." string may appear in an XML declaration
-##############################################################
-
-[Test]
-title not_wf_XML_098
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_098.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_098.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_098.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_098.ref
-delete test
-[Endtest]
-##############################################################
-# Only three pseudo-attributes are in the XML declaration, and "valid=..." is not one of them
-##############################################################
-
-[Test]
-title not_wf_XML_099
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_099.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_099.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_099.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_099.ref
-delete test
-[Endtest]
-##############################################################
-# Only "yes" and "no" are permitted as values of "standalone"
-##############################################################
-
-[Test]
-title not_wf_XML_100
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_100.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_100.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_100.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_100.ref
-delete test
-[Endtest]
-##############################################################
-# Space is not permitted in an encoding name
-##############################################################
-
-[Test]
-title not_wf_XML_101
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_101.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_101.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_101.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_101.ref
-delete test
-[Endtest]
-##############################################################
-# Provides an illegal XML version number; spaces are illegal
-##############################################################
-
-[Test]
-title not_wf_XML_102
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_102.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_102.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_102.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_102.ref
-delete test
-[Endtest]
-##############################################################
-# End-tag required for element foo.
-##############################################################
-
-[Test]
-title not_wf_XML_103
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_103.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_103.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_103.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_103.ref
-delete test
-[Endtest]
-##############################################################
-# Internal general parsed entities are only well formed
-# if they match the "content" production.
-##############################################################
-
-[Test]
-title not_wf_XML_104
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_104.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_104.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_104.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_104.ref
-delete test
-[Endtest]
-##############################################################
-# Invalid placement of CDATA section
-##############################################################
-
-[Test]
-title not_wf_XML_105
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_105.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_105.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_105.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_105.ref
-delete test
-[Endtest]
-##############################################################
-# Invalid placement of entity declaration
-##############################################################
-
-[Test]
-title not_wf_XML_106
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_106.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_106.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_106.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_106.ref
-delete test
-[Endtest]
-##############################################################
-# Invalid document type declaration. CDATA alone is invalid
-##############################################################
-
-[Test]
-title not_wf_XML_107
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_107.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_107.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_107.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_107.ref
-delete test
-[Endtest]
-##############################################################
-# No space in '' is neither an XML declaration nor a legal
-# processing instruction target name
-##############################################################
-
-[Test]
-title not_wf_XML_154
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_154.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_154.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_154.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_154.ref
-delete test
-[Endtest]
-##############################################################
-# '' is neither an XML declaration nor a legal
-# processing instruction target name.
-##############################################################
-
-[Test]
-title not_wf_XML_155
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_155.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_155.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_155.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_155.ref
-delete test
-[Endtest]
-##############################################################
-# '' is neither an XML declaration nor a
-# legal processing instruction target name.
-##############################################################
-
-[Test]
-title not_wf_XML_156
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_156.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_156.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_156.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_156.ref
-delete test
-[Endtest]
-##############################################################
-# '' is not a legal processing instruction target name.
-##############################################################
-
-[Test]
-title not_wf_XML_157
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_157.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_157.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_157.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_157.ref
-delete test
-[Endtest]
-##############################################################
-# SGML-ism: "#NOTATION gif" can't have attributes.
-##############################################################
-
-[Test]
-title not_wf_XML_158
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_158.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_158.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_158.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_158.ref
-delete test
-[Endtest]
-##############################################################
-# Uses '&' unquoted in an entity declaration,
-# which is illegal syntax for an entity reference
-##############################################################
-
-[Test]
-title not_wf_XML_159
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_159.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_159.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_159.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_159.ref
-delete test
-[Endtest]
-##############################################################
-# Violates the PEs in Internal Subset
-# WFC by using a PE reference within a declaration.
-##############################################################
-
-[Test]
-title not_wf_XML_160
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_160.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_160.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_160.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_160.ref
-delete test
-[Endtest]
-##############################################################
-# Violates the PEs in Internal Subset
-# WFC by using a PE reference within a declaration.
-##############################################################
-
-[Test]
-title not_wf_XML_161
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_161.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_161.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_161.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_161.ref
-delete test
-[Endtest]
-##############################################################
-# Violates the PEs in Internal Subset
-# WFC by using a PE reference within a declaration.
-##############################################################
-
-[Test]
-title not_wf_XML_162
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_162.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_162.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_162.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_162.ref
-delete test
-[Endtest]
-##############################################################
-# Invalid placement of Parameter entity reference.
-##############################################################
-
-[Test]
-title not_wf_XML_163
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_163.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_163.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_163.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_163.ref
-delete test
-[Endtest]
-##############################################################
-# Invalid placement of Parameter entity reference.
-##############################################################
-
-[Test]
-title not_wf_XML_164
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_164.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_164.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_164.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_164.ref
-delete test
-[Endtest]
-##############################################################
-# Parameter entity declarations must have a space before the '%'.
-##############################################################
-
-[Test]
-title not_wf_XML_165
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_165.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_165.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_165.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_165.ref
-delete test
-[Endtest]
-##############################################################
-# Character FFFE is not legal anywhere in an XML document.
-##############################################################
-
-[Test]
-title not_wf_XML_166
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_166.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_166.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_166.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_166.ref
-delete test
-[Endtest]
-##############################################################
-# Character FFFE is not legal anywhere in an XML document.
-##############################################################
-
-[Test]
-title not_wf_XML_167
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_167.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_167.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_167.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_167.ref
-delete test
-[Endtest]
-##############################################################
-# An unpaired surrogate (D800) is not legal anywhere in an XML document.
-##############################################################
-
-[Test]
-title not_wf_XML_168
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_168.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_168.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_168.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_168.ref
-delete test
-[Endtest]
-##############################################################
-# An unpaired surrogate (DC00) is not legal anywhere in an XML document.
-##############################################################
-
-[Test]
-title not_wf_XML_169
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_169.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_169.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_169.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_169.ref
-delete test
-[Endtest]
-##############################################################
-# Four byte UTF-8 encodings can encode UCS-4 characters
-# which are beyond the range of legal XML characters
-# (and can't be expressed in Unicode surrogate pairs).
-# This document holds such a character
-##############################################################
-
-[Test]
-title not_wf_XML_170
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_170.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_170.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_170.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_170.ref
-delete test
-[Endtest]
-##############################################################
-# Character FFFF is not legal anywhere in an XML document.
-##############################################################
-
-[Test]
-title not_wf_XML_171
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_171.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_171.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_171.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_171.ref
-delete test
-[Endtest]
-##############################################################
-# Character FFFF is not legal anywhere in an XML document.
-##############################################################
-
-[Test]
-title not_wf_XML_172
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_172.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_172.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_172.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_172.ref
-delete test
-[Endtest]
-##############################################################
-# Character FFFF is not legal anywhere in an XML document.
-##############################################################
-
-[Test]
-title not_wf_XML_173
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_173.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_173.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_173.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_173.ref
-delete test
-[Endtest]
-##############################################################
-# Character FFFF is not legal anywhere in an XML document.
-##############################################################
-
-[Test]
-title not_wf_XML_174
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_174.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_174.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_174.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_174.ref
-delete test
-[Endtest]
-##############################################################
-# Character FFFF is not legal anywhere in an XML document.
-##############################################################
-
-[Test]
-title not_wf_XML_175
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_175.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_175.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_175.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_175.ref
-delete test
-[Endtest]
-##############################################################
-# Start tags must have matching end tags.
-##############################################################
-
-[Test]
-title not_wf_XML_176
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_176.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_176.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_176.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_176.ref
-delete test
-[Endtest]
-##############################################################
-# Character FFFF is not legal anywhere in an XML document.
-##############################################################
-
-[Test]
-title not_wf_XML_177
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_177.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_177.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_177.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_177.ref
-delete test
-[Endtest]
-##############################################################
-# Invalid syntax matching double quote is missing.
-##############################################################
-
-[Test]
-title not_wf_XML_178
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_178.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_178.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_178.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_178.ref
-delete test
-[Endtest]
-##############################################################
-# Invalid syntax matching double quote is missing.
-##############################################################
-
-[Test]
-title not_wf_XML_179
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_179.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_179.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_179.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_179.ref
-delete test
-[Endtest]
-##############################################################
-# WFC requires entities to be declared before they are used in an attribute list declaration.
-##############################################################
-
-[Test]
-title not_wf_XML_180
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_180.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_180.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_180.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_180.ref
-delete test
-[Endtest]
-##############################################################
-# Internal parsed entities must match the content
-# production to be well formed.
-##############################################################
-
-[Test]
-title not_wf_XML_181
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_181.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_181.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_181.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_181.ref
-delete test
-[Endtest]
-##############################################################
-# Internal parsed entities must match the content
-# production to be well formed.
-##############################################################
-
-[Test]
-title not_wf_XML_182
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_182.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_182.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_182.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_182.ref
-delete test
-[Endtest]
-##############################################################
-# Mixed content declarations may not include content particles.
-##############################################################
-
-[Test]
-title not_wf_XML_183
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_183.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_183.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_183.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_183.ref
-delete test
-[Endtest]
-##############################################################
-# In mixed content models, element names must not be parenthesized.
-##############################################################
-
-[Test]
-title not_wf_XML_184
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_184.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_184.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_184.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_184.ref
-delete test
-[Endtest]
-##############################################################
-# Tests the Entity Declared WFC. Nonvalidating parser is
-# permitted not to report this WFC violation,
-# since it would need to read an external parameter entity
-# to distinguish it from a violation of the Standalone Declaration
-##############################################################
-
-[Test]
-title not_wf_XML_185
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_185.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_185.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_185.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_185.ref
-delete test
-[Endtest]
-##############################################################
-# Whitespace is required between attribute/value pairs.
-##############################################################
-
-[Test]
-title not_wf_XML_186
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_186.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_186.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_186.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_186.ref
-delete test
-[Endtest]
+##############################################################
+# Attribute values must start with attribute names, not "?"
+##############################################################
+
+[Test]
+title not_wf_XML_001
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_001.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_001.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_001.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_001.ref
+delete test
+[Endtest]
+##############################################################
+# Names may not start with "."; it's not a Letter
+##############################################################
+
+[Test]
+title not_wf_XML_002
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_002.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_002.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_002.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_002.ref
+delete test
+[Endtest]
+##############################################################
+# Processing Instruction target name is required
+##############################################################
+
+[Test]
+title not_wf_XML_003
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_003.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_003.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_003.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_003.ref
+delete test
+[Endtest]
+##############################################################
+# SGML-ism: processing instructions end in '?>' not '>'
+##############################################################
+
+[Test]
+title not_wf_XML_004
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_004.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_004.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_004.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_004.ref
+delete test
+[Endtest]
+##############################################################
+# Processing instructions end in '?>' not '?'
+##############################################################
+
+[Test]
+title not_wf_XML_005
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_005.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_005.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_005.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_005.ref
+delete test
+[Endtest]
+##############################################################
+# XML comments may not contain "--"
+##############################################################
+
+[Test]
+title not_wf_XML_006
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_006.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_006.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_006.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_006.ref
+delete test
+[Endtest]
+##############################################################
+# General entity references have no whitespace after the entity name and before the semicolon
+##############################################################
+
+[Test]
+title not_wf_XML_007
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_007.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_007.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_007.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_007.ref
+delete test
+[Endtest]
+##############################################################
+# Entity references must include names, which don't begin with '.' (it's not a Letter or other name start character).
+##############################################################
+
+[Test]
+title not_wf_XML_008
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_008.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_008.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_008.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_008.ref
+delete test
+[Endtest]
+##############################################################
+#Character references may have only decimal or numeric strings
+##############################################################
+
+[Test]
+title not_wf_XML_009
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_009.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_009.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_009.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_009.ref
+delete test
+[Endtest]
+##############################################################
+# Ampersand may only appear as part of a general entity reference
+##############################################################
+
+[Test]
+title not_wf_XML_010
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_010.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_010.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_010.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_010.ref
+delete test
+[Endtest]
+##############################################################
+# SGML-ism: attribute values must be explicitly assigned a value, it can't act as a boolean toggle
+##############################################################
+
+[Test]
+title not_wf_XML_011
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_011.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_011.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_011.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_011.ref
+delete test
+[Endtest]
+##############################################################
+# SGML-ism: attribute values must be quoted in all cases.
+##############################################################
+
+[Test]
+title not_wf_XML_012
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_012.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_012.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_012.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_012.ref
+delete test
+[Endtest]
+##############################################################
+# The quotes on both ends of an attribute value must match.
+##############################################################
+
+[Test]
+title not_wf_XML_013
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_013.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_013.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_013.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_013.ref
+delete test
+[Endtest]
+##############################################################
+# Attribute values may not contain literal '<' characters
+##############################################################
+
+[Test]
+title not_wf_XML_014
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_014.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_014.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_014.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_014.ref
+delete test
+[Endtest]
+##############################################################
+# Attribute values need a value, not just an equals sign
+##############################################################
+
+[Test]
+title not_wf_XML_015
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_015.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_015.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_015.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_015.ref
+delete test
+[Endtest]
+##############################################################
+# Attribute values need an associated name
+##############################################################
+
+[Test]
+title not_wf_XML_016
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_016.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_016.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_016.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_016.ref
+delete test
+[Endtest]
+##############################################################
+# CDATA sections need a terminating ']]>'
+##############################################################
+
+[Test]
+title not_wf_XML_017
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_017.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_017.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_017.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_017.ref
+delete test
+[Endtest]
+##############################################################
+# CDATA sections begin with a literal ''
+##############################################################
+
+[Test]
+title not_wf_XML_019
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_019.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_019.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_019.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_019.ref
+delete test
+[Endtest]
+##############################################################
+# Attribute values may not contain literal '&' characters except as part of an entity reference
+##############################################################
+
+[Test]
+title not_wf_XML_020
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_020.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_020.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_020.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_020.ref
+delete test
+[Endtest]
+##############################################################
+# Attribute values may not contain literal '&' characters except as part of an entity reference
+##############################################################
+
+[Test]
+title not_wf_XML_021
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_021.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_021.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_021.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_021.ref
+delete test
+[Endtest]
+##############################################################
+# Character references end with semicolons
+##############################################################
+
+[Test]
+title not_wf_XML_022
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_022.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_022.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_022.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_022.ref
+delete test
+[Endtest]
+##############################################################
+# Digits are not valid name start characters
+##############################################################
+
+[Test]
+title not_wf_XML_023
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_023.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_023.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_023.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_023.ref
+delete test
+[Endtest]
+##############################################################
+# Digits are not valid name start characters
+##############################################################
+
+[Test]
+title not_wf_XML_024
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_024.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_024.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_024.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_024.ref
+delete test
+[Endtest]
+##############################################################
+# Text may not contain a literal ']]>' sequence
+##############################################################
+
+[Test]
+title not_wf_XML_025
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_025.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_025.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_025.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_025.ref
+delete test
+[Endtest]
+##############################################################
+# Text may not contain a literal ']]>' sequence
+##############################################################
+
+[Test]
+title not_wf_XML_026
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_026.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_026.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_026.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_026.ref
+delete test
+[Endtest]
+##############################################################
+# Comments must be terminated with "-->"
+##############################################################
+
+[Test]
+title not_wf_XML_027
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_027.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_027.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_027.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_027.ref
+delete test
+[Endtest]
+##############################################################
+# Processing instructions must end with '?>'
+##############################################################
+
+[Test]
+title not_wf_XML_028
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_028.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_028.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_028.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_028.ref
+delete test
+[Endtest]
+##############################################################
+# Text may not contain a literal ']]>' sequence
+##############################################################
+
+[Test]
+title not_wf_XML_029
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_029.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_029.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_029.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_029.ref
+delete test
+[Endtest]
+##############################################################
+# A form feed is not a legal XML character
+##############################################################
+
+[Test]
+title not_wf_XML_030
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_030.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_030.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_030.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_030.ref
+delete test
+[Endtest]
+##############################################################
+# A form feed is not a legal XML character
+##############################################################
+
+[Test]
+title not_wf_XML_031
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_031.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_031.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_031.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_031.ref
+delete test
+[Endtest]
+##############################################################
+# A form feed is not a legal XML character
+##############################################################
+
+[Test]
+title not_wf_XML_032
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_032.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_032.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_032.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_032.ref
+delete test
+[Endtest]
+##############################################################
+# An ESC (octal 033) is not a legal XML character
+##############################################################
+
+[Test]
+title not_wf_XML_033
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_033.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_033.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_033.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_033.ref
+delete test
+[Endtest]
+##############################################################
+# A form feed is not a legal XML character
+##############################################################
+
+[Test]
+title not_wf_XML_034
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_034.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_034.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_034.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_034.ref
+delete test
+[Endtest]
+##############################################################
+# The '<' character is a markup delimiter and must start an element, CDATA section, PI, or comment
+##############################################################
+
+[Test]
+title not_wf_XML_035
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_035.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_035.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_035.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_035.ref
+delete test
+[Endtest]
+##############################################################
+# Text may not appear after the root element
+##############################################################
+
+[Test]
+title not_wf_XML_036
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_036.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_036.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_036.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_036.ref
+delete test
+[Endtest]
+##############################################################
+# Character references may not appear after the root element
+##############################################################
+
+[Test]
+title not_wf_XML_037
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_037.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_037.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_037.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_037.ref
+delete test
+[Endtest]
+##############################################################
+# Tests the "Unique Att Spec" WF constraint by providing multiple values for an attribute
+##############################################################
+
+[Test]
+title not_wf_XML_038
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_038.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_038.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_038.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_038.ref
+delete test
+[Endtest]
+##############################################################
+# Tests the Element Type Match WFC - end tag name must match start tag name
+##############################################################
+
+[Test]
+title not_wf_XML_039
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_039.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_039.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_039.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_039.ref
+delete test
+[Endtest]
+##############################################################
+# Provides two document elements
+##############################################################
+
+[Test]
+title not_wf_XML_040
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_040.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_040.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_040.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_040.ref
+delete test
+[Endtest]
+##############################################################
+# Provides two document elements
+##############################################################
+
+[Test]
+title not_wf_XML_041
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_041.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_041.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_041.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_041.ref
+delete test
+[Endtest]
+##############################################################
+# Invalid End Tag
+##############################################################
+
+[Test]
+title not_wf_XML_042
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_042.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_042.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_042.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_042.ref
+delete test
+[Endtest]
+##############################################################
+# Provides #PCDATA text after the document element
+##############################################################
+
+[Test]
+title not_wf_XML_043
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_043.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_043.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_043.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_043.ref
+delete test
+[Endtest]
+##############################################################
+# Provides two document elements
+##############################################################
+
+[Test]
+title not_wf_XML_044
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_044.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_044.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_044.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_044.ref
+delete test
+[Endtest]
+##############################################################
+#Invalid Empty Element Tag
+##############################################################
+
+[Test]
+title not_wf_XML_045
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_045.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_045.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_045.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_045.ref
+delete test
+[Endtest]
+##############################################################
+# This start (or empty element) tag was not terminated correctly
+##############################################################
+
+[Test]
+title not_wf_XML_046
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_046.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_046.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_046.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_046.ref
+delete test
+[Endtest]
+##############################################################
+# Invalid empty element tag invalid whitespace
+##############################################################
+
+[Test]
+title not_wf_XML_047
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_047.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_047.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_047.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_047.ref
+delete test
+[Endtest]
+##############################################################
+# Provides a CDATA section after the roor element
+##############################################################
+
+[Test]
+title not_wf_XML_048
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_048.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_048.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_048.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_048.ref
+delete test
+[Endtest]
+##############################################################
+# Missing start tag
+##############################################################
+
+[Test]
+title not_wf_XML_049
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_049.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_049.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_049.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_049.ref
+delete test
+[Endtest]
+##############################################################
+# Empty document, with no root element
+##############################################################
+
+[Test]
+title not_wf_XML_050
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_050.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_050.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_050.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_050.ref
+delete test
+[Endtest]
+##############################################################
+# CDATA is invalid at top level of document
+##############################################################
+
+[Test]
+title not_wf_XML_051
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_051.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_051.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_051.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_051.ref
+delete test
+[Endtest]
+##############################################################
+# Invalid character reference
+##############################################################
+
+[Test]
+title not_wf_XML_052
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_052.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_052.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_052.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_052.ref
+delete test
+[Endtest]
+##############################################################
+# End tag does not match start tag
+##############################################################
+
+[Test]
+title not_wf_XML_053
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_053.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_053.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_053.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_053.ref
+delete test
+[Endtest]
+##############################################################
+# PUBLIC requires two literals
+##############################################################
+
+[Test]
+title not_wf_XML_054
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_054.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_054.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_054.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_054.ref
+delete test
+[Endtest]
+##############################################################
+# Invalid Document Type Definition format
+##############################################################
+
+[Test]
+title not_wf_XML_055
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_055.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_055.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_055.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_055.ref
+delete test
+[Endtest]
+##############################################################
+# Invalid Document Type Definition format - misplaced comment
+##############################################################
+
+[Test]
+title not_wf_XML_056
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_056.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_056.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_056.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_056.ref
+delete test
+[Endtest]
+##############################################################
+# This isn't SGML; comments can't exist in declarations
+##############################################################
+
+[Test]
+title not_wf_XML_057
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_057.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_057.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_057.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_057.ref
+delete test
+[Endtest]
+##############################################################
+# Invalid character , in ATTLIST enumeration
+##############################################################
+
+[Test]
+title not_wf_XML_058
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_058.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_058.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_058.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_058.ref
+delete test
+[Endtest]
+##############################################################
+# String literal must be in quotes
+##############################################################
+
+[Test]
+title not_wf_XML_059
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_059.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_059.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_059.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_059.ref
+delete test
+[Endtest]
+##############################################################
+# Invalid type NAME defined in ATTLIST
+##############################################################
+
+[Test]
+title not_wf_XML_060
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_060.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_060.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_060.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_060.ref
+delete test
+[Endtest]
+##############################################################
+# External entity declarations require whitespace between public and system IDs
+##############################################################
+
+[Test]
+title not_wf_XML_061
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_061.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_061.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_061.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_061.ref
+delete test
+[Endtest]
+##############################################################
+# Entity declarations need space after the entity name
+##############################################################
+
+[Test]
+title not_wf_XML_062
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_062.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_062.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_062.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_062.ref
+delete test
+[Endtest]
+##############################################################
+# Conditional sections may only appear in the external DTD subset
+##############################################################
+
+[Test]
+title not_wf_XML_063
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_063.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_063.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_063.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_063.ref
+delete test
+[Endtest]
+##############################################################
+# Space is required between attribute type and default values in declarations
+##############################################################
+
+[Test]
+title not_wf_XML_064
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_064.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_064.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_064.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_064.ref
+delete test
+[Endtest]
+##############################################################
+# Space is required between attribute name and type in declarations
+##############################################################
+
+[Test]
+title not_wf_XML_065
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_065.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_065.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_065.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_065.ref
+delete test
+[Endtest]
+##############################################################
+# Required whitespace is missing
+##############################################################
+
+[Test]
+title not_wf_XML_066
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_066.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_066.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_066.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_066.ref
+delete test
+[Endtest]
+##############################################################
+# Space is required between attribute type and default values in declarations
+##############################################################
+
+[Test]
+title not_wf_XML_067
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_067.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_067.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_067.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_067.ref
+delete test
+[Endtest]
+##############################################################
+# Space is required between NOTATION keyword and list of enumerated choices in declarations
+##############################################################
+
+[Test]
+title not_wf_XML_068
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_068.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_068.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_068.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_068.ref
+delete test
+[Endtest]
+##############################################################
+# Space is required before an NDATA entity annotation
+##############################################################
+
+[Test]
+title not_wf_XML_069
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_069.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_069.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_069.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_069.ref
+delete test
+[Endtest]
+##############################################################
+# XML comments may not contain "--"
+##############################################################
+
+[Test]
+title not_wf_XML_070
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_070.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_070.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_070.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_070.ref
+delete test
+[Endtest]
+##############################################################
+# ENTITY can't reference itself directly or indirectly
+##############################################################
+
+[Test]
+title not_wf_XML_071
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_071.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_071.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_071.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_071.ref
+delete test
+[Endtest]
+##############################################################
+# Undefined ENTITY foo
+##############################################################
+
+[Test]
+title not_wf_XML_072
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_072.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_072.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_072.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_072.ref
+delete test
+[Endtest]
+##############################################################
+# Undefined ENTITY f.
+##############################################################
+
+[Test]
+title not_wf_XML_073
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_073.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_073.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_073.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_073.ref
+delete test
+[Endtest]
+##############################################################
+# Internal general parsed entities are only well formed if they match the "content" production.
+##############################################################
+
+[Test]
+title not_wf_XML_074
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_074.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_074.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_074.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_074.ref
+delete test
+[Endtest]
+##############################################################
+# ENTITY can't reference itself directly or indirectly.
+##############################################################
+
+[Test]
+title not_wf_XML_075
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_075.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_075.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_075.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_075.ref
+delete test
+[Endtest]
+##############################################################
+# Undefined ENTITY foo.
+##############################################################
+
+[Test]
+title not_wf_XML_076
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_076.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_076.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_076.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_076.ref
+delete test
+[Endtest]
+##############################################################
+# Undefined ENTITY foo.
+##############################################################
+
+[Test]
+title not_wf_XML_077
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_077.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_077.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_077.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_077.ref
+delete test
+[Endtest]
+##############################################################
+# Undefined ENTITY foo.
+##############################################################
+
+[Test]
+title not_wf_XML_078
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_078.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_078.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_078.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_078.ref
+delete test
+[Endtest]
+##############################################################
+# ENTITY can't reference itself directly or indirectly
+##############################################################
+
+[Test]
+title not_wf_XML_079
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_079.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_079.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_079.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_079.ref
+delete test
+[Endtest]
+##############################################################
+# ENTITY can't reference itself directly or indirectly
+##############################################################
+
+[Test]
+title not_wf_XML_080
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_080.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_080.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_080.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_080.ref
+delete test
+[Endtest]
+##############################################################
+# This tests the No External Entity References
+# WFC, since the entity is referred to within an attribute.
+##############################################################
+
+[Test]
+title not_wf_XML_081
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_081.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_081.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_081.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_081.ref
+delete test
+[Endtest]
+##############################################################
+# This tests the No External Entity References
+# WFC, since the entity is referred to within an attribute.
+##############################################################
+
+[Test]
+title not_wf_XML_082
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_082.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_082.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_082.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_082.ref
+delete test
+[Endtest]
+##############################################################
+# Undefined NOTATION n
+##############################################################
+
+[Test]
+title not_wf_XML_083
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_083.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_083.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_083.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_083.ref
+delete test
+[Endtest]
+##############################################################
+# Tests the Parsed Entity WFC by referring to an unparsed entity.
+# (This precedes the error of not declaring that entity's notation,
+# which may be detected any time before the DTD parsing is completed.)
+##############################################################
+
+[Test]
+title not_wf_XML_084
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_084.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_084.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_084.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_084.ref
+delete test
+[Endtest]
+##############################################################
+# Public IDs may not contain "["
+##############################################################
+
+[Test]
+title not_wf_XML_085
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_085.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_085.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_085.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_085.ref
+delete test
+[Endtest]
+##############################################################
+# Public IDs may not contain "["
+##############################################################
+
+[Test]
+title not_wf_XML_086
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_086.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_086.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_086.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_086.ref
+delete test
+[Endtest]
+##############################################################
+# Public IDs may not contain "["
+##############################################################
+
+[Test]
+title not_wf_XML_087
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_087.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_087.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_087.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_087.ref
+delete test
+[Endtest]
+##############################################################
+# Attribute values are terminated by literal quote characters, and any entity expansion is done afterwards
+##############################################################
+
+[Test]
+title not_wf_XML_088
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_088.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_088.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_088.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_088.ref
+delete test
+[Endtest]
+##############################################################
+# Parameter entities "are" always parsed; NDATA annotations are not permitted
+##############################################################
+
+[Test]
+title not_wf_XML_089
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_089.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_089.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_089.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_089.ref
+delete test
+[Endtest]
+##############################################################
+# Attributes may not contain a literal "<" character; this one has one because of reference expansion
+##############################################################
+
+[Test]
+title not_wf_XML_090
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_090.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_090.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_090.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_090.ref
+delete test
+[Endtest]
+##############################################################
+# Parameter entities "are" always parsed; NDATA annotations are not permitted.
+##############################################################
+
+[Test]
+title not_wf_XML_091
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_091.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_091.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_091.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_091.ref
+delete test
+[Endtest]
+##############################################################
+# he replacement text of this entity has an illegal reference, because the character reference is expanded immediately
+##############################################################
+
+[Test]
+title not_wf_XML_092
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_092.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_092.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_092.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_092.ref
+delete test
+[Endtest]
+##############################################################
+# Hexadecimal character references may not use the uppercase 'X'
+##############################################################
+
+[Test]
+title not_wf_XML_093
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_093.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_093.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_093.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_093.ref
+delete test
+[Endtest]
+##############################################################
+# Prolog VERSION must be lowercase
+##############################################################
+
+[Test]
+title not_wf_XML_094
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_094.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_094.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_094.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_094.ref
+delete test
+[Endtest]
+##############################################################
+# VersionInfo must come before EncodingDecl
+##############################################################
+
+[Test]
+title not_wf_XML_095
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_095.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_095.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_095.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_095.ref
+delete test
+[Endtest]
+##############################################################
+# Space is required before the standalone declaration
+##############################################################
+
+[Test]
+title not_wf_XML_096
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_096.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_096.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_096.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_096.ref
+delete test
+[Endtest]
+##############################################################
+# Both quotes surrounding VersionNum must be the same
+##############################################################
+
+[Test]
+title not_wf_XML_097
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_097.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_097.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_097.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_097.ref
+delete test
+[Endtest]
+##############################################################
+# Only one "version=..." string may appear in an XML declaration
+##############################################################
+
+[Test]
+title not_wf_XML_098
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_098.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_098.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_098.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_098.ref
+delete test
+[Endtest]
+##############################################################
+# Only three pseudo-attributes are in the XML declaration, and "valid=..." is not one of them
+##############################################################
+
+[Test]
+title not_wf_XML_099
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_099.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_099.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_099.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_099.ref
+delete test
+[Endtest]
+##############################################################
+# Only "yes" and "no" are permitted as values of "standalone"
+##############################################################
+
+[Test]
+title not_wf_XML_100
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_100.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_100.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_100.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_100.ref
+delete test
+[Endtest]
+##############################################################
+# Space is not permitted in an encoding name
+##############################################################
+
+[Test]
+title not_wf_XML_101
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_101.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_101.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_101.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_101.ref
+delete test
+[Endtest]
+##############################################################
+# Provides an illegal XML version number; spaces are illegal
+##############################################################
+
+[Test]
+title not_wf_XML_102
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_102.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_102.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_102.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_102.ref
+delete test
+[Endtest]
+##############################################################
+# End-tag required for element foo.
+##############################################################
+
+[Test]
+title not_wf_XML_103
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_103.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_103.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_103.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_103.ref
+delete test
+[Endtest]
+##############################################################
+# Internal general parsed entities are only well formed
+# if they match the "content" production.
+##############################################################
+
+[Test]
+title not_wf_XML_104
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_104.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_104.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_104.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_104.ref
+delete test
+[Endtest]
+##############################################################
+# Invalid placement of CDATA section
+##############################################################
+
+[Test]
+title not_wf_XML_105
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_105.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_105.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_105.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_105.ref
+delete test
+[Endtest]
+##############################################################
+# Invalid placement of entity declaration
+##############################################################
+
+[Test]
+title not_wf_XML_106
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_106.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_106.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_106.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_106.ref
+delete test
+[Endtest]
+##############################################################
+# Invalid document type declaration. CDATA alone is invalid
+##############################################################
+
+[Test]
+title not_wf_XML_107
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_107.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_107.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_107.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_107.ref
+delete test
+[Endtest]
+##############################################################
+# No space in '' is neither an XML declaration nor a legal
+# processing instruction target name
+##############################################################
+
+[Test]
+title not_wf_XML_154
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_154.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_154.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_154.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_154.ref
+delete test
+[Endtest]
+##############################################################
+# '' is neither an XML declaration nor a legal
+# processing instruction target name.
+##############################################################
+
+[Test]
+title not_wf_XML_155
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_155.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_155.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_155.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_155.ref
+delete test
+[Endtest]
+##############################################################
+# '' is neither an XML declaration nor a
+# legal processing instruction target name.
+##############################################################
+
+[Test]
+title not_wf_XML_156
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_156.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_156.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_156.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_156.ref
+delete test
+[Endtest]
+##############################################################
+# '' is not a legal processing instruction target name.
+##############################################################
+
+[Test]
+title not_wf_XML_157
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_157.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_157.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_157.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_157.ref
+delete test
+[Endtest]
+##############################################################
+# SGML-ism: "#NOTATION gif" can't have attributes.
+##############################################################
+
+[Test]
+title not_wf_XML_158
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_158.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_158.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_158.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_158.ref
+delete test
+[Endtest]
+##############################################################
+# Uses '&' unquoted in an entity declaration,
+# which is illegal syntax for an entity reference
+##############################################################
+
+[Test]
+title not_wf_XML_159
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_159.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_159.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_159.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_159.ref
+delete test
+[Endtest]
+##############################################################
+# Violates the PEs in Internal Subset
+# WFC by using a PE reference within a declaration.
+##############################################################
+
+[Test]
+title not_wf_XML_160
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_160.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_160.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_160.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_160.ref
+delete test
+[Endtest]
+##############################################################
+# Violates the PEs in Internal Subset
+# WFC by using a PE reference within a declaration.
+##############################################################
+
+[Test]
+title not_wf_XML_161
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_161.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_161.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_161.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_161.ref
+delete test
+[Endtest]
+##############################################################
+# Violates the PEs in Internal Subset
+# WFC by using a PE reference within a declaration.
+##############################################################
+
+[Test]
+title not_wf_XML_162
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_162.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_162.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_162.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_162.ref
+delete test
+[Endtest]
+##############################################################
+# Invalid placement of Parameter entity reference.
+##############################################################
+
+[Test]
+title not_wf_XML_163
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_163.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_163.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_163.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_163.ref
+delete test
+[Endtest]
+##############################################################
+# Invalid placement of Parameter entity reference.
+##############################################################
+
+[Test]
+title not_wf_XML_164
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_164.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_164.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_164.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_164.ref
+delete test
+[Endtest]
+##############################################################
+# Parameter entity declarations must have a space before the '%'.
+##############################################################
+
+[Test]
+title not_wf_XML_165
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_165.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_165.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_165.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_165.ref
+delete test
+[Endtest]
+##############################################################
+# Character FFFE is not legal anywhere in an XML document.
+##############################################################
+
+[Test]
+title not_wf_XML_166
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_166.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_166.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_166.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_166.ref
+delete test
+[Endtest]
+##############################################################
+# Character FFFE is not legal anywhere in an XML document.
+##############################################################
+
+[Test]
+title not_wf_XML_167
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_167.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_167.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_167.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_167.ref
+delete test
+[Endtest]
+##############################################################
+# An unpaired surrogate (D800) is not legal anywhere in an XML document.
+##############################################################
+
+[Test]
+title not_wf_XML_168
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_168.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_168.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_168.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_168.ref
+delete test
+[Endtest]
+##############################################################
+# An unpaired surrogate (DC00) is not legal anywhere in an XML document.
+##############################################################
+
+[Test]
+title not_wf_XML_169
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_169.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_169.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_169.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_169.ref
+delete test
+[Endtest]
+##############################################################
+# Four byte UTF-8 encodings can encode UCS-4 characters
+# which are beyond the range of legal XML characters
+# (and can't be expressed in Unicode surrogate pairs).
+# This document holds such a character
+##############################################################
+
+[Test]
+title not_wf_XML_170
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_170.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_170.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_170.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_170.ref
+delete test
+[Endtest]
+##############################################################
+# Character FFFF is not legal anywhere in an XML document.
+##############################################################
+
+[Test]
+title not_wf_XML_171
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_171.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_171.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_171.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_171.ref
+delete test
+[Endtest]
+##############################################################
+# Character FFFF is not legal anywhere in an XML document.
+##############################################################
+
+[Test]
+title not_wf_XML_172
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_172.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_172.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_172.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_172.ref
+delete test
+[Endtest]
+##############################################################
+# Character FFFF is not legal anywhere in an XML document.
+##############################################################
+
+[Test]
+title not_wf_XML_173
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_173.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_173.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_173.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_173.ref
+delete test
+[Endtest]
+##############################################################
+# Character FFFF is not legal anywhere in an XML document.
+##############################################################
+
+[Test]
+title not_wf_XML_174
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_174.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_174.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_174.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_174.ref
+delete test
+[Endtest]
+##############################################################
+# Character FFFF is not legal anywhere in an XML document.
+##############################################################
+
+[Test]
+title not_wf_XML_175
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_175.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_175.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_175.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_175.ref
+delete test
+[Endtest]
+##############################################################
+# Start tags must have matching end tags.
+##############################################################
+
+[Test]
+title not_wf_XML_176
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_176.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_176.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_176.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_176.ref
+delete test
+[Endtest]
+##############################################################
+# Character FFFF is not legal anywhere in an XML document.
+##############################################################
+
+[Test]
+title not_wf_XML_177
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_177.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_177.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_177.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_177.ref
+delete test
+[Endtest]
+##############################################################
+# Invalid syntax matching double quote is missing.
+##############################################################
+
+[Test]
+title not_wf_XML_178
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_178.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_178.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_178.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_178.ref
+delete test
+[Endtest]
+##############################################################
+# Invalid syntax matching double quote is missing.
+##############################################################
+
+[Test]
+title not_wf_XML_179
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_179.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_179.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_179.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_179.ref
+delete test
+[Endtest]
+##############################################################
+# WFC requires entities to be declared before they are used in an attribute list declaration.
+##############################################################
+
+[Test]
+title not_wf_XML_180
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_180.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_180.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_180.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_180.ref
+delete test
+[Endtest]
+##############################################################
+# Internal parsed entities must match the content
+# production to be well formed.
+##############################################################
+
+[Test]
+title not_wf_XML_181
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_181.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_181.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_181.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_181.ref
+delete test
+[Endtest]
+##############################################################
+# Internal parsed entities must match the content
+# production to be well formed.
+##############################################################
+
+[Test]
+title not_wf_XML_182
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_182.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_182.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_182.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_182.ref
+delete test
+[Endtest]
+##############################################################
+# Mixed content declarations may not include content particles.
+##############################################################
+
+[Test]
+title not_wf_XML_183
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_183.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_183.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_183.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_183.ref
+delete test
+[Endtest]
+##############################################################
+# In mixed content models, element names must not be parenthesized.
+##############################################################
+
+[Test]
+title not_wf_XML_184
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_184.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_184.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_184.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_184.ref
+delete test
+[Endtest]
+##############################################################
+# Tests the Entity Declared WFC. Nonvalidating parser is
+# permitted not to report this WFC violation,
+# since it would need to read an external parameter entity
+# to distinguish it from a violation of the Standalone Declaration
+##############################################################
+
+[Test]
+title not_wf_XML_185
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_185.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_185.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_185.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_185.ref
+delete test
+[Endtest]
+##############################################################
+# Whitespace is required between attribute/value pairs.
+##############################################################
+
+[Test]
+title not_wf_XML_186
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\not_wf\XML_not_wf_186.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_186.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\not_wf\SAX_XML_not_wf_186.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\not_wf\SAX_XML_not_wf_186.ref
+delete test
+[Endtest]
+
\ No newline at end of file
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/SaxWF.cfg
--- a/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/SaxWF.cfg Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/SaxWF.cfg Wed Jun 23 20:27:15 2010 +0530
@@ -1,1354 +1,1355 @@
-##############################################################
-# Test demonstrates an Element Type Declaration with Mixed Content
-##############################################################
-
-[Test]
-title wf_XML_001
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_001.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_001.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_001.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_001.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that whitespace is permitted after the tag name in a Start-tag
-##############################################################
-
-[Test]
-title wf_XML_002
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_002.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_002.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_002.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_002.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that whitespace is permitted after the tag name in an End-tag.
-##############################################################
-
-[Test]
-title wf_XML_003
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_003.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_003.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_003.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_003.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates a valid attribute specification within a Start-tag
-##############################################################
-
-[Test]
-title wf_XML_004
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_004.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_004.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_004.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_004.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates a valid attribute specification within a Start-tag that contains whitespace on both sides of the equal sign
-##############################################################
-
-[Test]
-title wf_XML_005
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_005.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_005.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_005.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_005.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that the AttValue within a Start-tag can use a single quote as a delimter
-##############################################################
-
-[Test]
-title wf_XML_006
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_006.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_006.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_006.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_006.ref
-delete test
-[Endtest]
-##############################################################
-# demonstrates numeric character references can be used for element content
-##############################################################
-
-[Test]
-title wf_XML_007
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_007.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_007.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_007.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_007.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates character references can be used for element content.
-##############################################################
-
-[Test]
-title wf_XML_008
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_008.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_008.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_008.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_008.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that PubidChar can be used for element content
-##############################################################
-
-[Test]
-title wf_XML_009
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_009.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_009.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_009.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_009.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that whitespace is valid after the Attribute in a Start-tag.
-##############################################################
-
-[Test]
-title wf_XML_010
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_010.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_010.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_010.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_010.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates mutliple Attibutes within the Start-tag
-##############################################################
-
-[Test]
-title wf_XML_011
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_011.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_011.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_011.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_011.ref
-delete test
-[Endtest]
-
-##############################################################
-# Uses a legal XML 1.0 name consisting of a single colon character (disallowed by the latest XML Namespaces first version).
-##############################################################
-#REMOVED the testcase since not supported in Libxml2
-#[Test]
-#title wf_XML_012
-#create xmlengtester test
-#test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_012.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_012.txt
-#test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_012.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_012.ref
-#delete test
-#[Endtest]
-
-##############################################################
-# Test demonstrates that the Attribute in a Start-tag can consist of numerals along with special characters.
-##############################################################
-
-[Test]
-title wf_XML_013
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_013.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_013.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_013.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_013.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that all lower case letters are valid for the Attribute in a Start-tag.
-##############################################################
-
-[Test]
-title wf_XML_014
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_014.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_014.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_014.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_014.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that all upper case letters are valid for the Attribute in a Start-tag
-##############################################################
-
-[Test]
-title wf_XML_015
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_015.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_015.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_015.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_015.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that Processing Instructions are valid element content
-##############################################################
-
-[Test]
-title wf_XML_016
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_016.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_016.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_016.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_016.ref
-delete test
-[Endtest]
-##############################################################
-#Test demonstrates that Processing Instructions are valid element content and there can be more than one.
-##############################################################
-
-[Test]
-title wf_XML_017
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_017.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_017.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_017.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_017.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that CDATA sections are valid element content.
-##############################################################
-
-[Test]
-title wf_XML_018
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_018.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_018.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_018.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_018.ref
-delete test
-[Endtest]
-##############################################################
-#Test demonstrates that CDATA sections are valid element content and that ampersands may occur in their literal form
-##############################################################
-
-[Test]
-title wf_XML_019
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_019.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_019.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_019.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_019.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstractes that CDATA sections are valid element content and that
-# everyting between the CDStart and CDEnd is recognized as character data not markup
-##############################################################
-
-[Test]
-title wf_XML_020
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_020.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_020.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_020.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_020.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that comments are valid element content
-##############################################################
-
-[Test]
-title wf_XML_021
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_021.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_021.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_021.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_021.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that comments are valid element content and that all characters
-# before the double-hypen right angle combination are considered part of thecomment.
-##############################################################
-
-[Test]
-title wf_XML_022
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_022.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_022.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_022.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_022.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that Entity References are valid element content.
-##############################################################
-
-[Test]
-title wf_XML_023
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_023.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_023.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_023.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_023.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that Entity References are valid element content and also demonstrates a valid Entity Declaration
-##############################################################
-
-[Test]
-title wf_XML_024
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_024.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_024.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_024.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_024.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates an Element Type Declaration and that the contentspec can be of mixed content
-##############################################################
-
-[Test]
-title wf_XML_025
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_025.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_025.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_025.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_025.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates an Element Type Declaration and that EMPTY is a valid contentspec
-##############################################################
-
-[Test]
-title wf_XML_026
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_026.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_026.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_026.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_026.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates an Element Type Declaration and that ANY is a valid contenspec
-##############################################################
-
-[Test]
-title wf_XML_027
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_027.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_027.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_027.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_027.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates a valid prolog that uses double quotes as delimeters around the VersionNum
-##############################################################
-
-[Test]
-title wf_XML_028
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_028.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_028.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_028.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_028.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates a valid prolog that uses single quotes as delimters around the VersionNum.
-##############################################################
-
-[Test]
-title wf_XML_029
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_029.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_029.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_029.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_029.ref
-delete test
-[Endtest]
-##############################################################
-#Test demonstrates a valid prolog that contains whitespace on both sides of the equal sign in the VersionInfo
-##############################################################
-
-[Test]
-title wf_XML_030
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_030.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_030.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_030.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_030.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates a valid EncodingDecl within the prolog.
-##############################################################
-
-[Test]
-title wf_XML_031
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_031.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_031.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_031.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_031.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates a valid SDDecl within the prolog.
-##############################################################
-
-[Test]
-title wf_XML_032
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_032.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_032.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_032.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_032.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that both a EncodingDecl and SDDecl are valid within the prolog
-##############################################################
-
-[Test]
-title wf_XML_033
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_033.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_033.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_033.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_033.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates the correct syntax for an Empty element tag.
-##############################################################
-
-[Test]
-title wf_XML_034
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_034.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_034.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_034.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_034.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that whitespace is permissible after the name in an Empty element tag
-##############################################################
-
-[Test]
-title wf_XML_035
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_035.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_035.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_035.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_035.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates a valid processing instruction
-##############################################################
-
-[Test]
-title wf_XML_036
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_036.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_036.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_036.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_036.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates a valid comment and that it may appear anywhere in the document including at the end.
-##############################################################
-
-[Test]
-title wf_XML_037
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_037.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_037.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_037.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_037.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates a valid comment and that it may appear anywhere in the document including the beginning
-##############################################################
-
-[Test]
-title wf_XML_038
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_038.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_038.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_038.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_038.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates a valid processing instruction and that it may appear at the beginning of the document
-##############################################################
-
-[Test]
-title wf_XML_039
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_039.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_039.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_039.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_039.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates an Attribute List declaration that uses a StringType as the AttType.
-##############################################################
-
-[Test]
-title wf_XML_040
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_040.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_040.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_040.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_040.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates an Attribute List declaration that uses a StringType
-# as the AttType and also expands the CDATA attribute with a character reference
-##############################################################
-
-[Test]
-title wf_XML_041
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_041.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_041.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_041.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_041.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates an Attribute List declaration that uses a StringType as the AttType
-# and also expands the CDATA attribute with a character reference.
-# The test also shows that the leading zeros in the character reference are ignored
-##############################################################
-
-[Test]
-title wf_XML_042
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_042.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_042.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_042.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_042.ref
-delete test
-[Endtest]
-##############################################################
-# An element's attributes may be declared before its content model; and attribute values may contain newlines.
-##############################################################
-
-[Test]
-title wf_XML_043
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_043.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_043.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_043.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_043.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that the empty-element tag must be use for an elements that are declared EMPTY
-##############################################################
-
-[Test]
-title wf_XML_044
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_044.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_044.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_044.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_044.ref
-delete test
-[Endtest]
-##############################################################
-# Tests whether more than one definition can be provided for the same attribute of a given element type with the first declaration being binding
-##############################################################
-
-[Test]
-title wf_XML_045
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_045.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_045.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_045.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_045.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that when more than one AttlistDecl is
-# provided for a given element type, the contents of all those provided are merged
-##############################################################
-
-[Test]
-title wf_XML_046
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_046.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_046.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_046.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_046.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that extra whitespace is normalized into single space character
-##############################################################
-
-[Test]
-title wf_XML_047
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_047.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_047.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_047.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_047.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that character data is valid element content
-##############################################################
-
-[Test]
-title wf_XML_048
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_048.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_048.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_048.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_048.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that characters outside of normal ascii range can be used as element content
-##############################################################
-
-[Test]
-title wf_XML_049
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_049.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_049.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_049.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_049.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that characters outside of normal ascii range can be used as element content
-##############################################################
-
-[Test]
-title wf_XML_050
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_050.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_050.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_050.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_050.ref
-delete test
-[Endtest]
-##############################################################
-# The document is encoded in UTF-16 and uses some name characters well outside of the normal ASCII range.
-##############################################################
-
-[Test]
-title wf_XML_051
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_051.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_051.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_051.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_051.ref
-delete test
-[Endtest]
-##############################################################
-# The document is encoded in UTF-8 and the text inside the root element uses two non-ASCII characters,
-# encoded in UTF-8 and each of which expands to a Unicode surrogate pair
-##############################################################
-
-[Test]
-title wf_XML_052
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_052.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_052.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_052.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_052.ref
-delete test
-[Endtest]
-##############################################################
-# Tests inclusion of a well-formed internal entity, which holds an element required by the content model
-##############################################################
-
-[Test]
-title wf_XML_053
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_053.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_053.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_053.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_053.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that extra whitespace within Start-tags and End-tags are nomalized into single spaces
-##############################################################
-
-[Test]
-title wf_XML_054
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_054.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_054.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_054.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_054.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that extra whitespace within a processing instruction willnormalized into s single space character
-##############################################################
-
-[Test]
-title wf_XML_055
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_055.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_055.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_055.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_055.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates an Attribute List declaration that uses a StringType as the AttType
-# and also expands the CDATA attribute with a character reference.
-# The test also shows that the leading zeros in the character reference are ignored
-##############################################################
-
-[Test]
-title wf_XML_056
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_056.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_056.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_056.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_056.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates an element content model whose element can occur zero or more times
-##############################################################
-
-[Test]
-title wf_XML_057
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_057.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_057.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_057.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_057.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that extra whitespace be normalized into a single space character in an attribute of type NMTOKENS.
-##############################################################
-
-[Test]
-title wf_XML_058
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_058.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_058.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_058.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_058.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates an Element Type Declaration that uses the contentspec of EMPTY.
-# The element cannot have any contents and must always appear as an empty element in the document.
-# The test also shows an Attribute-list declaration with multiple AttDef's
-##############################################################
-
-[Test]
-title wf_XML_059
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_059.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_059.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_059.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_059.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates the use of decimal Character References within element content.
-##############################################################
-
-[Test]
-title wf_XML_060
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_060.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_060.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_060.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_060.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates the use of decimal Character References within element content.
-##############################################################
-
-[Test]
-title wf_XML_061
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_061.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_061.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_061.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_061.ref
-delete test
-[Endtest]
-##############################################################
-#Test demonstrates the use of hexadecimal Character References within element.
-##############################################################
-
-[Test]
-title wf_XML_062
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_062.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_062.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_062.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_062.ref
-delete test
-[Endtest]
-##############################################################
-# The document is encoded in UTF-8 and the name of the root element type uses non-ASCII characters
-##############################################################
-
-[Test]
-title wf_XML_063
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_063.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_063.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_063.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_063.ref
-delete test
-[Endtest]
-##############################################################
-# Tests in-line handling of two legal character references, which each expand to a Unicode surrogate pair.
-##############################################################
-
-[Test]
-title wf_XML_064
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_064.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_064.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_064.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_064.ref
-delete test
-[Endtest]
-##############################################################
-# Tests ability to define an internal entity which can't legally be expanded (contains an unquoted < ).
-##############################################################
-
-[Test]
-title wf_XML_065
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_065.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_065.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_065.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_065.ref
-delete test
-[Endtest]
-##############################################################
-# Expands a CDATA attribute with a character reference.
-##############################################################
-
-[Test]
-title wf_XML_066
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_066.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_066.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_066.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_066.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates the use of decimal character references within element content
-##############################################################
-
-[Test]
-title wf_XML_067
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_067.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_067.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_067.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_067.ref
-delete test
-[Endtest]
-##############################################################
-# Tests definition of an internal entity holding a carriage return character reference,
-# which must not be normalized before reporting to the application.
-# Line break normalization only occurs when parsing external parsed entities
-##############################################################
-
-[Test]
-title wf_XML_068
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_068.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_068.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_068.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_068.ref
-delete test
-[Endtest]
-##############################################################
-# Verifies that an XML parser will parse a NOTATION declaration;
-# the output phase of this test ensures that it's reported to the application
-##############################################################
-
-[Test]
-title wf_XML_069
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_069.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_069.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_069.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_069.ref
-delete test
-[Endtest]
-##############################################################
-# Verifies that internal parameter entities are correctly expanded within the internal subset
-##############################################################
-
-[Test]
-title wf_XML_070
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_070.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_070.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_070.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_070.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that an AttlistDecl can use ID as the
-# TokenizedType within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl.
-##############################################################
-
-[Test]
-title wf_XML_071
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_071.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_071.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_071.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_071.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that an AttlistDecl can use IDREF as the TokenizedType
-# within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl
-##############################################################
-
-[Test]
-title wf_XML_072
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_072.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_072.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_072.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_072.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that an AttlistDecl can use IDREFS as the TokenizedType within the Attribute
-# type. The test also shows that IMPLIED is a valid DefaultDecl
-##############################################################
-
-[Test]
-title wf_XML_073
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_073.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_073.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_073.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_073.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that an AttlistDecl can use ENTITY as the TokenizedType
-# within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl.
-##############################################################
-
-[Test]
-title wf_XML_074
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_074.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_074.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_074.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_074.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that an AttlistDecl can use ENTITIES as the TokenizedType
-# within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl
-##############################################################
-
-[Test]
-title wf_XML_075
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_075.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_075.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_075.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_075.ref
-delete test
-[Endtest]
-##############################################################
-# Verifies that an XML parser will parse a NOTATION attribute;
-# the output phase of this test ensures that both notations are reported to the application.
-##############################################################
-
-[Test]
-title wf_XML_076
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_076.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_076.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_076.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_076.ref
-delete test
-[Endtest]
-##############################################################
-# Demonstrates that an AttlistDecl can use an EnumeratedType
-# within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl
-##############################################################
-
-[Test]
-title wf_XML_077
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_077.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_077.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_077.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_077.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that an AttlistDecl can use an StringType of
-# CDATA within the Attribute type. The test also shows that REQUIRED is a valid DefaultDecl
-##############################################################
-
-[Test]
-title wf_XML_078
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_078.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_078.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_078.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_078.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that an AttlistDecl can use an StringType of CDATA
-# within the Attribute type. The test also shows that FIXED is a valid DefaultDecl and that a value
-# can be given to the attribute in the Start-tag as well as the AttListDecl
-##############################################################
-
-[Test]
-title wf_XML_079
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_079.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_079.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_079.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_079.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that an AttlistDecl can use an StringType
-# of CDATA within the Attribute type. The test also shows that
-# FIXED is a valid DefaultDecl and that an value can be given to the attribute
-##############################################################
-
-[Test]
-title wf_XML_080
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_080.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_080.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_080.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_080.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates the use of the optional character following a name or list to govern the number
-# of times an element or content particles in the list occur
-##############################################################
-
-[Test]
-title wf_XML_081
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_081.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_081.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_081.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_081.ref
-delete test
-[Endtest]
-##############################################################
-# Tests that an external PE may be defined (but not referenced)
-##############################################################
-
-[Test]
-title wf_XML_082
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_082.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_082.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_082.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_082.ref
-delete test
-[Endtest]
-##############################################################
-# Tests that an external PE may be defined (but not referenced)
-##############################################################
-
-[Test]
-title wf_XML_083
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_083.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_083.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_083.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_083.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that although whitespace can be used to set apart markup for greater readability it is not necessary
-##############################################################
-
-[Test]
-title wf_XML_084
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_084.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_084.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_084.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_084.ref
-delete test
-[Endtest]
-##############################################################
-# Parameter and General entities use different namespaces, so there can be an entity of each type with a given name
-##############################################################
-
-[Test]
-title wf_XML_085
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_085.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_085.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_085.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_085.ref
-delete test
-[Endtest]
-##############################################################
-#Tests whether entities may be declared more than once, with the first declaration being the binding one
-##############################################################
-
-[Test]
-title wf_XML_086
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_086.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_086.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_086.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_086.ref
-delete test
-[Endtest]
-##############################################################
-# Tests whether character references in internal entities are expanded early enough,
-# by relying on correct handling to make the entity be well formed
-##############################################################
-
-[Test]
-title wf_XML_087
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_087.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_087.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_087.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_087.ref
-delete test
-[Endtest]
-##############################################################
-# Tests whether entity references in internal entities are expanded late enough,
-# by relying on correct handling to make the expanded text be valid.
-# (If it's expanded too early, the entity will parse as an element that's not valid in that context.)
-##############################################################
-
-[Test]
-title wf_XML_088
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_088.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_088.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_088.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_088.ref
-delete test
-[Endtest]
-##############################################################
-# Tests entity expansion of three legal character references, which each expand to a Unicode surrogate pair.
-##############################################################
-
-[Test]
-title wf_XML_089
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_089.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_089.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_089.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_089.ref
-delete test
-[Endtest]
-##############################################################
-# Verifies that an XML parser will parse a NOTATION attribute; the output phase of this test ensures that the notation is reported to the application
-##############################################################
-
-[Test]
-title wf_XML_090
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_090.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_090.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_090.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_090.ref
-delete test
-[Endtest]
-##############################################################
-# Verifies that an XML parser will parse an ENTITY attribute;
-# the output phase of this test ensures that the notation is reported to the application,
-# and for validating parsers it further tests that the entity is so reported
-##############################################################
-
-[Test]
-title wf_XML_091
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_091.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_091.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_091.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_091.ref
-delete test
-[Endtest]
-##############################################################
-# Test demostrates that extra whitespace is normalized into a single space character.
-##############################################################
-
-[Test]
-title wf_XML_092
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_092.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_092.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_092.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_092.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that extra whitespace is not intended for inclusion in the delivered version of the document.
-##############################################################
-
-[Test]
-title wf_XML_093
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_093.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_093.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_093.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_093.ref
-delete test
-[Endtest]
-##############################################################
-# Attribute defaults with a DTD have special parsing rules,
-# different from other strings. That means that characters
-# found there may look like an undefined parameter entity reference
-# "within a markup declaration", but they aren't ... so they can't
-# be violating the PEs in Internal Subset WFC.
-##############################################################
-
-[Test]
-title wf_XML_094
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_094.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_094.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_094.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_094.ref
-delete test
-[Endtest]
-##############################################################
-# Basically an output test, this requires extra whitespace to be normalized into a single space character in an attribute of type NMTOKENS
-##############################################################
-
-[Test]
-title wf_XML_095
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_095.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_095.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_095.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_095.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that extra whitespace is normalized into a single space character in an attribute of type NMTOKENS.
-##############################################################
-
-[Test]
-title wf_XML_096
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_096.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_096.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_096.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_096.ref
-delete test
-[Endtest]
-
-##############################################################
-# Basically an output test, this tests whether an externally defined attribute declaration
-# (with a default) takes proper precedence over a subsequent internal declaration
-##############################################################
-#REMOVED the testcase since not supported in Libxml2
-#[Test]
-#title wf_XML_097
-#create xmlengtester test
-#test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_097.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_097.txt
-#test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_097.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_097.ref
-#delete test
-#[Endtest]
-
-##############################################################
-# Test demonstrates that extra whitespace within a processing instruction is converted into a single space character
-##############################################################
-
-[Test]
-title wf_XML_098
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_098.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_098.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_098.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_098.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates the name of the encoding can be composed of lowercase characters
-##############################################################
-
-[Test]
-title wf_XML_099
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_099.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_099.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_099.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_099.ref
-delete test
-[Endtest]
-##############################################################
-# Makes sure that PUBLIC identifiers may have some strange characters.
-# NOTc: The XML editors have said that the XML specification errata
-# will specify that parameter entity expansion does not occur in PUBLIC
-# identifiers, so that the '%' character will not flag a malformed parameter entity reference.
-##############################################################
-
-[Test]
-title wf_XML_100
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_100.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_100.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_100.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_100.ref
-delete test
-[Endtest]
-##############################################################
-# This tests whether entity expansion is (incorrectly)
-# done while processing entity declarations; if it is, the entity value literal will terminate prematurely
-##############################################################
-
-[Test]
-title wf_XML_101
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_101.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_101.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_101.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_101.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that a CDATA attribute can pass a double quote as its value
-##############################################################
-
-[Test]
-title wf_XML_102
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_102.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_102.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_102.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_102.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that an attribute can pass a less than sign as its value.
-##############################################################
-
-[Test]
-title wf_XML_103
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_103.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_103.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_103.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_103.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that extra whitespace within an Attribute of a Start-tag is normalized to a single space character
-##############################################################
-
-[Test]
-title wf_XML_104
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_104.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_104.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_104.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_104.ref
-delete test
-[Endtest]
-##############################################################
-# Basically an output test, this requires a CDATA attribute with a tab character to be passed through as one space
-##############################################################
-
-[Test]
-title wf_XML_105
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_105.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_105.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_105.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_105.ref
-delete test
-[Endtest]
-##############################################################
-# Basically an output test, this requires a CDATA attribute with a newline character to be passed through as one space.
-##############################################################
-
-[Test]
-title wf_XML_106
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_106.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_106.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_106.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_106.ref
-delete test
-[Endtest]
-##############################################################
-# Basically an output test, this requires a CDATA attribute with a return character to be passed through as one space
-##############################################################
-
-[Test]
-title wf_XML_107
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_107.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_107.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_107.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_107.ref
-delete test
-[Endtest]
-##############################################################
-# This tests normalization of end-of-line characters (CRLF) within entities to LF, primarily as an output test
-##############################################################
-
-[Test]
-title wf_XML_108
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_108.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_108.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_108.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_108.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that an attribute can have a null value.
-##############################################################
-
-[Test]
-title wf_XML_109
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_109.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_109.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_109.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_109.ref
-delete test
-[Endtest]
-##############################################################
-# Basically an output test, this requires that a CDATA attribute with a CRLF be normalized to one space
-##############################################################
-
-[Test]
-title wf_XML_110
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_110.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_110.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_110.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_110.ref
-delete test
-[Endtest]
-##############################################################
-# Character references expanding to spaces doesn't affect treatment of attributes
-##############################################################
-
-[Test]
-title wf_XML_111
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_111.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_111.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_111.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_111.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates shows the use of content particles within the element content
-##############################################################
-
-[Test]
-title wf_XML_112
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_112.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_112.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_112.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_112.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that it is not an error to have attributes declared for an element not itself declared.
-##############################################################
-
-[Test]
-title wf_XML_113
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_113.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_113.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_113.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_113.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that all text within a valid CDATA section is considered text and not recognized as markup
-##############################################################
-
-[Test]
-title wf_XML_114
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_114.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_114.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_114.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_114.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that an entity reference is processed by recursively processing the replacement text of the entity
-##############################################################
-
-[Test]
-title wf_XML_115
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_115.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_115.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_115.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_115.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that a line break within CDATA will be normalized
-##############################################################
-
-[Test]
-title wf_XML_116
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_116.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_116.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_116.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_116.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that entity expansion is done while processing entity declarations
-##############################################################
-
-[Test]
-title wf_XML_117
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_117.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_117.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_117.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_117.ref
-delete test
-[Endtest]
-##############################################################
-# Test demonstrates that entity expansion is done while processing entity declarations
-##############################################################
-
-[Test]
-title wf_XML_118
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_118.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_118.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_118.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_118.ref
-delete test
-[Endtest]
-##############################################################
-# Comments may contain any legal XML characters; only the string "--" is disallowed
-##############################################################
-
-[Test]
-title wf_XML_119
-create xmlengtester test
-test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_119.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_119.txt
-test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_119.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_119.ref
-delete test
-[Endtest]
+##############################################################
+# Test demonstrates an Element Type Declaration with Mixed Content
+##############################################################
+
+[Test]
+title wf_XML_001
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_001.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_001.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_001.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_001.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that whitespace is permitted after the tag name in a Start-tag
+##############################################################
+
+[Test]
+title wf_XML_002
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_002.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_002.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_002.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_002.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that whitespace is permitted after the tag name in an End-tag.
+##############################################################
+
+[Test]
+title wf_XML_003
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_003.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_003.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_003.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_003.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates a valid attribute specification within a Start-tag
+##############################################################
+
+[Test]
+title wf_XML_004
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_004.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_004.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_004.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_004.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates a valid attribute specification within a Start-tag that contains whitespace on both sides of the equal sign
+##############################################################
+
+[Test]
+title wf_XML_005
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_005.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_005.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_005.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_005.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that the AttValue within a Start-tag can use a single quote as a delimter
+##############################################################
+
+[Test]
+title wf_XML_006
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_006.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_006.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_006.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_006.ref
+delete test
+[Endtest]
+##############################################################
+# demonstrates numeric character references can be used for element content
+##############################################################
+
+[Test]
+title wf_XML_007
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_007.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_007.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_007.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_007.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates character references can be used for element content.
+##############################################################
+
+[Test]
+title wf_XML_008
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_008.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_008.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_008.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_008.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that PubidChar can be used for element content
+##############################################################
+
+[Test]
+title wf_XML_009
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_009.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_009.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_009.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_009.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that whitespace is valid after the Attribute in a Start-tag.
+##############################################################
+
+[Test]
+title wf_XML_010
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_010.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_010.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_010.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_010.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates mutliple Attibutes within the Start-tag
+##############################################################
+
+[Test]
+title wf_XML_011
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_011.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_011.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_011.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_011.ref
+delete test
+[Endtest]
+
+##############################################################
+# Uses a legal XML 1.0 name consisting of a single colon character (disallowed by the latest XML Namespaces first version).
+##############################################################
+#REMOVED the testcase since not supported in Libxml2
+#[Test]
+#title wf_XML_012
+#create xmlengtester test
+#test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_012.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_012.txt
+#test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_012.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_012.ref
+#delete test
+#[Endtest]
+
+##############################################################
+# Test demonstrates that the Attribute in a Start-tag can consist of numerals along with special characters.
+##############################################################
+
+[Test]
+title wf_XML_013
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_013.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_013.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_013.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_013.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that all lower case letters are valid for the Attribute in a Start-tag.
+##############################################################
+
+[Test]
+title wf_XML_014
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_014.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_014.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_014.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_014.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that all upper case letters are valid for the Attribute in a Start-tag
+##############################################################
+
+[Test]
+title wf_XML_015
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_015.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_015.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_015.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_015.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that Processing Instructions are valid element content
+##############################################################
+
+[Test]
+title wf_XML_016
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_016.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_016.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_016.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_016.ref
+delete test
+[Endtest]
+##############################################################
+#Test demonstrates that Processing Instructions are valid element content and there can be more than one.
+##############################################################
+
+[Test]
+title wf_XML_017
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_017.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_017.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_017.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_017.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that CDATA sections are valid element content.
+##############################################################
+
+[Test]
+title wf_XML_018
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_018.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_018.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_018.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_018.ref
+delete test
+[Endtest]
+##############################################################
+#Test demonstrates that CDATA sections are valid element content and that ampersands may occur in their literal form
+##############################################################
+
+[Test]
+title wf_XML_019
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_019.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_019.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_019.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_019.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstractes that CDATA sections are valid element content and that
+# everyting between the CDStart and CDEnd is recognized as character data not markup
+##############################################################
+
+[Test]
+title wf_XML_020
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_020.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_020.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_020.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_020.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that comments are valid element content
+##############################################################
+
+[Test]
+title wf_XML_021
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_021.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_021.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_021.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_021.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that comments are valid element content and that all characters
+# before the double-hypen right angle combination are considered part of thecomment.
+##############################################################
+
+[Test]
+title wf_XML_022
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_022.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_022.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_022.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_022.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that Entity References are valid element content.
+##############################################################
+
+[Test]
+title wf_XML_023
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_023.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_023.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_023.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_023.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that Entity References are valid element content and also demonstrates a valid Entity Declaration
+##############################################################
+
+[Test]
+title wf_XML_024
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_024.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_024.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_024.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_024.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates an Element Type Declaration and that the contentspec can be of mixed content
+##############################################################
+
+[Test]
+title wf_XML_025
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_025.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_025.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_025.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_025.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates an Element Type Declaration and that EMPTY is a valid contentspec
+##############################################################
+
+[Test]
+title wf_XML_026
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_026.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_026.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_026.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_026.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates an Element Type Declaration and that ANY is a valid contenspec
+##############################################################
+
+[Test]
+title wf_XML_027
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_027.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_027.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_027.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_027.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates a valid prolog that uses double quotes as delimeters around the VersionNum
+##############################################################
+
+[Test]
+title wf_XML_028
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_028.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_028.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_028.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_028.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates a valid prolog that uses single quotes as delimters around the VersionNum.
+##############################################################
+
+[Test]
+title wf_XML_029
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_029.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_029.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_029.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_029.ref
+delete test
+[Endtest]
+##############################################################
+#Test demonstrates a valid prolog that contains whitespace on both sides of the equal sign in the VersionInfo
+##############################################################
+
+[Test]
+title wf_XML_030
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_030.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_030.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_030.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_030.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates a valid EncodingDecl within the prolog.
+##############################################################
+
+[Test]
+title wf_XML_031
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_031.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_031.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_031.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_031.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates a valid SDDecl within the prolog.
+##############################################################
+
+[Test]
+title wf_XML_032
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_032.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_032.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_032.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_032.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that both a EncodingDecl and SDDecl are valid within the prolog
+##############################################################
+
+[Test]
+title wf_XML_033
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_033.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_033.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_033.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_033.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates the correct syntax for an Empty element tag.
+##############################################################
+
+[Test]
+title wf_XML_034
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_034.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_034.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_034.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_034.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that whitespace is permissible after the name in an Empty element tag
+##############################################################
+
+[Test]
+title wf_XML_035
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_035.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_035.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_035.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_035.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates a valid processing instruction
+##############################################################
+
+[Test]
+title wf_XML_036
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_036.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_036.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_036.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_036.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates a valid comment and that it may appear anywhere in the document including at the end.
+##############################################################
+
+[Test]
+title wf_XML_037
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_037.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_037.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_037.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_037.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates a valid comment and that it may appear anywhere in the document including the beginning
+##############################################################
+
+[Test]
+title wf_XML_038
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_038.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_038.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_038.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_038.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates a valid processing instruction and that it may appear at the beginning of the document
+##############################################################
+
+[Test]
+title wf_XML_039
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_039.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_039.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_039.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_039.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates an Attribute List declaration that uses a StringType as the AttType.
+##############################################################
+
+[Test]
+title wf_XML_040
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_040.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_040.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_040.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_040.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates an Attribute List declaration that uses a StringType
+# as the AttType and also expands the CDATA attribute with a character reference
+##############################################################
+
+[Test]
+title wf_XML_041
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_041.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_041.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_041.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_041.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates an Attribute List declaration that uses a StringType as the AttType
+# and also expands the CDATA attribute with a character reference.
+# The test also shows that the leading zeros in the character reference are ignored
+##############################################################
+
+[Test]
+title wf_XML_042
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_042.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_042.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_042.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_042.ref
+delete test
+[Endtest]
+##############################################################
+# An element's attributes may be declared before its content model; and attribute values may contain newlines.
+##############################################################
+
+[Test]
+title wf_XML_043
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_043.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_043.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_043.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_043.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that the empty-element tag must be use for an elements that are declared EMPTY
+##############################################################
+
+[Test]
+title wf_XML_044
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_044.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_044.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_044.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_044.ref
+delete test
+[Endtest]
+##############################################################
+# Tests whether more than one definition can be provided for the same attribute of a given element type with the first declaration being binding
+##############################################################
+
+[Test]
+title wf_XML_045
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_045.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_045.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_045.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_045.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that when more than one AttlistDecl is
+# provided for a given element type, the contents of all those provided are merged
+##############################################################
+
+[Test]
+title wf_XML_046
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_046.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_046.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_046.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_046.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that extra whitespace is normalized into single space character
+##############################################################
+
+[Test]
+title wf_XML_047
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_047.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_047.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_047.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_047.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that character data is valid element content
+##############################################################
+
+[Test]
+title wf_XML_048
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_048.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_048.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_048.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_048.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that characters outside of normal ascii range can be used as element content
+##############################################################
+
+[Test]
+title wf_XML_049
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_049.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_049.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_049.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_049.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that characters outside of normal ascii range can be used as element content
+##############################################################
+
+[Test]
+title wf_XML_050
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_050.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_050.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_050.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_050.ref
+delete test
+[Endtest]
+##############################################################
+# The document is encoded in UTF-16 and uses some name characters well outside of the normal ASCII range.
+##############################################################
+
+[Test]
+title wf_XML_051
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_051.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_051.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_051.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_051.ref
+delete test
+[Endtest]
+##############################################################
+# The document is encoded in UTF-8 and the text inside the root element uses two non-ASCII characters,
+# encoded in UTF-8 and each of which expands to a Unicode surrogate pair
+##############################################################
+
+[Test]
+title wf_XML_052
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_052.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_052.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_052.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_052.ref
+delete test
+[Endtest]
+##############################################################
+# Tests inclusion of a well-formed internal entity, which holds an element required by the content model
+##############################################################
+
+[Test]
+title wf_XML_053
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_053.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_053.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_053.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_053.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that extra whitespace within Start-tags and End-tags are nomalized into single spaces
+##############################################################
+
+[Test]
+title wf_XML_054
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_054.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_054.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_054.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_054.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that extra whitespace within a processing instruction willnormalized into s single space character
+##############################################################
+
+[Test]
+title wf_XML_055
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_055.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_055.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_055.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_055.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates an Attribute List declaration that uses a StringType as the AttType
+# and also expands the CDATA attribute with a character reference.
+# The test also shows that the leading zeros in the character reference are ignored
+##############################################################
+
+[Test]
+title wf_XML_056
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_056.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_056.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_056.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_056.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates an element content model whose element can occur zero or more times
+##############################################################
+
+[Test]
+title wf_XML_057
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_057.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_057.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_057.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_057.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that extra whitespace be normalized into a single space character in an attribute of type NMTOKENS.
+##############################################################
+
+[Test]
+title wf_XML_058
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_058.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_058.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_058.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_058.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates an Element Type Declaration that uses the contentspec of EMPTY.
+# The element cannot have any contents and must always appear as an empty element in the document.
+# The test also shows an Attribute-list declaration with multiple AttDef's
+##############################################################
+
+[Test]
+title wf_XML_059
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_059.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_059.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_059.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_059.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates the use of decimal Character References within element content.
+##############################################################
+
+[Test]
+title wf_XML_060
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_060.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_060.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_060.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_060.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates the use of decimal Character References within element content.
+##############################################################
+
+[Test]
+title wf_XML_061
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_061.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_061.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_061.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_061.ref
+delete test
+[Endtest]
+##############################################################
+#Test demonstrates the use of hexadecimal Character References within element.
+##############################################################
+
+[Test]
+title wf_XML_062
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_062.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_062.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_062.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_062.ref
+delete test
+[Endtest]
+##############################################################
+# The document is encoded in UTF-8 and the name of the root element type uses non-ASCII characters
+##############################################################
+
+[Test]
+title wf_XML_063
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_063.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_063.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_063.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_063.ref
+delete test
+[Endtest]
+##############################################################
+# Tests in-line handling of two legal character references, which each expand to a Unicode surrogate pair.
+##############################################################
+
+[Test]
+title wf_XML_064
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_064.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_064.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_064.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_064.ref
+delete test
+[Endtest]
+##############################################################
+# Tests ability to define an internal entity which can't legally be expanded (contains an unquoted < ).
+##############################################################
+
+[Test]
+title wf_XML_065
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_065.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_065.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_065.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_065.ref
+delete test
+[Endtest]
+##############################################################
+# Expands a CDATA attribute with a character reference.
+##############################################################
+
+[Test]
+title wf_XML_066
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_066.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_066.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_066.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_066.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates the use of decimal character references within element content
+##############################################################
+
+[Test]
+title wf_XML_067
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_067.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_067.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_067.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_067.ref
+delete test
+[Endtest]
+##############################################################
+# Tests definition of an internal entity holding a carriage return character reference,
+# which must not be normalized before reporting to the application.
+# Line break normalization only occurs when parsing external parsed entities
+##############################################################
+
+[Test]
+title wf_XML_068
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_068.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_068.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_068.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_068.ref
+delete test
+[Endtest]
+##############################################################
+# Verifies that an XML parser will parse a NOTATION declaration;
+# the output phase of this test ensures that it's reported to the application
+##############################################################
+
+[Test]
+title wf_XML_069
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_069.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_069.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_069.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_069.ref
+delete test
+[Endtest]
+##############################################################
+# Verifies that internal parameter entities are correctly expanded within the internal subset
+##############################################################
+
+[Test]
+title wf_XML_070
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_070.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_070.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_070.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_070.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that an AttlistDecl can use ID as the
+# TokenizedType within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl.
+##############################################################
+
+[Test]
+title wf_XML_071
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_071.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_071.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_071.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_071.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that an AttlistDecl can use IDREF as the TokenizedType
+# within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl
+##############################################################
+
+[Test]
+title wf_XML_072
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_072.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_072.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_072.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_072.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that an AttlistDecl can use IDREFS as the TokenizedType within the Attribute
+# type. The test also shows that IMPLIED is a valid DefaultDecl
+##############################################################
+
+[Test]
+title wf_XML_073
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_073.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_073.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_073.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_073.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that an AttlistDecl can use ENTITY as the TokenizedType
+# within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl.
+##############################################################
+
+[Test]
+title wf_XML_074
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_074.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_074.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_074.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_074.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that an AttlistDecl can use ENTITIES as the TokenizedType
+# within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl
+##############################################################
+
+[Test]
+title wf_XML_075
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_075.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_075.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_075.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_075.ref
+delete test
+[Endtest]
+##############################################################
+# Verifies that an XML parser will parse a NOTATION attribute;
+# the output phase of this test ensures that both notations are reported to the application.
+##############################################################
+
+[Test]
+title wf_XML_076
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_076.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_076.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_076.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_076.ref
+delete test
+[Endtest]
+##############################################################
+# Demonstrates that an AttlistDecl can use an EnumeratedType
+# within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl
+##############################################################
+
+[Test]
+title wf_XML_077
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_077.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_077.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_077.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_077.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that an AttlistDecl can use an StringType of
+# CDATA within the Attribute type. The test also shows that REQUIRED is a valid DefaultDecl
+##############################################################
+
+[Test]
+title wf_XML_078
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_078.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_078.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_078.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_078.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that an AttlistDecl can use an StringType of CDATA
+# within the Attribute type. The test also shows that FIXED is a valid DefaultDecl and that a value
+# can be given to the attribute in the Start-tag as well as the AttListDecl
+##############################################################
+
+[Test]
+title wf_XML_079
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_079.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_079.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_079.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_079.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that an AttlistDecl can use an StringType
+# of CDATA within the Attribute type. The test also shows that
+# FIXED is a valid DefaultDecl and that an value can be given to the attribute
+##############################################################
+
+[Test]
+title wf_XML_080
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_080.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_080.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_080.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_080.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates the use of the optional character following a name or list to govern the number
+# of times an element or content particles in the list occur
+##############################################################
+
+[Test]
+title wf_XML_081
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_081.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_081.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_081.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_081.ref
+delete test
+[Endtest]
+##############################################################
+# Tests that an external PE may be defined (but not referenced)
+##############################################################
+
+[Test]
+title wf_XML_082
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_082.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_082.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_082.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_082.ref
+delete test
+[Endtest]
+##############################################################
+# Tests that an external PE may be defined (but not referenced)
+##############################################################
+
+[Test]
+title wf_XML_083
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_083.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_083.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_083.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_083.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that although whitespace can be used to set apart markup for greater readability it is not necessary
+##############################################################
+
+[Test]
+title wf_XML_084
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_084.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_084.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_084.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_084.ref
+delete test
+[Endtest]
+##############################################################
+# Parameter and General entities use different namespaces, so there can be an entity of each type with a given name
+##############################################################
+
+[Test]
+title wf_XML_085
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_085.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_085.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_085.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_085.ref
+delete test
+[Endtest]
+##############################################################
+#Tests whether entities may be declared more than once, with the first declaration being the binding one
+##############################################################
+
+[Test]
+title wf_XML_086
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_086.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_086.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_086.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_086.ref
+delete test
+[Endtest]
+##############################################################
+# Tests whether character references in internal entities are expanded early enough,
+# by relying on correct handling to make the entity be well formed
+##############################################################
+
+[Test]
+title wf_XML_087
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_087.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_087.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_087.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_087.ref
+delete test
+[Endtest]
+##############################################################
+# Tests whether entity references in internal entities are expanded late enough,
+# by relying on correct handling to make the expanded text be valid.
+# (If it's expanded too early, the entity will parse as an element that's not valid in that context.)
+##############################################################
+
+[Test]
+title wf_XML_088
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_088.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_088.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_088.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_088.ref
+delete test
+[Endtest]
+##############################################################
+# Tests entity expansion of three legal character references, which each expand to a Unicode surrogate pair.
+##############################################################
+
+[Test]
+title wf_XML_089
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_089.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_089.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_089.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_089.ref
+delete test
+[Endtest]
+##############################################################
+# Verifies that an XML parser will parse a NOTATION attribute; the output phase of this test ensures that the notation is reported to the application
+##############################################################
+
+[Test]
+title wf_XML_090
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_090.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_090.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_090.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_090.ref
+delete test
+[Endtest]
+##############################################################
+# Verifies that an XML parser will parse an ENTITY attribute;
+# the output phase of this test ensures that the notation is reported to the application,
+# and for validating parsers it further tests that the entity is so reported
+##############################################################
+
+[Test]
+title wf_XML_091
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_091.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_091.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_091.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_091.ref
+delete test
+[Endtest]
+##############################################################
+# Test demostrates that extra whitespace is normalized into a single space character.
+##############################################################
+
+[Test]
+title wf_XML_092
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_092.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_092.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_092.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_092.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that extra whitespace is not intended for inclusion in the delivered version of the document.
+##############################################################
+
+[Test]
+title wf_XML_093
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_093.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_093.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_093.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_093.ref
+delete test
+[Endtest]
+##############################################################
+# Attribute defaults with a DTD have special parsing rules,
+# different from other strings. That means that characters
+# found there may look like an undefined parameter entity reference
+# "within a markup declaration", but they aren't ... so they can't
+# be violating the PEs in Internal Subset WFC.
+##############################################################
+
+[Test]
+title wf_XML_094
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_094.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_094.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_094.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_094.ref
+delete test
+[Endtest]
+##############################################################
+# Basically an output test, this requires extra whitespace to be normalized into a single space character in an attribute of type NMTOKENS
+##############################################################
+
+[Test]
+title wf_XML_095
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_095.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_095.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_095.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_095.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that extra whitespace is normalized into a single space character in an attribute of type NMTOKENS.
+##############################################################
+
+[Test]
+title wf_XML_096
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_096.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_096.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_096.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_096.ref
+delete test
+[Endtest]
+
+##############################################################
+# Basically an output test, this tests whether an externally defined attribute declaration
+# (with a default) takes proper precedence over a subsequent internal declaration
+##############################################################
+#REMOVED the testcase since not supported in Libxml2
+#[Test]
+#title wf_XML_097
+#create xmlengtester test
+#test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_097.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_097.txt
+#test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_097.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_097.ref
+#delete test
+#[Endtest]
+
+##############################################################
+# Test demonstrates that extra whitespace within a processing instruction is converted into a single space character
+##############################################################
+
+[Test]
+title wf_XML_098
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_098.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_098.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_098.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_098.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates the name of the encoding can be composed of lowercase characters
+##############################################################
+
+[Test]
+title wf_XML_099
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_099.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_099.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_099.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_099.ref
+delete test
+[Endtest]
+##############################################################
+# Makes sure that PUBLIC identifiers may have some strange characters.
+# NOTc: The XML editors have said that the XML specification errata
+# will specify that parameter entity expansion does not occur in PUBLIC
+# identifiers, so that the '%' character will not flag a malformed parameter entity reference.
+##############################################################
+
+[Test]
+title wf_XML_100
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_100.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_100.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_100.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_100.ref
+delete test
+[Endtest]
+##############################################################
+# This tests whether entity expansion is (incorrectly)
+# done while processing entity declarations; if it is, the entity value literal will terminate prematurely
+##############################################################
+
+[Test]
+title wf_XML_101
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_101.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_101.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_101.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_101.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that a CDATA attribute can pass a double quote as its value
+##############################################################
+
+[Test]
+title wf_XML_102
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_102.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_102.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_102.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_102.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that an attribute can pass a less than sign as its value.
+##############################################################
+
+[Test]
+title wf_XML_103
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_103.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_103.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_103.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_103.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that extra whitespace within an Attribute of a Start-tag is normalized to a single space character
+##############################################################
+
+[Test]
+title wf_XML_104
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_104.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_104.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_104.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_104.ref
+delete test
+[Endtest]
+##############################################################
+# Basically an output test, this requires a CDATA attribute with a tab character to be passed through as one space
+##############################################################
+
+[Test]
+title wf_XML_105
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_105.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_105.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_105.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_105.ref
+delete test
+[Endtest]
+##############################################################
+# Basically an output test, this requires a CDATA attribute with a newline character to be passed through as one space.
+##############################################################
+
+[Test]
+title wf_XML_106
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_106.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_106.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_106.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_106.ref
+delete test
+[Endtest]
+##############################################################
+# Basically an output test, this requires a CDATA attribute with a return character to be passed through as one space
+##############################################################
+
+[Test]
+title wf_XML_107
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_107.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_107.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_107.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_107.ref
+delete test
+[Endtest]
+##############################################################
+# This tests normalization of end-of-line characters (CRLF) within entities to LF, primarily as an output test
+##############################################################
+
+[Test]
+title wf_XML_108
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_108.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_108.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_108.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_108.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that an attribute can have a null value.
+##############################################################
+
+[Test]
+title wf_XML_109
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_109.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_109.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_109.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_109.ref
+delete test
+[Endtest]
+##############################################################
+# Basically an output test, this requires that a CDATA attribute with a CRLF be normalized to one space
+##############################################################
+
+[Test]
+title wf_XML_110
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_110.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_110.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_110.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_110.ref
+delete test
+[Endtest]
+##############################################################
+# Character references expanding to spaces doesn't affect treatment of attributes
+##############################################################
+
+[Test]
+title wf_XML_111
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_111.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_111.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_111.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_111.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates shows the use of content particles within the element content
+##############################################################
+
+[Test]
+title wf_XML_112
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_112.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_112.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_112.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_112.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that it is not an error to have attributes declared for an element not itself declared.
+##############################################################
+
+[Test]
+title wf_XML_113
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_113.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_113.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_113.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_113.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that all text within a valid CDATA section is considered text and not recognized as markup
+##############################################################
+
+[Test]
+title wf_XML_114
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_114.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_114.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_114.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_114.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that an entity reference is processed by recursively processing the replacement text of the entity
+##############################################################
+
+[Test]
+title wf_XML_115
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_115.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_115.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_115.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_115.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that a line break within CDATA will be normalized
+##############################################################
+
+[Test]
+title wf_XML_116
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_116.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_116.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_116.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_116.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that entity expansion is done while processing entity declarations
+##############################################################
+
+[Test]
+title wf_XML_117
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_117.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_117.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_117.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_117.ref
+delete test
+[Endtest]
+##############################################################
+# Test demonstrates that entity expansion is done while processing entity declarations
+##############################################################
+
+[Test]
+title wf_XML_118
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_118.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_118.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_118.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_118.ref
+delete test
+[Endtest]
+##############################################################
+# Comments may contain any legal XML characters; only the string "--" is disallowed
+##############################################################
+
+[Test]
+title wf_XML_119
+create xmlengtester test
+test SAXParseFile c:\testing\data\xmleng\efute\input\xmlconf\xmltest\wf\XML_wf_119.xml c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_119.txt
+test CompareFiles c:\testing\data\xmleng\efute\output\xmlconf\xmltest\wf\SAX_XML_wf_119.txt c:\testing\data\xmleng\efute\pattern\xmlconf\xmltest\wf\SAX_XML_wf_119.ref
+delete test
+[Endtest]
+
\ No newline at end of file
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/Serializer.cfg
--- a/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/Serializer.cfg Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/Serializer.cfg Wed Jun 23 20:27:15 2010 +0530
@@ -1,664 +1,665 @@
-
-[Test]
-title SerDefault-BufferConvinience
-create xmlengtester test
-test TestSerializeBufferConvinience default 1 c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-BufferConvinience1.out c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-BufferConvinience2.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-BufferConvinience1.out c:\testing\data\xmleng\efute\pattern\serializer\correct\default\SerDefault-serialized.ref
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-BufferConvinience2.out c:\testing\data\xmleng\efute\pattern\serializer\correct\default\SerDefault-serialized.ref
-delete test
-[Endtest]
-
-
-[Test]
-title SerDefault-FileConvinience
-create xmlengtester test
-test TestSerializeFileConvinience default 1 c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-FileConvinience1.out c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-FileConvinience2.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-FileConvinience1.out c:\testing\data\xmleng\efute\pattern\serializer\correct\default\SerDefault-serialized.ref
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-FileConvinience2.out c:\testing\data\xmleng\efute\pattern\serializer\correct\default\SerDefault-serialized.ref
-delete test
-[Endtest]
-
-
-[Test]
-title SerDefault-MultiBuffer
-create xmlengtester test
-test TestMultipleSerializeToBuffer default 1 c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-MultiBuffer.out
-delete test
-[Endtest]
-
-
-[Test]
-title SerDefault-Serialize-ContHavingChilds
-create xmlengtester test
-test TestSerializeChilds default c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-ContHavingChilds.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-ContHavingChilds.out c:\testing\data\xmleng\efute\pattern\serializer\correct\default\SerDefault-ContHavingChilds.ref
-delete test
-[Endtest]
-
-
-
-[Test]
-title SerDefault-SerializeL-File1
-create xmlengtester test
-test TestSerializeFile1 default 1 c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SerializeL-File1.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SerializeL-File1.out c:\testing\data\xmleng\efute\pattern\serializer\correct\default\SerDefault-serialized.ref
-delete test
-[Endtest]
-
-
-
-[Test]
-title SerDefault-SerializeL-File2
-create xmlengtester test
-test TestSerializeFile2 default 1 c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SerializeL-File2.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SerializeL-File2.out c:\testing\data\xmleng\efute\pattern\serializer\correct\default\SerDefault-serialized.ref
-delete test
-[Endtest]
-
-[Test]
-title SerDefault-SerializeL-File3
-create xmlengtester test
-test TestSerializeFile3 default 1 c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SerializeL-File3.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SerializeL-File3.out c:\testing\data\xmleng\efute\pattern\serializer\correct\default\SerDefault-serialized.ref
-delete test
-[Endtest]
-
-[Test]
-title SerDefault-SerializeL-Buffer
-create xmlengtester test
-test TestSerializeBuffer default 1 c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SerializeL-Buffer.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SerializeL-Buffer.out c:\testing\data\xmleng\efute\pattern\serializer\correct\default\SerDefault-serialized.ref
-delete test
-[Endtest]
-
-[Test]
-title SerDefault-SerializeFileBuffer
-create xmlengtester test
-test TestSerializeFileBuffer default c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SerializeFileBuffer.out
-delete test
-[Endtest]
-
-
-
-[Test]
-title SerDefault-SerializePartTree
-create xmlengtester test
-test TestSerializePartTree default 1 c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SerializePartTree.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SerializePartTree.out c:\testing\data\xmleng\efute\pattern\serializer\correct\default\SerDefault-SerializePartTree.ref
-delete test
-[Endtest]
-
-
-
-[Test]
-title SerDefault-SerializerL
-create xmlengtester test
-test TestSerializer default 1 c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SerializerL.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SerializerL.out c:\testing\data\xmleng\efute\pattern\serializer\correct\default\SerDefault-SerializerL.ref
-delete test
-[Endtest]
-
-[Test]
-title SerDefault-SetOutputL-File
-create xmlengtester test
-test TestSetOutputFile default c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SetOutputL-File.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SetOutputL-File.out c:\testing\data\xmleng\efute\pattern\serializer\correct\default\SerDefault-serialized.ref
-delete test
-[Endtest]
-
-
-
-[Test]
-title SerDefault-SetOutputL-Buffer
-create xmlengtester test
-test TestSetOutputFile default c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SetOutputL-Buffer.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SetOutputL-Buffer.out c:\testing\data\xmleng\efute\pattern\serializer\correct\default\SerDefault-serialized.ref
-delete test
-[Endtest]
-
-
-
-[Test]
-title SerDefault-SetOutputL-Stream
-create xmlengtester test
-test TestSetOutputStream default c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SetOutputL-Stream.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SetOutputL-Stream.out c:\testing\data\xmleng\efute\pattern\serializer\correct\default\SerDefault-serialized.ref
-delete test
-[Endtest]
-
-
-
-[Test]
-title SerDefault-SetSerializationOptionsBuffer
-create xmlengtester test
-test TestSerializationOptionsBuffer default c:\testing\data\xmleng\efute\input\serializer\correct\default\multi-signed-with-cert.xml c:\testing\data\xmleng\efute\output\serializer\correct\default\SetSerializationOptionsBuffer_
-delete test
-[Endtest]
-
-
-[Test]
-title SerDefault-SetSerializationOptionsL
-create xmlengtester test
-test TestSerializationOptions default c:\testing\data\xmleng\efute\output\serializer\correct\default\SetSerializationOptions_
-delete test
-[Endtest]
-
-
-[Test]
-title SerGZIP-BufferConvinience
-create xmlengtester test
-test TestSerializeBufferConvinience gzip 1 c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-BufferConvinience1.gz c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-BufferConvinience2.gz
-test DecompressBufferGZIP c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-BufferConvinience1.gz c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-BufferConvinience1.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-BufferConvinience1.xml c:\testing\data\xmleng\efute\pattern\serializer\correct\default\SerDefault-serialized.ref
-test DecompressBufferGZIP c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-BufferConvinience2.gz c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-BufferConvinience2.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-BufferConvinience2.xml c:\testing\data\xmleng\efute\pattern\serializer\correct\default\SerDefault-serialized.ref
-delete test
-[Endtest]
-
-[Test]
-title SerGZIP-FileConvinience
-create xmlengtester test
-test TestSerializeFileConvinience gzip 1 c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-FileConvinience1.gz c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-FileConvinience2.gz
-test DecompressGZIP c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-FileConvinience1.gz c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-FileConvinience1.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-FileConvinience1.xml c:\testing\data\xmleng\efute\pattern\serializer\correct\default\SerDefault-serialized.ref
-test DecompressGZIP c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-FileConvinience2.gz c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-FileConvinience2.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-FileConvinience2.xml c:\testing\data\xmleng\efute\pattern\serializer\correct\default\SerDefault-serialized.ref
-delete test
-[Endtest]
-
-
-[Test]
-title SerGZIP-MultiBuffer
-create xmlengtester test
-test TestMultipleSerializeToBuffer gzip 1 c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-MultiBuffer.gz
-delete test
-[Endtest]
-
-
-[Test]
-title SerGZIP-Serialize-ContHavingChilds
-create xmlengtester test
-test TestSerializeChilds gzip c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-ContHavingChilds.out
-delete test
-[Endtest]
-
-
-
-[Test]
-title SerGZIP-SerializeL-File1
-create xmlengtester test
-test TestSerializeFile1 gzip 1 c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-File1.gz
-test DecompressGZIP c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-File1.gz c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-File1.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-File1.xml c:\testing\data\xmleng\efute\pattern\serializer\correct\gzip\SerGZIP-serialized.ref
-delete test
-[Endtest]
-
-
-
-[Test]
-title SerGZIP-SerializeL-File2
-create xmlengtester test
-test TestSerializeFile2 gzip 1 c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-File2.gz
-test DecompressGZIP c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-File2.gz c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-File2.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-File2.xml c:\testing\data\xmleng\efute\pattern\serializer\correct\gzip\SerGZIP-serialized.ref
-delete test
-[Endtest]
-
-[Test]
-title SerGZIP-SerializeL-File3
-create xmlengtester test
-test TestSerializeFile3 gzip 1 c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-File3.gz
-test DecompressGZIP c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-File3.gz c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-File3.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-File3.xml c:\testing\data\xmleng\efute\pattern\serializer\correct\gzip\SerGZIP-serialized.ref
-delete test
-[Endtest]
-
-[Test]
-title SerGZIP-SerializeL-Buffer
-create xmlengtester test
-test TestSerializeBuffer gzip 1 c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-Buffer.gz
-test DecompressBufferGZIP c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-Buffer.gz c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-Buffer.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-Buffer.xml c:\testing\data\xmleng\efute\pattern\serializer\correct\gzip\SerGZIP-serialized.ref
-delete test
-[Endtest]
-
-[Test]
-title SerGZIP-SerializeFileBuffer
-create xmlengtester test
-test TestSerializeFileBuffer gzip c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeFileBuffer.out
-delete test
-[Endtest]
-
-
-
-[Test]
-title SerGZIP-SerializePartTree
-create xmlengtester test
-test TestSerializePartTree gzip 1 c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializePartTree.gz
-test DecompressGZIP c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializePartTree.gz c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializePartTree.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializePartTree.xml c:\testing\data\xmleng\efute\pattern\serializer\correct\gzip\SerGZIP-SerializePartTree.ref
-delete test
-[Endtest]
-
-
-
-[Test]
-title SerGZIP-SerializerL
-create xmlengtester test
-test TestSerializer gzip 1 c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializerL.gz
-test DecompressGZIP c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializerL.gz c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializerL.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializerL.xml c:\testing\data\xmleng\efute\pattern\serializer\correct\gzip\SerGZIP-SerializerL.ref
-delete test
-[Endtest]
-
-[Test]
-title SerGZIP-SetOutputL-File
-create xmlengtester test
-test TestSetOutputFile gzip c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SetOutputL-File.gz
-test DecompressGZIP c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SetOutputL-File.gz c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SetOutputL-File.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SetOutputL-File.xml c:\testing\data\xmleng\efute\pattern\serializer\correct\gzip\SerGZIP-serialized.ref
-delete test
-[Endtest]
-
-
-
-[Test]
-title SerGZIP-SetOutputL-Buffer
-create xmlengtester test
-test TestSetOutputBuffer gzip c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SetOutputL-Buffer.gz
-test DecompressBufferGZIP c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SetOutputL-Buffer.gz c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SetOutputL-Buffer.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SetOutputL-Buffer.xml c:\testing\data\xmleng\efute\pattern\serializer\correct\gzip\SerGZIP-serialized.ref
-delete test
-[Endtest]
-
-
-
-[Test]
-title SerGZIP-SetOutputL-Stream
-create xmlengtester test
-test TestSetOutputStream gzip c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SetOutputL-Stream.gz
-test DecompressBufferGZIP c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SetOutputL-Stream.gz c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SetOutputL-Stream.xml
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SetOutputL-Stream.xml c:\testing\data\xmleng\efute\pattern\serializer\correct\gzip\SerGZIP-serialized.ref
-delete test
-[Endtest]
-
-
-
-[Test]
-title SerGZIP-SetSerializationOptionsBufferL
-create xmlengtester test
-test TestSerializationOptionsBuffer gzip c:\testing\data\xmleng\efute\input\serializer\correct\default\multi-signed-with-cert.xml c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SetSerializationOptionsBuffer_
-delete test
-[Endtest]
-
-
-[Test]
-title SerGZIP-SetSerializationOptionsL
-create xmlengtester test
-test TestSerializationOptions gzip c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SetSerializationOptions_
-delete test
-[Endtest]
-
-
-[Test]
-title SerXOP-Base64conv
-create xmlengtester test
-test MultiSerializeXopSoap c:\testing\data\xmleng\efute\input\serializer\correct\xop\blob-transfer.xml c:\testing\data\xmleng\efute\input\containers\image.b64 c:\testing\data\xmleng\efute\input\containers\signature.b64 c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-Base64conv.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-Base64conv.out c:\testing\data\xmleng\efute\pattern\serializer\correct\xop\SerXOP-Base64conv.ref
-delete test
-[Endtest]
-
-[Test]
-title SerXOP-BufferConvinience
-create xmlengtester test
-test TestSerializeBufferConvinience xop 1 c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-BufferConvinience1.out c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-BufferConvinience2.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-BufferConvinience1.out c:\testing\data\xmleng\efute\pattern\serializer\correct\xop\SerXOP-serialized.ref
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-BufferConvinience2.out c:\testing\data\xmleng\efute\pattern\serializer\correct\xop\SerXOP-serialized.ref
-delete test
-[Endtest]
-
-
-[Test]
-title SerXOP-CaptialInclude
-create xmlengtester test
-test SerializeXopFile xop 3 c:\testing\data\xmleng\efute\input\containers\image.png c:\testing\data\xmleng\efute\input\serializer\correct\xop\CaptialInclude.xml c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-CaptialInclude.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-CaptialInclude.out c:\testing\data\xmleng\efute\pattern\serializer\correct\xop\SerXOP-CaptialInclude.ref
-delete test
-[Endtest]
-
-
-
-[Test]
-title SerXOP-ContentType
-create xmlengtester test
-test TestContentType xop 4 c:\testing\data\xmleng\efute\input\serializer\correct\xop\blob-transfer.xml c:\testing\data\xmleng\efute\input\containers\image.b64 c:\testing\data\xmleng\efute\input\containers\signature.b64 c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-ContentType.out
-delete test
-[Endtest]
-
-[Test]
-title SerXOP-DifferentPrefIncludeInfoset
-create xmlengtester test
-test SerializeXopFileDirty c:\testing\data\xmleng\efute\input\containers\image.png c:\testing\data\xmleng\efute\input\serializer\dirty\xop\DifferentPrefIncludeInfoset.xml c:\testing\data\xmleng\efute\output\serializer\dirty\xop\SerXOP-DifferentPrefIncludeInfoset.out -32387
-delete test
-[Endtest]
-
-[Test]
-title SerXOP-FileConvinience
-create xmlengtester test
-test TestSerializeFileConvinience xop 1 c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-FileConvinience1.out c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-FileConvinience2.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-FileConvinience1.out c:\testing\data\xmleng\efute\pattern\serializer\correct\xop\SerXOP-serialized.ref
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-FileConvinience2.out c:\testing\data\xmleng\efute\pattern\serializer\correct\xop\SerXOP-serialized.ref
-delete test
-[Endtest]
-
-
-[Test]
-title SerXOP-IncludeInInfoset
-create xmlengtester test
-test SerializeXopFileDirty c:\testing\data\xmleng\efute\input\containers\image.png c:\testing\data\xmleng\efute\input\serializer\dirty\xop\IncludeInInfoset.xml c:\testing\data\xmleng\efute\output\serializer\dirty\xop\SerXOP-IncludeInInfoset.out -32387
-delete test
-[Endtest]
-
-[Test]
-title SerXOP-MultiBuffer
-create xmlengtester test
-test TestMultipleSerializeToBuffer xop 1 c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-MultiBuffer.out
-delete test
-[Endtest]
-
-
-[Test]
-title SerXOP-NamespaceXopInParent
-create xmlengtester test
-test SerializeXopBuffer xop 4 c:\testing\data\xmleng\efute\input\containers\image.png c:\testing\data\xmleng\efute\input\serializer\correct\xop\NamespaceInParent.xml c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-NamespaceXopInParent.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-NamespaceXopInParent.out c:\testing\data\xmleng\efute\pattern\serializer\correct\xop\SerXOP-NamespaceXopInParent.ref
-delete test
-[Endtest]
-
-
-
-[Test]
-title SerXOP-Serialize-ContHavingChilds
-create xmlengtester test
-test TestSerializeChilds xop c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-ContHavingChilds.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-ContHavingChilds.out c:\testing\data\xmleng\efute\pattern\serializer\correct\xop\SerXOP-ContHavingChilds.ref
-delete test
-[Endtest]
-
-
-
-[Test]
-title SerXOP-SerializeL-File1
-create xmlengtester test
-test TestSerializeFile1 xop 1 c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SerializeL-File1.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SerializeL-File1.out c:\testing\data\xmleng\efute\pattern\serializer\correct\xop\SerXOP-serialized.ref
-delete test
-[Endtest]
-
-
-
-[Test]
-title SerXOP-SerializeL-File2
-create xmlengtester test
-test TestSerializeFile2 xop 1 c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SerializeL-File2.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SerializeL-File2.out c:\testing\data\xmleng\efute\pattern\serializer\correct\xop\SerXOP-serialized.ref
-delete test
-[Endtest]
-
-[Test]
-title SerXOP-SerializeL-File3
-create xmlengtester test
-test TestSerializeFile3 xop 1 c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SerializeL-File3.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SerializeL-File3.out c:\testing\data\xmleng\efute\pattern\serializer\correct\xop\SerXOP-serialized.ref
-delete test
-[Endtest]
-
-[Test]
-title SerXOP-SerializeL-Buffer
-create xmlengtester test
-test TestSerializeBuffer xop 1 c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SerializeL-Buffer.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SerializeL-Buffer.out c:\testing\data\xmleng\efute\pattern\serializer\correct\xop\SerXOP-serialized.ref
-delete test
-[Endtest]
-
-[Test]
-title SerXOP-SerializeFileBuffer
-create xmlengtester test
-test TestSerializeFileBuffer xop c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SerializeFileBuffer.out
-delete test
-[Endtest]
-
-
-
-[Test]
-title SerXOP-SerializePartTree
-create xmlengtester test
-test TestSerializePartTree xop 1 c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SerializePartTree.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SerializePartTree.out c:\testing\data\xmleng\efute\pattern\serializer\correct\xop\SerXOP-SerializePartTree.ref
-delete test
-[Endtest]
-
-
-
-[Test]
-title SerXOP-SerializerL
-create xmlengtester test
-test TestSerializer xop 1 c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SerializerL.out
-delete test
-[Endtest]
-
-[Test]
-title SerXOP-SetOutputL-File
-create xmlengtester test
-test TestSetOutputFile xop c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SetOutputL-File.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SetOutputL-File.out c:\testing\data\xmleng\efute\pattern\serializer\correct\xop\SerXOP-serialized.ref
-delete test
-[Endtest]
-
-
-
-[Test]
-title SerXOP-SetOutputL-Buffer
-create xmlengtester test
-test TestSetOutputFile xop c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SetOutputL-Buffer.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SetOutputL-Buffer.out c:\testing\data\xmleng\efute\pattern\serializer\correct\xop\SerXOP-serialized.ref
-delete test
-[Endtest]
-
-
-
-[Test]
-title SerXOP-SetOutputL-Stream
-create xmlengtester test
-test TestSetOutputStream xop c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SetOutputL-Stream.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SetOutputL-Stream.out c:\testing\data\xmleng\efute\pattern\serializer\correct\xop\SerXOP-serialized.ref
-delete test
-[Endtest]
-
-
-
-[Test]
-title SerXOP-SetSerializationOptionsBuffer
-create xmlengtester test
-test TestSerializationOptionsBuffer xop c:\testing\data\xmleng\efute\input\serializer\correct\default\multi-signed-with-cert.xml c:\testing\data\xmleng\efute\output\serializer\correct\xop\SetSerializationOptionsBuffer_
-delete test
-[Endtest]
-
-[Test]
-title SerXOP-SetSerializationOptionsL
-create xmlengtester test
-test TestSerializationOptions xop c:\testing\data\xmleng\efute\output\serializer\correct\xop\SetSerializationOptions_
-delete test
-[Endtest]
-
-
-[Test]
-title SerXOP-TestNamespaceIncludeInInfoset
-create xmlengtester test
-test SerializeXopFile xop 8 c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\input\serializer\correct\xop\TestNamespaceIncludeInInfoset.xml c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-TestNamespaceIncludeInInfoset.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-TestNamespaceIncludeInInfoset.out c:\testing\data\xmleng\efute\pattern\serializer\correct\xop\SerXOP-TestNamespaceIncludeInInfoset.ref
-delete test
-[Endtest]
-
-[Test]
-title SerInfosetXOP-BufferConvinience
-create xmlengtester test
-test TestSerializeBufferConvinience infoset 1 c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-BufferConvinience1.out c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-BufferConvinience2.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-BufferConvinience1.out c:\testing\data\xmleng\efute\pattern\serializer\correct\infosetxop\SerInfosetXOP-serialized.ref
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-BufferConvinience2.out c:\testing\data\xmleng\efute\pattern\serializer\correct\infosetxop\SerInfosetXOP-serialized.ref
-delete test
-[Endtest]
-
-
-[Test]
-title SerInfosetXOP-CaptialInclude
-create xmlengtester test
-test SerializeXopFile infoset 3 c:\testing\data\xmleng\efute\input\containers\image.png c:\testing\data\xmleng\efute\input\serializer\correct\xop\CaptialInclude.xml c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-CaptialInclude.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-CaptialInclude.out c:\testing\data\xmleng\efute\pattern\serializer\correct\infosetxop\SerInfosetXOP-CaptialInclude.ref
-delete test
-[Endtest]
-
-
-
-[Test]
-title SerInfosetXOP-FileConvinience
-create xmlengtester test
-test TestSerializeFileConvinience infoset 1 c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-FileConvinience1.out c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-FileConvinience2.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-FileConvinience1.out c:\testing\data\xmleng\efute\pattern\serializer\correct\infosetxop\SerInfosetXOP-serialized.ref
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-FileConvinience2.out c:\testing\data\xmleng\efute\pattern\serializer\correct\infosetxop\SerInfosetXOP-serialized.ref
-delete test
-[Endtest]
-
-
-[Test]
-title SerInfosetXOP-MultiBuffer
-create xmlengtester test
-test TestMultipleSerializeToBuffer infoset 1 c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-MultiBuffer.out
-delete test
-[Endtest]
-
-
-[Test]
-title SerInfosetXOP-NamespaceXopInParent
-create xmlengtester test
-test SerializeXopBuffer infoset 4 c:\testing\data\xmleng\efute\input\containers\image.png c:\testing\data\xmleng\efute\input\serializer\correct\xop\NamespaceInParent.xml c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-NamespaceXopInParent.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-NamespaceXopInParent.out c:\testing\data\xmleng\efute\pattern\serializer\correct\infosetxop\SerInfosetXOP-NamespaceXopInParent.ref
-delete test
-[Endtest]
-
-
-
-[Test]
-title SerInfosetXOP-Serialize-ContHavingChilds
-create xmlengtester test
-test TestSerializeChilds infoset c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-ContHavingChilds.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-ContHavingChilds.out c:\testing\data\xmleng\efute\pattern\serializer\correct\infosetxop\SerInfosetXOP-ContHavingChilds.ref
-delete test
-[Endtest]
-
-
-
-[Test]
-title SerInfosetXOP-SerializeL-File1
-create xmlengtester test
-test TestSerializeFile1 infoset 1 c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SerializeL-File1.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SerializeL-File1.out c:\testing\data\xmleng\efute\pattern\serializer\correct\infosetxop\SerInfosetXOP-serialized.ref
-delete test
-[Endtest]
-
-
-
-[Test]
-title SerInfosetXOP-SerializeL-File2
-create xmlengtester test
-test TestSerializeFile2 infoset 1 c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SerializeL-File2.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SerializeL-File2.out c:\testing\data\xmleng\efute\pattern\serializer\correct\infosetxop\SerInfosetXOP-serialized.ref
-delete test
-[Endtest]
-
-[Test]
-title SerInfosetXOP-SerializeL-File3
-create xmlengtester test
-test TestSerializeFile3 infoset 1 c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SerializeL-File3.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SerializeL-File3.out c:\testing\data\xmleng\efute\pattern\serializer\correct\infosetxop\SerInfosetXOP-serialized.ref
-delete test
-[Endtest]
-
-[Test]
-title SerInfosetXOP-SerializeL-Buffer
-create xmlengtester test
-test TestSerializeBuffer infoset 1 c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SerializeL-Buffer.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SerializeL-Buffer.out c:\testing\data\xmleng\efute\pattern\serializer\correct\infosetxop\SerInfosetXOP-serialized.ref
-delete test
-[Endtest]
-
-[Test]
-title SerInfosetXOP-SerializeFileBuffer
-create xmlengtester test
-test TestSerializeFileBuffer infoset c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SerializeFileBuffer.out
-delete test
-[Endtest]
-
-
-
-[Test]
-title SerInfosetXOP-SerializePartTree
-create xmlengtester test
-test TestSerializePartTree infoset 1 c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SerializePartTree.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SerializePartTree.out c:\testing\data\xmleng\efute\pattern\serializer\correct\infosetxop\SerInfosetXOP-SerializePartTree.ref
-delete test
-[Endtest]
-
-
-
-[Test]
-title SerInfosetXOP-SerializerL
-create xmlengtester test
-test TestSerializer infoset 1 c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SerializerL.out
-delete test
-[Endtest]
-
-[Test]
-title SerInfosetXOP-SetOutputL-File
-create xmlengtester test
-test TestSetOutputFile infoset c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SetOutputL-File.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SetOutputL-File.out c:\testing\data\xmleng\efute\pattern\serializer\correct\infosetxop\SerInfosetXOP-serialized.ref
-delete test
-[Endtest]
-
-
-
-[Test]
-title SerInfosetXOP-SetOutputL-Buffer
-create xmlengtester test
-test TestSetOutputFile infoset c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SetOutputL-Buffer.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SetOutputL-Buffer.out c:\testing\data\xmleng\efute\pattern\serializer\correct\infosetxop\SerInfosetXOP-serialized.ref
-delete test
-[Endtest]
-
-
-
-[Test]
-title SerInfosetXOP-SetOutputL-Stream
-create xmlengtester test
-test TestSetOutputStream infoset c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SetOutputL-Stream.out
-test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SetOutputL-Stream.out c:\testing\data\xmleng\efute\pattern\serializer\correct\infosetxop\SerInfosetXOP-serialized.ref
-delete test
-[Endtest]
-
-
-
-[Test]
-title SerInfosetXOP-SetSerializationOptionsBuffer
-create xmlengtester test
-test TestSerializationOptionsBuffer infoset c:\testing\data\xmleng\efute\input\serializer\correct\default\multi-signed-with-cert.xml c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SetSerializationOptionsBuffer_
-delete test
-[Endtest]
-
-[Test]
-title SerInfosetXOP-SetSerializationOptionsL
-create xmlengtester test
-test TestSerializationOptions infoset c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SetSerializationOptions_
-delete test
-[Endtest]
-
+
+[Test]
+title SerDefault-BufferConvinience
+create xmlengtester test
+test TestSerializeBufferConvinience default 1 c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-BufferConvinience1.out c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-BufferConvinience2.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-BufferConvinience1.out c:\testing\data\xmleng\efute\pattern\serializer\correct\default\SerDefault-serialized.ref
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-BufferConvinience2.out c:\testing\data\xmleng\efute\pattern\serializer\correct\default\SerDefault-serialized.ref
+delete test
+[Endtest]
+
+
+[Test]
+title SerDefault-FileConvinience
+create xmlengtester test
+test TestSerializeFileConvinience default 1 c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-FileConvinience1.out c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-FileConvinience2.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-FileConvinience1.out c:\testing\data\xmleng\efute\pattern\serializer\correct\default\SerDefault-serialized.ref
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-FileConvinience2.out c:\testing\data\xmleng\efute\pattern\serializer\correct\default\SerDefault-serialized.ref
+delete test
+[Endtest]
+
+
+[Test]
+title SerDefault-MultiBuffer
+create xmlengtester test
+test TestMultipleSerializeToBuffer default 1 c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-MultiBuffer.out
+delete test
+[Endtest]
+
+
+[Test]
+title SerDefault-Serialize-ContHavingChilds
+create xmlengtester test
+test TestSerializeChilds default c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-ContHavingChilds.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-ContHavingChilds.out c:\testing\data\xmleng\efute\pattern\serializer\correct\default\SerDefault-ContHavingChilds.ref
+delete test
+[Endtest]
+
+
+
+[Test]
+title SerDefault-SerializeL-File1
+create xmlengtester test
+test TestSerializeFile1 default 1 c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SerializeL-File1.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SerializeL-File1.out c:\testing\data\xmleng\efute\pattern\serializer\correct\default\SerDefault-serialized.ref
+delete test
+[Endtest]
+
+
+
+[Test]
+title SerDefault-SerializeL-File2
+create xmlengtester test
+test TestSerializeFile2 default 1 c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SerializeL-File2.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SerializeL-File2.out c:\testing\data\xmleng\efute\pattern\serializer\correct\default\SerDefault-serialized.ref
+delete test
+[Endtest]
+
+[Test]
+title SerDefault-SerializeL-File3
+create xmlengtester test
+test TestSerializeFile3 default 1 c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SerializeL-File3.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SerializeL-File3.out c:\testing\data\xmleng\efute\pattern\serializer\correct\default\SerDefault-serialized.ref
+delete test
+[Endtest]
+
+[Test]
+title SerDefault-SerializeL-Buffer
+create xmlengtester test
+test TestSerializeBuffer default 1 c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SerializeL-Buffer.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SerializeL-Buffer.out c:\testing\data\xmleng\efute\pattern\serializer\correct\default\SerDefault-serialized.ref
+delete test
+[Endtest]
+
+[Test]
+title SerDefault-SerializeFileBuffer
+create xmlengtester test
+test TestSerializeFileBuffer default c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SerializeFileBuffer.out
+delete test
+[Endtest]
+
+
+
+[Test]
+title SerDefault-SerializePartTree
+create xmlengtester test
+test TestSerializePartTree default 1 c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SerializePartTree.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SerializePartTree.out c:\testing\data\xmleng\efute\pattern\serializer\correct\default\SerDefault-SerializePartTree.ref
+delete test
+[Endtest]
+
+
+
+[Test]
+title SerDefault-SerializerL
+create xmlengtester test
+test TestSerializer default 1 c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SerializerL.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SerializerL.out c:\testing\data\xmleng\efute\pattern\serializer\correct\default\SerDefault-SerializerL.ref
+delete test
+[Endtest]
+
+[Test]
+title SerDefault-SetOutputL-File
+create xmlengtester test
+test TestSetOutputFile default c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SetOutputL-File.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SetOutputL-File.out c:\testing\data\xmleng\efute\pattern\serializer\correct\default\SerDefault-serialized.ref
+delete test
+[Endtest]
+
+
+
+[Test]
+title SerDefault-SetOutputL-Buffer
+create xmlengtester test
+test TestSetOutputFile default c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SetOutputL-Buffer.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SetOutputL-Buffer.out c:\testing\data\xmleng\efute\pattern\serializer\correct\default\SerDefault-serialized.ref
+delete test
+[Endtest]
+
+
+
+[Test]
+title SerDefault-SetOutputL-Stream
+create xmlengtester test
+test TestSetOutputStream default c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SetOutputL-Stream.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\default\SerDefault-SetOutputL-Stream.out c:\testing\data\xmleng\efute\pattern\serializer\correct\default\SerDefault-serialized.ref
+delete test
+[Endtest]
+
+
+
+[Test]
+title SerDefault-SetSerializationOptionsBuffer
+create xmlengtester test
+test TestSerializationOptionsBuffer default c:\testing\data\xmleng\efute\input\serializer\correct\default\multi-signed-with-cert.xml c:\testing\data\xmleng\efute\output\serializer\correct\default\SetSerializationOptionsBuffer_
+delete test
+[Endtest]
+
+
+[Test]
+title SerDefault-SetSerializationOptionsL
+create xmlengtester test
+test TestSerializationOptions default c:\testing\data\xmleng\efute\output\serializer\correct\default\SetSerializationOptions_
+delete test
+[Endtest]
+
+
+[Test]
+title SerGZIP-BufferConvinience
+create xmlengtester test
+test TestSerializeBufferConvinience gzip 1 c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-BufferConvinience1.gz c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-BufferConvinience2.gz
+test DecompressBufferGZIP c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-BufferConvinience1.gz c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-BufferConvinience1.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-BufferConvinience1.xml c:\testing\data\xmleng\efute\pattern\serializer\correct\default\SerDefault-serialized.ref
+test DecompressBufferGZIP c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-BufferConvinience2.gz c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-BufferConvinience2.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-BufferConvinience2.xml c:\testing\data\xmleng\efute\pattern\serializer\correct\default\SerDefault-serialized.ref
+delete test
+[Endtest]
+
+[Test]
+title SerGZIP-FileConvinience
+create xmlengtester test
+test TestSerializeFileConvinience gzip 1 c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-FileConvinience1.gz c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-FileConvinience2.gz
+test DecompressGZIP c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-FileConvinience1.gz c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-FileConvinience1.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-FileConvinience1.xml c:\testing\data\xmleng\efute\pattern\serializer\correct\default\SerDefault-serialized.ref
+test DecompressGZIP c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-FileConvinience2.gz c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-FileConvinience2.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-FileConvinience2.xml c:\testing\data\xmleng\efute\pattern\serializer\correct\default\SerDefault-serialized.ref
+delete test
+[Endtest]
+
+
+[Test]
+title SerGZIP-MultiBuffer
+create xmlengtester test
+test TestMultipleSerializeToBuffer gzip 1 c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-MultiBuffer.gz
+delete test
+[Endtest]
+
+
+[Test]
+title SerGZIP-Serialize-ContHavingChilds
+create xmlengtester test
+test TestSerializeChilds gzip c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-ContHavingChilds.out
+delete test
+[Endtest]
+
+
+
+[Test]
+title SerGZIP-SerializeL-File1
+create xmlengtester test
+test TestSerializeFile1 gzip 1 c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-File1.gz
+test DecompressGZIP c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-File1.gz c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-File1.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-File1.xml c:\testing\data\xmleng\efute\pattern\serializer\correct\gzip\SerGZIP-serialized.ref
+delete test
+[Endtest]
+
+
+
+[Test]
+title SerGZIP-SerializeL-File2
+create xmlengtester test
+test TestSerializeFile2 gzip 1 c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-File2.gz
+test DecompressGZIP c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-File2.gz c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-File2.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-File2.xml c:\testing\data\xmleng\efute\pattern\serializer\correct\gzip\SerGZIP-serialized.ref
+delete test
+[Endtest]
+
+[Test]
+title SerGZIP-SerializeL-File3
+create xmlengtester test
+test TestSerializeFile3 gzip 1 c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-File3.gz
+test DecompressGZIP c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-File3.gz c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-File3.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-File3.xml c:\testing\data\xmleng\efute\pattern\serializer\correct\gzip\SerGZIP-serialized.ref
+delete test
+[Endtest]
+
+[Test]
+title SerGZIP-SerializeL-Buffer
+create xmlengtester test
+test TestSerializeBuffer gzip 1 c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-Buffer.gz
+test DecompressBufferGZIP c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-Buffer.gz c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-Buffer.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeL-Buffer.xml c:\testing\data\xmleng\efute\pattern\serializer\correct\gzip\SerGZIP-serialized.ref
+delete test
+[Endtest]
+
+[Test]
+title SerGZIP-SerializeFileBuffer
+create xmlengtester test
+test TestSerializeFileBuffer gzip c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializeFileBuffer.out
+delete test
+[Endtest]
+
+
+
+[Test]
+title SerGZIP-SerializePartTree
+create xmlengtester test
+test TestSerializePartTree gzip 1 c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializePartTree.gz
+test DecompressGZIP c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializePartTree.gz c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializePartTree.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializePartTree.xml c:\testing\data\xmleng\efute\pattern\serializer\correct\gzip\SerGZIP-SerializePartTree.ref
+delete test
+[Endtest]
+
+
+
+[Test]
+title SerGZIP-SerializerL
+create xmlengtester test
+test TestSerializer gzip 1 c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializerL.gz
+test DecompressGZIP c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializerL.gz c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializerL.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SerializerL.xml c:\testing\data\xmleng\efute\pattern\serializer\correct\gzip\SerGZIP-SerializerL.ref
+delete test
+[Endtest]
+
+[Test]
+title SerGZIP-SetOutputL-File
+create xmlengtester test
+test TestSetOutputFile gzip c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SetOutputL-File.gz
+test DecompressGZIP c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SetOutputL-File.gz c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SetOutputL-File.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SetOutputL-File.xml c:\testing\data\xmleng\efute\pattern\serializer\correct\gzip\SerGZIP-serialized.ref
+delete test
+[Endtest]
+
+
+
+[Test]
+title SerGZIP-SetOutputL-Buffer
+create xmlengtester test
+test TestSetOutputBuffer gzip c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SetOutputL-Buffer.gz
+test DecompressBufferGZIP c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SetOutputL-Buffer.gz c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SetOutputL-Buffer.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SetOutputL-Buffer.xml c:\testing\data\xmleng\efute\pattern\serializer\correct\gzip\SerGZIP-serialized.ref
+delete test
+[Endtest]
+
+
+
+[Test]
+title SerGZIP-SetOutputL-Stream
+create xmlengtester test
+test TestSetOutputStream gzip c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SetOutputL-Stream.gz
+test DecompressBufferGZIP c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SetOutputL-Stream.gz c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SetOutputL-Stream.xml
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SerGZIP-SetOutputL-Stream.xml c:\testing\data\xmleng\efute\pattern\serializer\correct\gzip\SerGZIP-serialized.ref
+delete test
+[Endtest]
+
+
+
+[Test]
+title SerGZIP-SetSerializationOptionsBufferL
+create xmlengtester test
+test TestSerializationOptionsBuffer gzip c:\testing\data\xmleng\efute\input\serializer\correct\default\multi-signed-with-cert.xml c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SetSerializationOptionsBuffer_
+delete test
+[Endtest]
+
+
+[Test]
+title SerGZIP-SetSerializationOptionsL
+create xmlengtester test
+test TestSerializationOptions gzip c:\testing\data\xmleng\efute\output\serializer\correct\gzip\SetSerializationOptions_
+delete test
+[Endtest]
+
+
+[Test]
+title SerXOP-Base64conv
+create xmlengtester test
+test MultiSerializeXopSoap c:\testing\data\xmleng\efute\input\serializer\correct\xop\blob-transfer.xml c:\testing\data\xmleng\efute\input\containers\image.b64 c:\testing\data\xmleng\efute\input\containers\signature.b64 c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-Base64conv.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-Base64conv.out c:\testing\data\xmleng\efute\pattern\serializer\correct\xop\SerXOP-Base64conv.ref
+delete test
+[Endtest]
+
+[Test]
+title SerXOP-BufferConvinience
+create xmlengtester test
+test TestSerializeBufferConvinience xop 1 c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-BufferConvinience1.out c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-BufferConvinience2.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-BufferConvinience1.out c:\testing\data\xmleng\efute\pattern\serializer\correct\xop\SerXOP-serialized.ref
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-BufferConvinience2.out c:\testing\data\xmleng\efute\pattern\serializer\correct\xop\SerXOP-serialized.ref
+delete test
+[Endtest]
+
+
+[Test]
+title SerXOP-CaptialInclude
+create xmlengtester test
+test SerializeXopFile xop 3 c:\testing\data\xmleng\efute\input\containers\image.png c:\testing\data\xmleng\efute\input\serializer\correct\xop\CaptialInclude.xml c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-CaptialInclude.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-CaptialInclude.out c:\testing\data\xmleng\efute\pattern\serializer\correct\xop\SerXOP-CaptialInclude.ref
+delete test
+[Endtest]
+
+
+
+[Test]
+title SerXOP-ContentType
+create xmlengtester test
+test TestContentType xop 4 c:\testing\data\xmleng\efute\input\serializer\correct\xop\blob-transfer.xml c:\testing\data\xmleng\efute\input\containers\image.b64 c:\testing\data\xmleng\efute\input\containers\signature.b64 c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-ContentType.out
+delete test
+[Endtest]
+
+[Test]
+title SerXOP-DifferentPrefIncludeInfoset
+create xmlengtester test
+test SerializeXopFileDirty c:\testing\data\xmleng\efute\input\containers\image.png c:\testing\data\xmleng\efute\input\serializer\dirty\xop\DifferentPrefIncludeInfoset.xml c:\testing\data\xmleng\efute\output\serializer\dirty\xop\SerXOP-DifferentPrefIncludeInfoset.out -32387
+delete test
+[Endtest]
+
+[Test]
+title SerXOP-FileConvinience
+create xmlengtester test
+test TestSerializeFileConvinience xop 1 c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-FileConvinience1.out c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-FileConvinience2.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-FileConvinience1.out c:\testing\data\xmleng\efute\pattern\serializer\correct\xop\SerXOP-serialized.ref
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-FileConvinience2.out c:\testing\data\xmleng\efute\pattern\serializer\correct\xop\SerXOP-serialized.ref
+delete test
+[Endtest]
+
+
+[Test]
+title SerXOP-IncludeInInfoset
+create xmlengtester test
+test SerializeXopFileDirty c:\testing\data\xmleng\efute\input\containers\image.png c:\testing\data\xmleng\efute\input\serializer\dirty\xop\IncludeInInfoset.xml c:\testing\data\xmleng\efute\output\serializer\dirty\xop\SerXOP-IncludeInInfoset.out -32387
+delete test
+[Endtest]
+
+[Test]
+title SerXOP-MultiBuffer
+create xmlengtester test
+test TestMultipleSerializeToBuffer xop 1 c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-MultiBuffer.out
+delete test
+[Endtest]
+
+
+[Test]
+title SerXOP-NamespaceXopInParent
+create xmlengtester test
+test SerializeXopBuffer xop 4 c:\testing\data\xmleng\efute\input\containers\image.png c:\testing\data\xmleng\efute\input\serializer\correct\xop\NamespaceInParent.xml c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-NamespaceXopInParent.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-NamespaceXopInParent.out c:\testing\data\xmleng\efute\pattern\serializer\correct\xop\SerXOP-NamespaceXopInParent.ref
+delete test
+[Endtest]
+
+
+
+[Test]
+title SerXOP-Serialize-ContHavingChilds
+create xmlengtester test
+test TestSerializeChilds xop c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-ContHavingChilds.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-ContHavingChilds.out c:\testing\data\xmleng\efute\pattern\serializer\correct\xop\SerXOP-ContHavingChilds.ref
+delete test
+[Endtest]
+
+
+
+[Test]
+title SerXOP-SerializeL-File1
+create xmlengtester test
+test TestSerializeFile1 xop 1 c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SerializeL-File1.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SerializeL-File1.out c:\testing\data\xmleng\efute\pattern\serializer\correct\xop\SerXOP-serialized.ref
+delete test
+[Endtest]
+
+
+
+[Test]
+title SerXOP-SerializeL-File2
+create xmlengtester test
+test TestSerializeFile2 xop 1 c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SerializeL-File2.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SerializeL-File2.out c:\testing\data\xmleng\efute\pattern\serializer\correct\xop\SerXOP-serialized.ref
+delete test
+[Endtest]
+
+[Test]
+title SerXOP-SerializeL-File3
+create xmlengtester test
+test TestSerializeFile3 xop 1 c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SerializeL-File3.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SerializeL-File3.out c:\testing\data\xmleng\efute\pattern\serializer\correct\xop\SerXOP-serialized.ref
+delete test
+[Endtest]
+
+[Test]
+title SerXOP-SerializeL-Buffer
+create xmlengtester test
+test TestSerializeBuffer xop 1 c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SerializeL-Buffer.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SerializeL-Buffer.out c:\testing\data\xmleng\efute\pattern\serializer\correct\xop\SerXOP-serialized.ref
+delete test
+[Endtest]
+
+[Test]
+title SerXOP-SerializeFileBuffer
+create xmlengtester test
+test TestSerializeFileBuffer xop c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SerializeFileBuffer.out
+delete test
+[Endtest]
+
+
+
+[Test]
+title SerXOP-SerializePartTree
+create xmlengtester test
+test TestSerializePartTree xop 1 c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SerializePartTree.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SerializePartTree.out c:\testing\data\xmleng\efute\pattern\serializer\correct\xop\SerXOP-SerializePartTree.ref
+delete test
+[Endtest]
+
+
+
+[Test]
+title SerXOP-SerializerL
+create xmlengtester test
+test TestSerializer xop 1 c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SerializerL.out
+delete test
+[Endtest]
+
+[Test]
+title SerXOP-SetOutputL-File
+create xmlengtester test
+test TestSetOutputFile xop c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SetOutputL-File.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SetOutputL-File.out c:\testing\data\xmleng\efute\pattern\serializer\correct\xop\SerXOP-serialized.ref
+delete test
+[Endtest]
+
+
+
+[Test]
+title SerXOP-SetOutputL-Buffer
+create xmlengtester test
+test TestSetOutputFile xop c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SetOutputL-Buffer.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SetOutputL-Buffer.out c:\testing\data\xmleng\efute\pattern\serializer\correct\xop\SerXOP-serialized.ref
+delete test
+[Endtest]
+
+
+
+[Test]
+title SerXOP-SetOutputL-Stream
+create xmlengtester test
+test TestSetOutputStream xop c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SetOutputL-Stream.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-SetOutputL-Stream.out c:\testing\data\xmleng\efute\pattern\serializer\correct\xop\SerXOP-serialized.ref
+delete test
+[Endtest]
+
+
+
+[Test]
+title SerXOP-SetSerializationOptionsBuffer
+create xmlengtester test
+test TestSerializationOptionsBuffer xop c:\testing\data\xmleng\efute\input\serializer\correct\default\multi-signed-with-cert.xml c:\testing\data\xmleng\efute\output\serializer\correct\xop\SetSerializationOptionsBuffer_
+delete test
+[Endtest]
+
+[Test]
+title SerXOP-SetSerializationOptionsL
+create xmlengtester test
+test TestSerializationOptions xop c:\testing\data\xmleng\efute\output\serializer\correct\xop\SetSerializationOptions_
+delete test
+[Endtest]
+
+
+[Test]
+title SerXOP-TestNamespaceIncludeInInfoset
+create xmlengtester test
+test SerializeXopFile xop 8 c:\testing\data\xmleng\efute\input\containers\text.zip c:\testing\data\xmleng\efute\input\serializer\correct\xop\TestNamespaceIncludeInInfoset.xml c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-TestNamespaceIncludeInInfoset.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\xop\SerXOP-TestNamespaceIncludeInInfoset.out c:\testing\data\xmleng\efute\pattern\serializer\correct\xop\SerXOP-TestNamespaceIncludeInInfoset.ref
+delete test
+[Endtest]
+
+[Test]
+title SerInfosetXOP-BufferConvinience
+create xmlengtester test
+test TestSerializeBufferConvinience infoset 1 c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-BufferConvinience1.out c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-BufferConvinience2.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-BufferConvinience1.out c:\testing\data\xmleng\efute\pattern\serializer\correct\infosetxop\SerInfosetXOP-serialized.ref
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-BufferConvinience2.out c:\testing\data\xmleng\efute\pattern\serializer\correct\infosetxop\SerInfosetXOP-serialized.ref
+delete test
+[Endtest]
+
+
+[Test]
+title SerInfosetXOP-CaptialInclude
+create xmlengtester test
+test SerializeXopFile infoset 3 c:\testing\data\xmleng\efute\input\containers\image.png c:\testing\data\xmleng\efute\input\serializer\correct\xop\CaptialInclude.xml c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-CaptialInclude.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-CaptialInclude.out c:\testing\data\xmleng\efute\pattern\serializer\correct\infosetxop\SerInfosetXOP-CaptialInclude.ref
+delete test
+[Endtest]
+
+
+
+[Test]
+title SerInfosetXOP-FileConvinience
+create xmlengtester test
+test TestSerializeFileConvinience infoset 1 c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-FileConvinience1.out c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-FileConvinience2.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-FileConvinience1.out c:\testing\data\xmleng\efute\pattern\serializer\correct\infosetxop\SerInfosetXOP-serialized.ref
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-FileConvinience2.out c:\testing\data\xmleng\efute\pattern\serializer\correct\infosetxop\SerInfosetXOP-serialized.ref
+delete test
+[Endtest]
+
+
+[Test]
+title SerInfosetXOP-MultiBuffer
+create xmlengtester test
+test TestMultipleSerializeToBuffer infoset 1 c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-MultiBuffer.out
+delete test
+[Endtest]
+
+
+[Test]
+title SerInfosetXOP-NamespaceXopInParent
+create xmlengtester test
+test SerializeXopBuffer infoset 4 c:\testing\data\xmleng\efute\input\containers\image.png c:\testing\data\xmleng\efute\input\serializer\correct\xop\NamespaceInParent.xml c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-NamespaceXopInParent.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-NamespaceXopInParent.out c:\testing\data\xmleng\efute\pattern\serializer\correct\infosetxop\SerInfosetXOP-NamespaceXopInParent.ref
+delete test
+[Endtest]
+
+
+
+[Test]
+title SerInfosetXOP-Serialize-ContHavingChilds
+create xmlengtester test
+test TestSerializeChilds infoset c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-ContHavingChilds.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-ContHavingChilds.out c:\testing\data\xmleng\efute\pattern\serializer\correct\infosetxop\SerInfosetXOP-ContHavingChilds.ref
+delete test
+[Endtest]
+
+
+
+[Test]
+title SerInfosetXOP-SerializeL-File1
+create xmlengtester test
+test TestSerializeFile1 infoset 1 c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SerializeL-File1.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SerializeL-File1.out c:\testing\data\xmleng\efute\pattern\serializer\correct\infosetxop\SerInfosetXOP-serialized.ref
+delete test
+[Endtest]
+
+
+
+[Test]
+title SerInfosetXOP-SerializeL-File2
+create xmlengtester test
+test TestSerializeFile2 infoset 1 c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SerializeL-File2.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SerializeL-File2.out c:\testing\data\xmleng\efute\pattern\serializer\correct\infosetxop\SerInfosetXOP-serialized.ref
+delete test
+[Endtest]
+
+[Test]
+title SerInfosetXOP-SerializeL-File3
+create xmlengtester test
+test TestSerializeFile3 infoset 1 c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SerializeL-File3.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SerializeL-File3.out c:\testing\data\xmleng\efute\pattern\serializer\correct\infosetxop\SerInfosetXOP-serialized.ref
+delete test
+[Endtest]
+
+[Test]
+title SerInfosetXOP-SerializeL-Buffer
+create xmlengtester test
+test TestSerializeBuffer infoset 1 c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SerializeL-Buffer.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SerializeL-Buffer.out c:\testing\data\xmleng\efute\pattern\serializer\correct\infosetxop\SerInfosetXOP-serialized.ref
+delete test
+[Endtest]
+
+[Test]
+title SerInfosetXOP-SerializeFileBuffer
+create xmlengtester test
+test TestSerializeFileBuffer infoset c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SerializeFileBuffer.out
+delete test
+[Endtest]
+
+
+
+[Test]
+title SerInfosetXOP-SerializePartTree
+create xmlengtester test
+test TestSerializePartTree infoset 1 c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SerializePartTree.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SerializePartTree.out c:\testing\data\xmleng\efute\pattern\serializer\correct\infosetxop\SerInfosetXOP-SerializePartTree.ref
+delete test
+[Endtest]
+
+
+
+[Test]
+title SerInfosetXOP-SerializerL
+create xmlengtester test
+test TestSerializer infoset 1 c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SerializerL.out
+delete test
+[Endtest]
+
+[Test]
+title SerInfosetXOP-SetOutputL-File
+create xmlengtester test
+test TestSetOutputFile infoset c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SetOutputL-File.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SetOutputL-File.out c:\testing\data\xmleng\efute\pattern\serializer\correct\infosetxop\SerInfosetXOP-serialized.ref
+delete test
+[Endtest]
+
+
+
+[Test]
+title SerInfosetXOP-SetOutputL-Buffer
+create xmlengtester test
+test TestSetOutputFile infoset c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SetOutputL-Buffer.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SetOutputL-Buffer.out c:\testing\data\xmleng\efute\pattern\serializer\correct\infosetxop\SerInfosetXOP-serialized.ref
+delete test
+[Endtest]
+
+
+
+[Test]
+title SerInfosetXOP-SetOutputL-Stream
+create xmlengtester test
+test TestSetOutputStream infoset c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SetOutputL-Stream.out
+test CompareFiles c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SerInfosetXOP-SetOutputL-Stream.out c:\testing\data\xmleng\efute\pattern\serializer\correct\infosetxop\SerInfosetXOP-serialized.ref
+delete test
+[Endtest]
+
+
+
+[Test]
+title SerInfosetXOP-SetSerializationOptionsBuffer
+create xmlengtester test
+test TestSerializationOptionsBuffer infoset c:\testing\data\xmleng\efute\input\serializer\correct\default\multi-signed-with-cert.xml c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SetSerializationOptionsBuffer_
+delete test
+[Endtest]
+
+[Test]
+title SerInfosetXOP-SetSerializationOptionsL
+create xmlengtester test
+test TestSerializationOptions infoset c:\testing\data\xmleng\efute\output\serializer\correct\infosetxop\SetSerializationOptions_
+delete test
+[Endtest]
+
+
\ No newline at end of file
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/Utils.cfg
--- a/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/Utils.cfg Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/TestConfigfiles/TestFramework/conf/xmleng/Utils.cfg Wed Jun 23 20:27:15 2010 +0530
@@ -1,30 +1,31 @@
-##############################################################
-# Check if function EscapeForXmlValue works correctly.
-##############################################################
-
-[Test]
-title Utils_EscapeForXmlValue
-create xmlengtester test
-test EscapeForXmlValue
-delete test
-[Endtest]
-##############################################################
-# Check if function XmlCharFromDes works correctly.
-##############################################################
-
-[Test]
-title Utils_XmlCharFromDes
-create xmlengtester test
-test XmlCharFromDes
-delete test
-[Endtest]
-##############################################################
-# Check if function XmlCharFromDes8 works correctly.
-##############################################################
-
-[Test]
-title Utils_XmlCharFromDes8
-create xmlengtester test
-test XmlCharFromDes8
-delete test
-[Endtest]
+##############################################################
+# Check if function EscapeForXmlValue works correctly.
+##############################################################
+
+[Test]
+title Utils_EscapeForXmlValue
+create xmlengtester test
+test EscapeForXmlValue
+delete test
+[Endtest]
+##############################################################
+# Check if function XmlCharFromDes works correctly.
+##############################################################
+
+[Test]
+title Utils_XmlCharFromDes
+create xmlengtester test
+test XmlCharFromDes
+delete test
+[Endtest]
+##############################################################
+# Check if function XmlCharFromDes8 works correctly.
+##############################################################
+
+[Test]
+title Utils_XmlCharFromDes8
+create xmlengtester test
+test XmlCharFromDes8
+delete test
+[Endtest]
+
\ No newline at end of file
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/inc/testcontenthandler.h
--- a/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/inc/testcontenthandler.h Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/inc/testcontenthandler.h Wed Jun 23 20:27:15 2010 +0530
@@ -18,7 +18,7 @@
#ifndef __TESTCONTENTHANDLER_H__
#define __TESTCONTENTHANDLER_H__
-#include "XmlEngExtendedContentHandler.h"
+#include
#include
#include
#include
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/inc/testfileoutputstream.h
--- a/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/inc/testfileoutputstream.h Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/inc/testfileoutputstream.h Wed Jun 23 20:27:15 2010 +0530
@@ -21,8 +21,7 @@
#define CTestFileOutputStream_H_INCLUDED
#include
-#include "XmlEngOutputStream.h"
-
+#include
/**
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/inc/xmlengtester.h
--- a/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/inc/xmlengtester.h Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/inc/xmlengtester.h Wed Jun 23 20:27:15 2010 +0530
@@ -26,16 +26,16 @@
#include
#include
-#include
-#include
+#include
+#include
// This include is not required anymore.
// #include
-#include
+#include
-#include "XmlEngDeserializer.h"
-#include "XmlEngDeserializerDOM.h"
-#include "XmlEngSerializer.h"
-#include
+#include
+#include
+#include
+#include
// CONSTANTS
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/src/xmlengtester.cpp
--- a/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/src/xmlengtester.cpp Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/src/xmlengtester.cpp Wed Jun 23 20:27:15 2010 +0530
@@ -17,7 +17,7 @@
// INCLUDE FILES
#include "xmlengtester.h"
#include "xmlengtesterdef.h"
-#include
+#include
#include
#include
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/src/xmlengtesterblocksaddfun.cpp
--- a/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/src/xmlengtesterblocksaddfun.cpp Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/src/xmlengtesterblocksaddfun.cpp Wed Jun 23 20:27:15 2010 +0530
@@ -23,14 +23,14 @@
#include
#include
-#include
+#include
#include "xmlengtesterdef.h"
#include
#include
#include
#include
-#include
+#include
/************************************** AddFun ****************************************/
diff -r ed3155dbd163 -r 74f0b3eb154c xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/src/xmlengtesterblocksbincont.cpp
--- a/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/src/xmlengtesterblocksbincont.cpp Mon May 03 14:14:40 2010 +0300
+++ b/xml/libxml2libs/test/xmlengtester/xmlengtester_emulator/src/xmlengtesterblocksbincont.cpp Wed Jun 23 20:27:15 2010 +0530
@@ -22,8 +22,9 @@
#include
#include