diff options
author | William R. Otte <wotte@dre.vanderbilt.edu> | 2008-03-04 13:56:48 +0000 |
---|---|---|
committer | William R. Otte <wotte@dre.vanderbilt.edu> | 2008-03-04 13:56:48 +0000 |
commit | c4078c377d74290ebe4e66da0b4975da91732376 (patch) | |
tree | 1816ef391e42a07929304908ac0e21f4c2f6cb7b /ACE/ACEXML | |
parent | 700d1c1a6be348c6c70a2085e559baeb8f4a62ea (diff) | |
download | ATCD-c4078c377d74290ebe4e66da0b4975da91732376.tar.gz |
swap in externals for ACE and TAO
Diffstat (limited to 'ACE/ACEXML')
148 files changed, 0 insertions, 20701 deletions
diff --git a/ACE/ACEXML/ACEXML.mwc b/ACE/ACEXML/ACEXML.mwc deleted file mode 100644 index dd297256b34..00000000000 --- a/ACE/ACEXML/ACEXML.mwc +++ /dev/null @@ -1,5 +0,0 @@ -// -*- MPC -*- -// $Id$ - -workspace { -} diff --git a/ACE/ACEXML/ChangeLog b/ACE/ACEXML/ChangeLog deleted file mode 100644 index ecb027c6021..00000000000 --- a/ACE/ACEXML/ChangeLog +++ /dev/null @@ -1,1142 +0,0 @@ -Mon Jul 30 08:38:12 UTC 2007 Johnny Willemsen <jwillemsen@remedy.nl> - - * apps/svcconf/Svcconf_Handler.cpp: - Layout changes - -Mon Jul 16 10:19:51 UTC 2007 Abdullah Sowayan <abdullah.sowayan@lmco.com> - - * apps/svcconf/Svcconf_Handler.h: - * apps/svcconf/Svcconf_Handler.cpp: - * common/Attributes_Def_Builder.h: - * common/ContentHandler.h: - * common/DTDHandler.h: - * common/DefaultHandler.h: - * common/DefaultHandler.cpp: - * common/Element_Def_Builder.h: - * common/EntityResolver.h: - * common/ErrorHandler.h: - * common/Validator.h: - * common/XMLFilterImpl.h: - * common/XMLFilterImpl.cpp: - * common/XMLReader.h: - * examples/SAXPrint/Print_Handler.h: - * examples/SAXPrint/Print_Handler.cpp: - * examples/SAXPrint/SAXPrint_Handler.h: - * examples/SAXPrint/SAXPrint_Handler.cpp: - * parser/debug_validator/Debug_Attributes_Builder.h: - * parser/debug_validator/Debug_Attributes_Builder.cpp: - * parser/debug_validator/Debug_Element_Builder.h: - * parser/debug_validator/Debug_Element_Builder.cpp: - * parser/parser/Parser.h: - * parser/parser/Parser.cpp: - * tests/ContentHandler_Test.cpp: - - Fixed Fuzz warnings. Zap the usage of exception specification. - -Sun Jun 3 20:02:32 UTC 2007 Olli Savia <ops@iki.fi> - - * common/FileCharStream.cpp: - Replaced ungetc with ACE_OS::ungetc. - -Fri May 18 02:50:42 UTC 2007 Abdullah Sowayan <abdullah.sowayan@lmco.com> - - * common/Mem_Map_Stream.cpp: - - It makes no sense to have code after a return statement - (such as ACE_ERROR_RETURN). It causes some builds to have - "statement is unreachable" warning. - - * examples/SAXPrint/main.cpp: - - Enhanced the "#ifndef" macros used to avoid "statement is - unreachable" warning. - -Tue May 15 17:36:23 UTC 2007 Johnny Willemsen <jwillemsen@remedy.nl> - - * parser/parser/ParserInternals.h: - Removed msg_ member, it is not used at all. Thanks to Rajiv K. Shukla - <rajiv_shukla at yahoo dot com> for reporting this - -Tue Feb 27 21:15:23 UTC 2007 Ossama Othman <ossama_othman at symantec dot com> - - * common/FileCharStream.cpp (open): - - s/ACE_Utils::Truncate/ACE_Utils::truncate_cast/g. The former is - deprecated. - -Tue Feb 20 17:26:28 UTC 2007 Krishnakumar B <kitty@nospam.invalid.domain> - - * common/InputSource.cpp: - * parser/parser/ParserContext.h: - * parser/parser/ParserContext.inl: - Use std::swap instead of ACE_Swap - -Tue Feb 13 20:17:28 UTC 2007 Krishnakumar B <kitty@nospam.invalid.domain> - - * apps/svcconf/Svcconf_Handler.cpp: Fixed a problem with - ACE_Module getting unloaded prematurely due to - ACEXML_Svcconf_Handler failing to register it with the service - repository. Thanks to gzeleniy@gmail.com for providing the fix. - -Wed Jan 03 14:20:00 UTC 2007 Simon Massey <sma@prismtech.com> - - * common/XML_Macros.h: - With MFC, must delete any caught and eaten "out of memory" exceptions. - -Fri Oct 28 02:29:57 UTC 2006 Ossama Othman <ossama_othman at symantec dot com> - - From Russell Mora <russell_mora at symantec dot com> - * common/ContentHandler.h: - * common/DefaultHandler.h: - * common/DefaultHandler.cpp: - * common/FileCharStream.cpp: - * common/FileCharStream.h: - * common/HttpCharStream.cpp: - * common/HttpCharStream.h: - * common/Mem_Map_Stream.cpp: - * common/Mem_Map_Stream.h: - * common/XMLFilterImpl.cpp: - * common/XMLFilterImpl.h: - * common/ZipCharStream.cpp: - * common/ZipCharStream.h: - * common/StrCharStream.cpp: - * examples/SAXPrint/Print_Handler.cpp: - * examples/SAXPrint/Print_Handler.h: - * examples/SAXPrint/SAXPrint_Handler.cpp: - * examples/SAXPrint/SAXPrint_Handler.h: - * parser/parser/Parser.cpp: - * parser/parser/Parser.h: - * tests/ContentHandler_Test.cpp: - - Added support for 64-bit file offsets. - - Addressed 64-bit conversion warnings. - -Tue Oct 24 18:00:15 UTC 2006 Ossama Othman <ossama_othman at symantec dot com> - - * common/common.mpc: - * parser/parser/parser.mpc: - - Re-disabled ACEXML when ace_for_tao is enabled. ACEXML needs - the ACE_Configuration and memory map classes that are not found - in the ace_for_tao subset. - -Mon Oct 24 02:26:32 UTC 2006 Ossama Othman <ossama_othman at symantec dot com> - - * common/common.mpc: - * parser/parser/parser.mpc: - - No longer any need to explicitly disable ACEXML in the - ace_for_tao configuration. - - * common/HttpCharStream.cpp: - - Fixed Coverity OVERRUN_STATIC and FORWARD_NULL errors. - - Improved const-correctness. - - * common/codecs.mpb: - - Disable ACEXML codecs support if ace_for_tao is enabled. - - * common/Mem_Map_Stream.cpp: - - Fixed Coverity NEGATIVE_RETURNS error. - - * common/SAXExceptions.cpp (_downcast): - - Removed redundant type checking code. - - (~ACEXML_SAXNotSupportedException): - (~ACEXML_SAXNotRecognizedException): - - Addressed Coverity USE_AFTER_FREE errors. - - (exception_name_): - * common/SAXExceptions.h (exception_name_): - - Declare this static constant as an array rather than a pointer. - Allows the compiler to perform additional optimizations. - -Tue Jun 20 08:23:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl> - - * parser/parser/Parser.cpp: - 64bit fix - -Thu Mar 30 13:14:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl> - - * common/NamespaceSupport.cpp: - Fixed value might be unitialized warnings - -Tue Mar 14 20:58:12 UTC 2006 jiang,shanshan <shanshan.jiang@vanderbilt.edu> - - * common/FileCharStream.cpp - * common/HttpCharStream.cpp - * common/Transcode.cpp - * common/XML_Macros.h - * parser/parser/Parser.cpp - * parser/parser/Parser.i - - Updated these files to solve the warnings when setting up "VC - level 4 warnings" on Windows. These warnings include - "unreachable code", "assignment within conditional expression", - "conversion from some type to another type, possible loss of - data", "local variable may be used without having been - initialized" and so on. Thanks to Lukas Gruetzmacher - <gruetzmacher at ais-dresden dot de> for motivating the fix to - these "VC level 4 warnings". - -Fri Feb 10 23:45:14 UTC 2006 Steve Huston <shuston@riverace.com> - - * common/NamespaceSupport.cpp: Add missing template instantiations to - match change below. - -Fri Feb 10 12:22:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl> - - * common/NamespaceSupport.cpp: - Fixed compile error in unicode build - -Thu Feb 9 22:49:18 UTC 2006 Krishnakumar B <kitty@nospam.invalid.domain> - - * common/NamespaceSupport.h: - * common/NamespaceSupport.cpp: Use a normal ACE_Unbounded_Stack - instead of yet another custom stack. - - * parser/parser/Parser.h: - * parser/parser/Parser.cpp: - - Fixed a mismatched push/pop of the namespace context due to - popping namespace contexts without matching the end of the - element that caused a push. This resulted in more pops that - push and corrupting the memory. Also fixed an indirection into - a pointer that might have been corrupt when calling - startNamespacePrefix(). - -Tue Jan 24 23:09:08 UTC 2006 Krishnakumar B <kitty@nospam.invalid.domain> - - * apps/svcconf/Svcconf.cpp: - * apps/svcconf/Svcconf.h: - - Removed the overridden operator new/delete. I don't think that - they serve any purpose, and end up hiding the default variations. - -Mon Jan 23 14:11:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl> - - * common/ZipCharStream.h: - Updated include of zziplib.h to zzip/zzip.h to get rid of deprecated - warnings - -Wed Jan 4 22:44:38 UTC 2006 J.T. Conklin <jtc@acorntoolworks.com> - - * ChangeLog: - - Untabify. - Delete-trailing-whitespace. - - Changed "add-log-time-format" to a really ugly lambda expression - that formats changelog timestamps in UTC and works with both GNU - Emacs and XEmacs. - -Thu May 26 07:35:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl> - - * common/XML_Util.h: - Fixed pragma once warning - -Tue May 24 18:39:02 2005 J.T. Conklin <jtc@acorntoolworks.com> - - * common/Makefile.am: - - Regenerate. - - * common/common.mpc: - - Added XML_Util.h to Header_Files section. - -Tue May 24 09:18:34 2005 Justin Michel <michel_j@ociweb.com> - - * tests/util/test.cpp: - - Fixed for loop scoping problem for non-standard compilers. - -Mon May 23 14:52:19 2005 Justin Michel <michel_j@ociweb.com> - - * tests/util/util.mpc: - - Add missing $ Id tag. - -Mon May 23 13:02:25 2005 Justin Michel <michel_j@ociweb.com> - - * common/XML_Util.h: - * common/XML_Util.cpp: - - Added new ACEXML_escape_string() functions to allow replacement of - illegal characters, (', ", &, <, >, etc.) with the escaped versions. - (", <, etc.) - - * tests/util/test.cpp: - * tests/util/util.mpc: - - This is a performance test used while making the above functions, and - testing performance with ACE_String_Base. - -Fri Apr 22 21:34:19 2005 Ossama Othman <ossama@dre.vanderbilt.edu> - - * parser/parser/Parser.cpp (parse_entity_decl): - - Fixed "variable may be used uninitialized" warning. - -Fri Apr 22 11:09:59 2005 J.T. Conklin <jtc@acorntoolworks.com> - - * parser/parser/Makefile.am: - * common/Makefile.am: - - Regenerated. - - * parser/parser/parser.mpc: - * common/common.mpc: - - Add Pkgconfig_Files section. - -Wed Apr 20 12:20:26 2005 Ossama Othman <ossama@dre.vanderbilt.edu> - - * common/Attributes.h: - * common/ContentHandler.h: - * common/DTDHandler.h: - * common/EntityResolver.h: - * common/ErrorHandler.h: - * common/Locator.h: - * common/XMLReader.h: - - Added virtual destructors to address g++ 4.0 warnings. - - * common/Attributes.cpp: - * common/ContentHandler.cpp: - * common/DTDHandler.cpp: - * common/EntityResolver.cpp: - * common/ErrorHandler.cpp: - * common/Locator.cpp: - * common/XMLReader.cpp: - - New files containing destructors. - - * common/NamespaceSupport.cpp (getURI): - - Fixed "variable may be used uninitialized" warning. - -Mon Apr 18 14:10:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl> - - * parser/parser/Entity_Manager.cpp: - Removed not uses static const - - * parser/parser/Entity_Manager.i: - Initialise pointer with 0 - -Sun Feb 13 23:54:25 2005 Ossama Othman <ossama@dre.vanderbilt.edu> - - From Lothar Werzinger <lothar at xcerla dot com> - * apps/svcconf/Svcconf_Handler.cpp: - - Enhanced error messages. - -Wed Jan 5 14:08:12 UTC 2004 Johnny Willemsen <jwillemsen@remedy.nl> - - * common/DefaultHandler.{h,cpp,i}: - * common/NamespaceSupport.{h,cpp,i}: - * common/Transcode.{h,cpp,i}: - * examples/SAXPrint/Print_Handler.{cpp,i}: - Removed .i file and updated h/cpp file - - * common/Makefile.am: - Updated - -Tue Aug 17 19:07:11 2004 J.T. Conklin <jtc@acorntoolworks.com> - - * common/NamespaceSupport.cpp: - - Changed ACE_NEW_RETURN to use "NS_Node_T" instead of "struct - NS_Node_T" --- the latter triggers a gcc 3.3 parser bug when - used with the "new (std::nothrow)" version of ACE_NEW_RETURN. - Fortunately, the "struct" is unnecessary. - -Sat Feb 21 23:51:25 2004 Krishnakumar B <kitty@isis.vanderbilt.edu> - - * common/Exception.h: - * common/Exception.cpp: - * common/SAXExceptions.h: - * common/SAXExceptions.cpp: - - Fixed a few bugs in the way the exceptions were set-up in the - case when exceptions=0. Provided implementations for operator - assignment and duplicate(). This should fix problems with - throwing and catching exceptions when exceptions=0. - -Sat Jan 31 20:06:57 2004 Krishnakumar B <kitty@cse.wustl.edu> - - * parser/parser/Parser.cpp (parse_PE_reference): Added ACE_TEXT - to satisfy WCHAR windows builds. Thanks to Johnny for reporting - these errors. - -Fri Jan 30 16:04:43 2004 Krishnakumar B <kitty@cse.wustl.edu> - - * parser/parser/Parser.cpp: Rewrote a simple string manipulation - involving ACE_String_Base<char>::operator +() to use const char* - instead of char, so that we don't need an explicit template - instantiation for it. - - * examples/SAXPrint/main.cpp: Added missing explicit template - instantiations for ACE_Auto_Basic_Ptr. - - Thanks to Olli Savia <ops@iki.fi> for reporting problems with - explicit template instantiation on LynxOS. - -Thu Jan 8 18:40:34 2004 Krishnakumar B <kitty@nospam.invalid.domain> - - - * common/CharStream.h: Added a new rewind() method so that we can - reuse the same parser instance to parse the same file multiple - times. - - * common/FileCharStream.cpp: - * common/HttpCharStream.h: - * common/HttpCharStream.cpp: - * common/StrCharStream.cpp: - * common/ZipCharStream.cpp: - - Fixed implementation of rewind(). - - * common/Mem_Map_Stream.cpp: - - Fixed memory leak caused by the Svc_Handler not getting deleted. - - * apps/svcconf/Makefile.ACEXML_XML_Svc_Conf_Parser: - * parser/parser/Makefile.ACEXML_Parser: - * examples/SAXPrint/Makefile.SAXPrint: - * common/Makefile.ACEXML: - * tests/Makefile.ContentHandler_Test: - * tests/Makefile.HttpCharStream_Test: - * tests/Makefile.NamespaceSupport_Test: - * tests/Makefile.Transcoder_Test: - - Updated dependencies. - - * examples/SAXPrint/main.cpp: - - Added code to test the parser to parse the same file multiple - times. This still needs some cleaning. - - * parser/parser/Entity_Manager.h: - * parser/parser/Entity_Manager.i: - * parser/parser/Entity_Manager.cpp: - - Use a pointer to ACE_Hash_Map_Manager_Ex and delete it on every - reset() of the Entity_Manager. This should fix all the problems - with SIGFPE's when we try to recover from a parse error. - - * parser/parser/Parser.cpp: - * parser/parser/ParserContext.h: - * parser/parser/ParserContext.inl: - - Fixed memory leaks reported by Ken Sedgewick <ken@bonsai.com>. - This should fix Bugzill bug 1694. While at it, fix bugs in - handling of entity references in INCLUDE/IGNORE sections, - ATTLIST sections. - - -Thu Dec 18 13:13:57 2003 Krishnakumar B <kitty@nospam.invalid.domain> - - * common/Transcode.h (ACEXML_Transcoder): - * common/Transcode.cpp (ACEXML_Transcoder): - - Renamed the ACEXML_Transcoder::STATUS enum to use ACEXML - prefixes. Thanks to Johnny Willemsen <jwillemsen@remedy.nl> for - reporting the clash with native #defines on Tru64. - -Sat Jul 19 18:38:50 UTC 2003 Don Hinton <dhinton@dresystems.com> - - * apps/svcconf/Svcconf.h: - * common/*.h: - * parser/*.h: - * parser/parser/*.h: - Added "/**/" between the #include and filename for pre.h and - post.h so Doxygen won't include them in the file reference tree - graphs. - -Fri Jul 18 10:29:55 2003 Krishnakumar B <kitty@nospam.invalid.domain> - - * tests/NamespaceSupport_Test.cpp (ACE_TMAIN): Added - initialization of ACEXML_NamespaceSupport so that we don't - crash. - - * tests/ContentHandler_Test.cpp: Removed "</xml>" at the end of - the ACEXML_StrCharStream. XML is not HTML. Added a print - statement to the catch clause so that we know what is happening - when exception occurs. - -Mon Jul 14 18:49:01 UTC 2003 Johnny Willemsen <jwillemsen@remedy.nl> - - * apps/svcconf/Makefile: - * common/Makefile: - * examples/SAXPrint/Makefile: - * parser/parser/Makefile: - * tests/Makefile: - Removed windows specific rules. They are not needed and only - cause problems when using a different command shell then cmd - like msys. This solves errors in the MinGW build. -Sat Jul 5 13:33:36 UTC 2003 Johnny Willemsen <jwillemsen@remedy.nl> - - * Makefile: - Removed windows specific rules. They are not needed and only - cause problems when using a different command shell then cmd - like msys. This solves errors in the MinGW build. - -Fri Jun 27 12:55:33 UTC 2003 Johnny Willemsen <jwillemsen@remedy.nl> - - * parser/parser/Entity_Manager.h: - * parser/parser/Entity_Manager.i: - Removed not useful const return qualifier to resolve intel - compiler warnings. - -Thu Jun 26 01:47:03 UTC 2003 Don Hinton <dhinton@dresystems.com> - - * parser/parser/Parser.i: - Added (int) cast to table index to get rid of a warning. - -Tue Jun 24 23:31:44 2003 Nanbor Wang <nanbor@cs.wustl.edu> - - * apps/svcconf/Svcconf.cpp: Turned off validation temporarily when - handling svc.conf files. All of the converted svc.conf.xml - files do not have associate doctype at the moment. - -Tue Jun 24 15:38:49 UTC 2003 Don Hinton <dhinton@dresystems.h> - - * common/NamespaceSupport.i: - Added include of ACE.h. - -Sun Jun 1 09:09:22 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu> - - * parser/parser/Parser.cpp: - * parser/parser/Entity_Manager.cpp: Added explicit template - instantiations. - -Fri May 30 14:16:33 2003 Krishnakumar B <kitty@spam.invalid.domain> - - * examples/svcconf/.depend.Makefile.Svcconf: - * examples/svcconf/Makefile: - * examples/svcconf/Makefile.Svcconf: - * examples/svcconf/Makefile.Svcconf.bor: - * examples/svcconf/Makefile.bor: - * examples/svcconf/README: - * examples/svcconf/Svcconf.dsp: - * examples/svcconf/Svcconf.dsw: - * examples/svcconf/Svcconf.mpc: - * examples/svcconf/Svcconf_Handler.cpp: - * examples/svcconf/Svcconf_Handler.h: - * examples/svcconf/Svcconf_Handler.i: - * examples/svcconf/main.cpp: - - Removed directories causing problems with Win XP release. - - * ACEXML.dsw: - * Makefile: - * Makefile.bor: - * apps/svcconf/Makefile: - * apps/svcconf/Makefile.ACEXML_XML_Svc_Conf_Parser.bor: - * apps/svcconf/Makefile.bor: - * common/Makefile: - * common/Makefile.ACEXML.bor: - * common/Makefile.bor: - * examples/SAXPrint/Makefile: - * examples/SAXPrint/Makefile.SAXPrint.bor: - * examples/SAXPrint/Makefile.bor: - * parser/parser/Makefile: - * parser/parser/Makefile.ACEXML_Parser.bor: - * parser/parser/Makefile.bor: - * tests/.depend.Makefile.ContentHandler_Test: - * tests/.depend.Makefile.HttpCharStream_Test: - * tests/.depend.Makefile.NamespaceSupport_Test: - * tests/.depend.Makefile.Transcoder_Test:: - * tests/Makefile: - * tests/Makefile.ContentHandler_Test: - * tests/Makefile.ContentHandler_Test.bor: - * tests/Makefile.HttpCharStream_Test.bor: - * tests/Makefile.NamespaceSupport_Test.bor: - * tests/Makefile.Transcoder_Test.bor: - * tests/Makefile.bor: - - More build related delicacies needed updating because of the - previous change. - -Fri May 30 13:56:40 2003 Krishnakumar B <kitty@spam.invalid.domain> - - * common/XML_Common.dsp: Removed old dsp left over from previous - merge. - -Fri May 30 13:54:57 2003 Krishnakumar B <kitty@spam.invalid.domain> - - * parser/parser/Parser.dsp: Removed this erroneous dsp file left - over from the merge. - -Fri May 30 13:50:11 2003 Krishnakumar B <kitty@spam.invalid.domain> - - * common/ZipCharStream.h: Removed broken logic to undefine macro - version of read. We don't want read to be a macro in ACEXML. - Present because of brokenness in ZZIPLIB. - -Fri May 30 13:36:39 2003 Krishnakumar B <kitty@spam.invalid.domain> - - * parser/parser/Parser.cpp (parse_ignoresect): Fixed a couple of - warnings. Break out of infinite loop. - - * apps/svcconf/.depend.Makefile.ACEXML_XML_Svc_Conf_Parser: - * common/.depend.Makefile.ACEXML: - * examples/SAXPrint/.depend.Makefile.SAXPrint: - * examples/svcconf/.depend.Makefile.Svcconf: - * parser/parser/.depend.Makefile.ACEXML_Parser: - - Added missing dependency files. This should clear out the red. - - * examples/svcconf/main.cpp: - * common/HttpCharStream.cpp: - * parser/parser/Parser.i: - - Fixed warnings with BCB. Thanks to Johnny for reporting these. - -Thu May 29 23:13:40 2003 Krishnakumar B <kitty@spam.invalid.domain> - - * examples/SAXPrint/SAXPrint_Handler.cpp: Fixed some minor - warnings. - -Thu May 29 23:09:27 2003 Krishnakumar B <kitty@spam.invalid.domain> - - * parser/parser/Makefile.Parser: - - Removed extra file left over by mistake. - -Thu May 29 23:00:24 2003 Krishnakumar B <kitty@spam.invalid.domain> - - * tests/Makefile.ContentHandler_Test: - * tests/Makefile: - - This file got left out by mistake during the big merge. - -Thu May 29 22:03:40 2003 Krishnakumar B <kitty@spam.invalid.domain> - - * ACEXML.mwc: - * ChangeLog: - * apps/svcconf/ACEXML_XML_Svc_Conf_Parser.dsp: - * apps/svcconf/Makefile.ACEXML_XML_Svc_Conf_Parser: - * apps/svcconf/Makefile.ACEXML_XML_Svc_Conf_Parser.bor: - * common/ACEXML.dsp: - * common/Makefile.ACEXML: - * common/Makefile.ACEXML.bor: - * examples/SAXPrint/Makefile.SAXPrint: - * examples/SAXPrint/Makefile.SAXPrint.bor: - * examples/svcconf/Makefile: - * examples/svcconf/Makefile.Svcconf: - * examples/svcconf/Makefile.Svcconf.bor: - * examples/svcconf/Svcconf.mpc: - * parser/parser/ACEXML_Parser.dsp: - * parser/parser/Makefile.ACEXML_Parser: - * parser/parser/Makefile.ACEXML_Parser.bor: - * parser/parser/Makefile.Parser: - * tests/Makefile.ContentHandler_Test.bor: - * tests/Makefile.HttpCharStream_Test: - * tests/Makefile.HttpCharStream_Test.bor: - * tests/Makefile.NamespaceSupport_Test: - * tests/Makefile.NamespaceSupport_Test.bor: - * tests/Makefile.Transcoder_Test: - * tests/Makefile.Transcoder_Test.bor: - - New files to build ACEXML generated using MPC. - - * apps/svcconf/svcconf.dtd: - - Moved the DTD from a hidden location to a prominent one. - - * examples/SAXPrint/namespaces.xml: - - New file to test namespace support. - - * common/ZipCharStream.cpp: - * common/ZipCharStream.h: - - New files to support reading files from within a ZIP archive as - a stream. - - * parser/parser/ParserContext.cpp: - * parser/parser/ParserContext.h: - * parser/parser/ParserContext.inl: - - New files to support a per stream context encountered when - parsing references. - - * parser/parser/ParserInternals.cpp: - * parser/parser/ParserInternals.h: - - Move some common functions from Parser.cpp to these files. - - * ACEXML.dsw: - * Makefile: - * Makefile.bor: - * apps/svcconf/Makefile: - * apps/svcconf/Makefile.bor: - * common/Makefile: - * common/Makefile.bor: - * examples/SAXPrint/Makefile: - * examples/SAXPrint/Makefile.bor: - * examples/SAXPrint/SAXPrint.dsp: - * examples/SAXPrint/SAXPrint.mpc: - * examples/svcconf/Makefile.bor: - * examples/svcconf/Svcconf.dsp: - * parser/parser/Makefile: - * parser/parser/Makefile.bor: - * tests/ContentHandler_Test.cpp: - * tests/ContentHandler_Test.dsp: - * tests/HttpCharStream_Test.cpp: - * tests/HttpCharStream_Test.dsp: - * tests/Makefile: - * tests/Makefile.bor: - * tests/NamespaceSupport_Test.dsp: - * tests/Transcoder_Test.dsp: - - Build related files changed with the introduction of MPC to - build ACEXML. - - * examples/SAXPrint/ns.svc.conf.xml: - * examples/SAXPrint/svc.conf.xml: - - New files to test specific features of the parser. - - * apps/svcconf/Svcconf.cpp: - * common/Attributes.h: - * common/Attributes_Def_Builder.h: - * common/CharStream.h: - * common/DefaultHandler.cpp: - * common/Encoding.cpp: - * common/Encoding.h: - * common/Exception.cpp: - * common/FileCharStream.cpp: - * common/FileCharStream.h: - * common/HttpCharStream.cpp: - * common/HttpCharStream.h: - * common/InputSource.cpp: - * common/InputSource.h: - * common/LocatorImpl.cpp: - * common/LocatorImpl.h: - * common/Mem_Map_Stream.cpp: - * common/NamespaceSupport.cpp: - * common/NamespaceSupport.h: - * common/SAXExceptions.cpp: - * common/StrCharStream.cpp: - * common/StrCharStream.h: - * common/StreamFactory.cpp: - * common/Transcode.cpp: - * common/Transcode.h: - * common/Transcode.i: - * examples/SAXPrint/Print_Handler.cpp: - * examples/SAXPrint/SAXPrint_Handler.cpp: - * examples/SAXPrint/main.cpp: - * examples/svcconf/main.cpp: - * parser/parser/Parser.cpp: - * parser/parser/Parser.h: - * parser/parser/Parser.i: - * parser/parser/Entity_Manager.cpp: - * parser/parser/Entity_Manager.h: - * parser/parser/Entity_Manager.i: - - Merge from the Validator branch. It is not close to conformance - related to Validation but is quite stable as a parser which - recognizes the complete XML grammar. - -Fri Jan 24 20:28:22 2003 Krishnakumar B <kitty@insanely.long.id.truncated> - - * parser/parser/Parser.cpp (pop_context): Bail out if there is - only one element on the context stack. Bad things [TM] will happen - if we pop the only context available. - -Mon Nov 25 04:25:15 2002 Krishnakumar B <kitty@cs.wustl.edu> - - * parser/parser/Parser.cpp (reset): - * parser/parser/Parser.h: - - Fixed a bunch of compilation errors. Removed unnecessary - creation and destroyal of ACEXML_Strings which seems to speed up - the parser quite a bit. - - * examples/SAXPrint/SAXPrint_Handler.cpp: - * examples/SAXPrint/main.cpp: - - Don't report startPrefixMapping() and endPrefixMapping() as they - obstruct the pretty-printing of SAXPrint. They are bogus anyway. - -Wed Nov 20 22:58:12 2002 Krishnakumar B <kitty@cs.wustl.edu> - - * parser/parser/Parser.cpp (parse_char_reference): - - Fixed stupid thinko in conditional parsing of a hex character - reference. - - * common/Mem_Map_Stream.cpp: - - We can use the old way of fetching on-demand and don't need to - use a while loop. - - * common/NamespaceSupport.cpp: - - Fixed a long-standing bug with core dumping. With these changes, - we are able to parse the XML specification itself. Is this - called Meta or what ? - -Wed Nov 20 20:44:56 2002 Krishnakumar B <kitty@cs.wustl.edu> - - * common/Mem_Map_Stream.cpp (grow_file_and_remap): - - Fixed bug where we were trying to remap two different files at - the same location without closing the first. - - * common/HttpCharStream.cpp (get_url): - - Don't try to parse an empty file. Removes a nasty SIGSEGV. - -Wed Nov 20 01:06:26 2002 Krishnakumar B <kitty@cs.wustl.edu> - - * common/Mem_Map_Stream.cpp: - - Minor indenting changes. - - * tests/HttpCharStream_Test.cpp: - - Modified test to show bug in ACE_File_Addr. - -Tue Nov 19 20:46:35 2002 Krishnakumar B <kitty@cs.wustl.edu> - - * examples/SAXPrint/Print_Handler.cpp (warning): - - Missed syncing the function prototypes last time. - -Tue Nov 19 20:18:09 2002 Krishnakumar B <kitty@cs.wustl.edu> - - * parser/parser/Parser.h: - * parser/parser/Parser.cpp (normalize_systemid): - - Fix an off-by-one error in normalization. The document's base - URI is never empty. Now we parse relative document URI - correctly. - - Implement the previously unimplemented parsing from a systemId. - - * common/InputSource.cpp: - * common/InputSource.h: - - Implement creating an InputSource from a systemId. - - * common/CharStream.h: - - Added a new method getSystemId(). - - * common/FileCharStream.cpp: - * common/FileCharStream.h: - * common/HttpCharStream.cpp: - * common/HttpCharStream.h: - * common/ZipCharStream.cpp: - * common/ZipCharStream.h: - * common/StrCharStream.cpp: - * common/StrCharStream.h: - - Added implementation for getSystemId(). - - * examples/SAXPrint/Print_Handler.cpp: - * examples/SAXPrint/SAXPrint_Handler.cpp: - - Synched up the printing of exception messages. - - * examples/SAXPrint/main.cpp: - - Fixed broken internal string version of a sample XML file. - -Tue Nov 19 15:02:06 2002 Krishnakumar B <kitty@cs.wustl.edu> - - * apps/svcconf/XML_Svc_Conf_Parser.dsp: - * common/XML_Common.dsp: - * examples/SAXPrint/SAXPrint.dsp: - * parser/debug_validator/Debug_Validator.dsp: - * parser/parser/Parser.dsp: - - Modified to accomodate zlib and zziplig. Will probably change - before the merge. - - * parser/parser/Parser.cpp: - - Try to parse external DTD only if validation is required. - -Mon Nov 18 22:29:39 2002 Krishnakumar B <kitty@cs.wustl.edu> - - * Makefile: - - Deleted this file in the previous check-in. Re-add it. - -Mon Nov 18 22:19:47 2002 Krishnakumar B <kitty@cs.wustl.edu> - - * common/common.mpc: - * parser/parser/parser.mpc: - * parser/debug_validator/validator.mpc: - * apps/svcconf/svcconf.mpc: - * examples/svcconf/Svcconf.mpc: - * examples/SAXPrint/saxprint.mpc: - * tests/tests.mpc: - * ACEXML.mwc: - - New MPC files and Workspace file. - - * common/Makefile.XML_Common: - * apps/svcconf/Makefile.XML_Svc_Conf_Parser: - * parser/parser/Makefile.Parser: - * parser/debug_validator/Makefile.Validator: - * examples/SAXPrint/Makefile.SAXPrint: - * examples/svcconf/Makefile.Svcconf: - * tests/Makefile.HttpCharStream_Test: - * tests/Makefile.NamespaceSupport_Test: - * tests/Makefile.Transcoder_Test: - - New Makefiles generated by MPC. - - * common/Makefile: - * parser/parser/Makefile: - * parser/Makefile: - * examples/Makefile: - * apps/Makefile: - * apps/svcconf/Makefile: - * examples/SAXPrint/Makefile: - * tests/Makefile: - - Removed old Makefiles. - - * parser/parser/Parser.cpp: - * common/StreamFactory.cpp: - * common/ZipCharStream.cpp: - * common/ZipCharStream.h: - - Fixed compilation errors. - -Mon Nov 18 20:30:30 2002 Krishnakumar B <kitty@cs.wustl.edu> - - * common/CharStream.h: - * common/Encoding.cpp: - * common/FileCharStream.cpp: - * common/FileCharStream.h: - * common/StrCharStream.cpp: - * common/StrCharStream.h: - * common/HttpCharStream.cpp: - * common/HttpCharStream.h: - - Fixed a number of minor typos and debugging statements. - - * common/LocatorImpl.cpp: Check for a valid string before - assigning it to the new Locator. - - * common/NamespaceSupport.cpp: - - Make sure that we don't have a null prefix before trying to - dereference the prefix. - - * common/ZipCharStream.cpp: - * common/ZipCharStream.h: - - New stream which reads files from a ZIP archive. - - * common/StreamFactory.cpp: - - Modified to accomodate ZipCharStream. - - * examples/SAXPrint/Print_Handler.cpp: - * examples/SAXPrint/SAXPrint_Handler.cpp: - * examples/SAXPrint/main.cpp: - - Commented out a lot of unnecessary debug statements. - - * parser/parser/Parser.cpp: - * parser/parser/Parser.h: - - Lots of bugfixes. Finally we parse the XML version of XHTML - specification without dumping core. - -Sat Nov 16 21:18:55 2002 Krishnakumar B <kitty@cs.wustl.edu> - - * parser/parser/Parser.cpp: - * parser/parser/Parser.h: - - More bugs fixed. Add support for parsing PE references within - attribute list declarations and clean up the same. Add support - for parsing PE references within element declarations. - -Tue Nov 12 19:48:34 2002 Krishnakumar B <kitty@cs.wustl.edu> - - * parser/parser/ParserContext.cpp: - * parser/parser/ParserContext.h: - * parser/parser/ParserContext.inl: - - New files which hold the ParserContext needed to handle the - switching of input streams on the fly. - - * parser/parser/ParserInternals.cpp: - * parser/parser/ParserInternals.h: - - Moved some generic code from Parser.cpp to here. - - * apps/svcconf/Makefile: - * common/Makefile: - * parser/parser/Makefile: - - Updated dependencies. - - * common/Attributes_Def_Builder.h: - - No need to typedef in C++. - - * common/DefaultHandler.cpp: - - Minor typos. - - * common/Encoding.cpp: - - If auto-detection of encoding fails, assume that it is UTF-8. - - * common/Exception.cpp: - - Change the error message from ACE_DEBUG to ACE_ERROR. - - * common/FileCharStream.cpp: Handle BOM of UTF-8 in - addition to UTF-16. Cleanup unnecessary parens. - - * common/HttpCharStream.cpp: - * common/HttpCharStream.h: - - Add support for auto-detection of encoding. - - * common/InputSource.cpp: - * common/InputSource.h: - - Fixes for use with ACEXML_Parser_Context. - - * common/LocatorImpl.cpp: - * common/LocatorImpl.h: - - Fixed bug in copy constructor which resulted in locator - information not getting set properly. - - * common/NamespaceSupport.cpp: - * common/NamespaceSupport.h: - - Implement reset() method. - - * common/SAXExceptions.cpp: - - Change the error message from ACE_DEBUG to ACE_ERROR. - - * common/StrCharStream.cpp: - - Handle copying of bytes according to sizeof (ACE_WCHAR). - - * common/StreamFactory.cpp: Create the appropriate stream - given an URI. We don't try to normalize the URI here. It is done - in the Parser. - - * common/Transcode.cpp: - * common/Transcode.i: - - Moved some very big functions from .i to .cpp. - - * examples/SAXPrint/SAXPrint_Handler.cpp: - * examples/SAXPrint/main.cpp: - - Updates to reflect the new calling convention in the Parser. - - * parser/parser/Entity_Manager.cpp: - * parser/parser/Entity_Manager.h: - * parser/parser/Entity_Manager.i: - - Implemented support for resolving SYSTEM and PUBLIC ids from - the Entity_Manager. - - * parser/parser/Parser.cpp: - * parser/parser/Parser.h: - * parser/parser/Parser.i: - - Implemented support for external parameter and entity - references. Rewrote a lot of the basic parsing functionality to - adhere to the standard. Implment partial support for validation - of XML files. - - -Fri Oct 25 15:44:04 2002 Krishnakumar B <kitty@cs.wustl.edu> - - * parser/parser/Parser.i: Handle end-of-line as required by - the spec. Specifically any sequence of 0x0D or 0x0D 0x0A should - be normalized to a 0x0A before passing to the XML processor. - - * parser/parser/Parser.cpp: Remove checks for 0x0D as it is - handled tranparently now. - -Thu Oct 24 21:06:44 2002 Krishnakumar B <kitty@cs.wustl.edu> - - * common/NamespaceSupport.cpp: Define strings normally and - not as an array. - - * common/Attributes_Def_Builder.h: No need to typedef in C++. - -Thu Oct 24 01:52:46 2002 Krishnakumar B <kitty@cs.wustl.edu> - - * ACEXML\parser\parser\Parser.cpp: Moved out the declaration of - variables outside case labels. MSVC doesn't like it. - -Wed Oct 23 22:24:59 2002 Krishnakumar B <kitty@cs.wustl.edu> - - * parser/parser/Parser.cpp: Fixed a stupid thinko in array - initialization. - -Wed Oct 23 17:27:14 2002 Krishnakumar B <kitty@cs.wustl.edu> - - * common/Encoding.cpp: - * common/Encoding.h: - - Use UTF-16 instead of UTF-16LE/UTF-16BE as the specification - doesn't require mentioning the endianness of the input. - - * common/Transcode.h: Fixed some minor typos. - - * examples/SAXPrint/namespaces.xml: New file which tests - out the namespaces feature much better. - - * apps/svcconf/Makefile: - * parser/parser/Makefile: - - Updated dependencies. - - * parser/parser/ParserErrors.h: New file which contains the - error codes of all the error spit out by the parser. - - * examples/SAXPrint/Print_Handler.cpp: - * examples/SAXPrint/SAXPrint_Handler.cpp: - - Make sure that the characters() function describes the arguments - as start and length instead of start and end. - - * parser/parser/Parser.dsp: Added ParserErrors.h to the - project file. - - * parser/parser/Parser.cpp: - * parser/parser/Parser.h: - - Use minor codes when reporting error in the parser. This cleans - up a lot of repeated error messages and indenting so that we - don't need to spill over 80 columns and have a standardized way - of reporting errors. Rewrote parse_cdata() so that is is much - simpler. Removed try_grow_cdata() as it is no longer needed. - Handle the case when the parser was accepting invalid character - references(). - -Local Variables: -mode: change-log -add-log-time-format: (lambda () (progn (setq tz (getenv "TZ")) (set-time-zone-rule "UTC") (setq time (format-time-string "%a %b %e %H:%M:%S %Z %Y" (current-time))) (set-time-zone-rule tz) time)) -indent-tabs-mode: nil -End: diff --git a/ACE/ACEXML/Makefile.am b/ACE/ACEXML/Makefile.am deleted file mode 100644 index 5e025e19d26..00000000000 --- a/ACE/ACEXML/Makefile.am +++ /dev/null @@ -1,17 +0,0 @@ -## Process this file with automake to create Makefile.in -## -## $Id$ -## -## This file was generated by MPC. Any changes made directly to -## this file will be lost the next time it is generated. -## -## MPC Command: -## ./bin/mwc.pl -type automake -noreldefs ACE.mwc - -SUBDIRS = \ - common \ - parser \ - examples \ - apps \ - tests - diff --git a/ACE/ACEXML/README b/ACE/ACEXML/README deleted file mode 100644 index 1e65588029e..00000000000 --- a/ACE/ACEXML/README +++ /dev/null @@ -1,17 +0,0 @@ -$Id$ - -ACE XML PARSER Framework README file - -* Character set - -ACE XML only deal with pure unicode encoding. I.e., ACE XML -does not care about language specific encoding information. - -* SAX - The Simple API for XML - -ACE XML Parser interfaces follows the the design of SAX 2.0, which is -a public domain specification for Java. The major difference between -ACE XML Parser interfaces and SAX is that we added an reference of -ACEXML_Env to every SAX method to accomodate platforms/compilers that -don't support C++ exceptions. SAX is defined by David Megginson -<david@megginson.com> diff --git a/ACE/ACEXML/apps/Makefile.am b/ACE/ACEXML/apps/Makefile.am deleted file mode 100644 index 7f7bf963687..00000000000 --- a/ACE/ACEXML/apps/Makefile.am +++ /dev/null @@ -1,13 +0,0 @@ -## Process this file with automake to create Makefile.in -## -## $Id$ -## -## This file was generated by MPC. Any changes made directly to -## this file will be lost the next time it is generated. -## -## MPC Command: -## ./bin/mwc.pl -type automake -noreldefs ACE.mwc - -SUBDIRS = \ - svcconf - diff --git a/ACE/ACEXML/apps/svcconf/ACEXML_XML_Svc_Conf_Parser.pc.in b/ACE/ACEXML/apps/svcconf/ACEXML_XML_Svc_Conf_Parser.pc.in deleted file mode 100644 index 3cda818ca76..00000000000 --- a/ACE/ACEXML/apps/svcconf/ACEXML_XML_Svc_Conf_Parser.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: ACEXML_XML_Svc_Conf_Parser -Description: ACE XML Service Configurator Parser -Requires: ACEXML_Parser -Version: @VERSION@ -Libs: -L${libdir} -lACEXML_XML_Svc_Conf_Parser -Cflags: -I${includedir} diff --git a/ACE/ACEXML/apps/svcconf/Makefile.am b/ACE/ACEXML/apps/svcconf/Makefile.am deleted file mode 100644 index 2464ab3ad33..00000000000 --- a/ACE/ACEXML/apps/svcconf/Makefile.am +++ /dev/null @@ -1,79 +0,0 @@ -## Process this file with automake to create Makefile.in -## -## $Id$ -## -## This file was generated by MPC. Any changes made directly to -## this file will be lost the next time it is generated. -## -## MPC Command: -## ./bin/mwc.pl -type automake -noreldefs ACE.mwc - -includedir = @includedir@/ACEXML/apps/svcconf - -ACE_BUILDDIR = $(top_builddir) -ACE_ROOT = $(top_srcdir) - - -## Makefile.ACEXML_XML_Svc_Conf_Parser.am - -if BUILD_ACEXML -if !BUILD_ACE_FOR_TAO - -lib_LTLIBRARIES = libACEXML_XML_Svc_Conf_Parser.la - -libACEXML_XML_Svc_Conf_Parser_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(ACE_ROOT)/ACEXML/common - -if BUILD_ZLIB -if BUILD_ZZIP -libACEXML_XML_Svc_Conf_Parser_la_CPPFLAGS += \ - $(ACE_ZZIP_CPPFLAGS) \ - $(ACE_ZLIB_CPPFLAGS) -endif BUILD_ZZIP -endif BUILD_ZLIB - -libACEXML_XML_Svc_Conf_Parser_la_SOURCES = \ - Svcconf.cpp \ - Svcconf_Handler.cpp - -libACEXML_XML_Svc_Conf_Parser_la_LDFLAGS = \ - -release @ACE_VERSION_NAME@ - -if BUILD_ZLIB -if BUILD_ZZIP -libACEXML_XML_Svc_Conf_Parser_la_LDFLAGS += \ - $(ACE_ZZIP_LDFLAGS) \ - $(ACE_ZLIB_LDFLAGS) -endif BUILD_ZZIP -endif BUILD_ZLIB - -libACEXML_XML_Svc_Conf_Parser_la_LIBADD = \ - $(ACE_BUILDDIR)/ACEXML/parser/parser/libACEXML_Parser.la \ - $(ACE_BUILDDIR)/ACEXML/common/libACEXML.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -if BUILD_ZLIB -if BUILD_ZZIP -libACEXML_XML_Svc_Conf_Parser_la_LIBADD += \ - $(ACE_ZZIP_LIBS) \ - $(ACE_ZLIB_LIBS) -endif BUILD_ZZIP -endif BUILD_ZLIB - -nobase_include_HEADERS = \ - Svcconf.h \ - Svcconf_Handler.h \ - Svcconf_Handler.inl - -endif !BUILD_ACE_FOR_TAO -endif BUILD_ACEXML - -## Clean up template repositories, etc. -clean-local: - -rm -f *~ *.bak *.rpo *.sym lib*.*_pure_* core core.* - -rm -f gcctemp.c gcctemp so_locations *.ics - -rm -rf cxx_repository ptrepository ti_files - -rm -rf templateregistry ir.out - -rm -rf ptrepository SunWS_cache Templates.DB diff --git a/ACE/ACEXML/apps/svcconf/README b/ACE/ACEXML/apps/svcconf/README deleted file mode 100644 index 8a39a40bfe3..00000000000 --- a/ACE/ACEXML/apps/svcconf/README +++ /dev/null @@ -1,4 +0,0 @@ -$Id$ - -This directory implement a DLL that contains the parser for XML based -service configurator. diff --git a/ACE/ACEXML/apps/svcconf/Svcconf.cpp b/ACE/ACEXML/apps/svcconf/Svcconf.cpp deleted file mode 100644 index 7fd69046ec3..00000000000 --- a/ACE/ACEXML/apps/svcconf/Svcconf.cpp +++ /dev/null @@ -1,124 +0,0 @@ -// $Id$ - - -#include "Svcconf.h" -#include "ACEXML/common/FileCharStream.h" -#include "ACEXML/common/StrCharStream.h" -#include "ACEXML/parser/parser/Parser.h" - -#if (ACE_USES_CLASSIC_SVC_CONF == 0) - -extern "C" ACE_Proper_Export_Flag ACE_XML_Svc_Conf * -_ACEXML_create_XML_Svc_Conf_Object (void) -{ - ACE_XML_Svc_Conf *retp = 0; - - ACE_NEW_RETURN (retp, - ACEXML_Svcconf_Parser (), - 0); - - return retp; -} - -ACEXML_Svcconf_Parser::ACEXML_Svcconf_Parser () -{ - this->parser_.setContentHandler (&this->svcconf_handler_); - this->parser_.setDTDHandler (&this->svcconf_handler_); - this->parser_.setErrorHandler (&this->svcconf_handler_); - this->parser_.setEntityResolver (&this->svcconf_handler_); - ACEXML_TRY_NEW_ENV - { - this->parser_.setFeature (ACE_TEXT ("http://xml.org/sax/features/validation"), - 0 - ACEXML_ENV_ARG_PARAMETER); - ACEXML_TRY_CHECK; - } - ACEXML_CATCH (ACEXML_SAXException, ex) - { - ex.print (); // Can't do much except printing the error. - return; - } - ACEXML_ENDTRY; -} - -ACEXML_Svcconf_Parser::~ACEXML_Svcconf_Parser () -{ - -} - - -int -ACEXML_Svcconf_Parser::parse_file (const ACE_TCHAR file[]) -{ - if (file == 0) - ACE_ERROR_RETURN ((LM_ERROR, "ACEXML_Svcconf_Parser: No filename specified\n"), -1); - - ACEXML_FileCharStream *fstm = 0; - ACE_NEW_RETURN (fstm, - ACEXML_FileCharStream (), - 1); - - if (fstm->open (file) != 0) - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("ACEXML_Svcconf_Parser: Fail to open XML file: %s\n"), - file), - -1); - - this->input_stream_.setCharStream (fstm); - - ACEXML_TRY_NEW_ENV - { - this->parser_.parse (&this->input_stream_ ACEXML_ENV_ARG_PARAMETER); - ACEXML_TRY_CHECK; - } - ACEXML_CATCH (ACEXML_SAXException, ex) - { - ex.print (); - return -1; - } - ACEXML_ENDTRY; - return 0; -} - - -int -ACEXML_Svcconf_Parser::parse_string (const ACE_TCHAR str[]) -{ - if (str == 0) - ACE_ERROR_RETURN ((LM_ERROR, "ACEXML_Svcconf_Parser: Can't parse a null string\n"), -1); - - ACEXML_StrCharStream *stm = 0; - ACE_NEW_RETURN (stm, ACEXML_StrCharStream, -1); - if (stm->open (str, ACE_TEXT ("Svcconf")) < 0) - ACE_ERROR_RETURN ((LM_ERROR, "ACEXML_Svcconf_Parser: Unable to create " - "input stream.\n"), -1); - - this->input_stream_.setCharStream (stm); - ACEXML_TRY_NEW_ENV - { - this->parser_.parse (&this->input_stream_ ACEXML_ENV_ARG_PARAMETER); - ACEXML_TRY_CHECK; - } - ACEXML_CATCH (ACEXML_SAXException, ex) - { - // If there was a problem parsing the stream, set the errno - // to EINVAL to indicate to upper levels that the stream was - // invalid. - ACE_OS::last_error (EINVAL); - ex.print (); - return -1; - } - ACEXML_ENDTRY; - return 0; -} - -#else - -# if defined (_AIX) && \ - (defined (__IBMCPP__) && (__IBMCPP__ >= 500) && (__IBMCPP__ < 600)) -// This simply shuts up the AIX linker that complains there are no -// csects or exported symbols when building with Visual Age C++ 5. -extern "C" void ace_shut_up_aix_ld (void) {}; -# endif /* AIX && __IBMCPP__ == 500 */ - -#endif /* ACE_USES_CLASSIC_SVC_CONF == 0 */ diff --git a/ACE/ACEXML/apps/svcconf/Svcconf.h b/ACE/ACEXML/apps/svcconf/Svcconf.h deleted file mode 100644 index 9879776fce5..00000000000 --- a/ACE/ACEXML/apps/svcconf/Svcconf.h +++ /dev/null @@ -1,44 +0,0 @@ -/* -*- C++ -*- */ - -//============================================================================= -/** - * @file Svcconf.h - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - */ -//============================================================================= - - -#ifndef ACEXML_SVCCONF_H -#define ACEXML_SVCCONF_H - -#include /**/ "ace/pre.h" -#include "ace/XML_Svc_Conf.h" -#include "ACEXML/parser/parser/Parser.h" -#include "Svcconf_Handler.h" - -#if (ACE_USES_CLASSIC_SVC_CONF == 0) - -class ACEXML_Svcconf_Parser : public ACE_XML_Svc_Conf -{ -public: - ACEXML_Svcconf_Parser (); - - virtual ~ACEXML_Svcconf_Parser (); - - virtual int parse_file (const ACE_TCHAR file[]); - - virtual int parse_string (const ACE_TCHAR str[]); - -protected: - ACEXML_Parser parser_; - ACEXML_Svcconf_Handler svcconf_handler_; - ACEXML_InputSource input_stream_; -}; - -#endif /* ACE_USES_CLASSIC_SVC_CONF == 0 */ - -#include /**/ "ace/post.h" -#endif /* ACEXML_SVCCONF_H */ diff --git a/ACE/ACEXML/apps/svcconf/Svcconf_Handler.cpp b/ACE/ACEXML/apps/svcconf/Svcconf_Handler.cpp deleted file mode 100644 index 7bfc3a421ed..00000000000 --- a/ACE/ACEXML/apps/svcconf/Svcconf_Handler.cpp +++ /dev/null @@ -1,770 +0,0 @@ -// $Id$ - -#include "Svcconf_Handler.h" -#include "ace/ACE.h" -#include "ace/Log_Msg.h" -#include "ace/Service_Config.h" -#include "ace/Service_Types.h" -#include "ace/Service_Repository.h" -#include "ace/Service_Gestalt.h" -#include "ace/DLL.h" -#include "ace/ARGV.h" -#include "ace/Module.h" -#include "ace/OS_NS_strings.h" -#include "ace/SString.h" - -#if (ACE_USES_CLASSIC_SVC_CONF == 0) - -#if !defined (__ACEXML_INLINE__) -# include "Svcconf_Handler.inl" -#endif /* __ACEXML_INLINE__ */ - -ACEXML_Svcconf_Handler::ACEXML_Svcconf_Handler (void) - : in_stream_def_ (0), - in_module_ (0), - stream_svc_type_ (0), - stream_ (0) -{ - // no-op -} - -ACEXML_Svcconf_Handler::~ACEXML_Svcconf_Handler (void) -{ - // no-op -} - -void -ACEXML_Svcconf_Handler::characters (const ACEXML_Char *, - int, - int ACEXML_ENV_ARG_DECL_NOT_USED) -{ - // no-op -} - -void -ACEXML_Svcconf_Handler::endDocument ( ACEXML_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - // no-op -} - -void -ACEXML_Svcconf_Handler::endElement (const ACEXML_Char *, - const ACEXML_Char *, - const ACEXML_Char *qName ACEXML_ENV_ARG_DECL) -{ - if (ACE_OS::strcmp (qName, ACE_TEXT ("dynamic")) == 0) - { - ACE_Parsed_Info *active_info = (this->in_stream_def_ == 0 ? - &this->parsed_info_ : - &this->stream_info_); - - // We must allocate a string here to ensure that the - // name is still available by the time the - // ACE_Service_Type_Dynamic_Guard is destructed. - ACE_TString name = active_info->name (); - ACE_Service_Type_Dynamic_Guard dummy ( - *ACE_Service_Config::current ()->current_service_repository (), - name.c_str ()); - ACE_DLL svc_dll; - - if (svc_dll.open (active_info->path ()) == -1) - { - // build the error message - ACE_CString msg (ACE_TEXT ("Cannot locate DLL: '")); - msg += ACE_CString (ACE_TEXT (active_info->path ())); - msg += ACE_CString (ACE_TEXT ("' for entity '")); - msg += ACE_CString (ACE_TEXT (active_info->name ())); - msg += ACE_CString (ACE_TEXT ("'\n")); - - ACEXML_THROW (ACEXML_SAXException (msg.c_str ())); - } - - void *(*func) (ACE_Service_Object_Exterminator *) = 0; - ACE_Service_Object_Exterminator gobbler = 0; - void *symbol = 0; - - long temp_ptr = - reinterpret_cast<long> (svc_dll.symbol (active_info->init_func ())); - func = reinterpret_cast<void *(*)(ACE_Service_Object_Exterminator *)> (temp_ptr); - - if (func == 0) - { - // build the error message - ACE_CString msg (ACE_TEXT ("Cannot locate init function: '")); - msg += ACE_CString (ACE_TEXT (active_info->init_func ())); - msg += ACE_CString (ACE_TEXT ("' for entity '")); - msg += ACE_CString (ACE_TEXT (active_info->name ())); - msg += ACE_CString (ACE_TEXT ("'\n")); - - ACEXML_THROW (ACEXML_SAXException (msg.c_str ())); - } - symbol = (*func)(&gobbler); // target object created in the loaded DLL. - - ACE_Service_Type_Impl *stp = ACE_Service_Config::create_service_type_impl - (active_info->name (), - active_info->service_type (), - symbol, - ACE_Service_Type::DELETE_THIS | - ACE_Service_Type::DELETE_OBJ, - gobbler); - - if (this->in_stream_def_) - { -// ACE_DEBUG ((LM_INFO, ACE_TEXT ("Create dynamic %s for stream\n"), -// this->stream_info_.name ())); - if (active_info->service_type () == ACE_Service_Type::STREAM) - { - this->stream_ = (ACE_Stream_Type *) stp; - } - else - { - // We will not retain this stream - delete stp; - - // build the error message - ACE_CString msg (ACE_TEXT ("Expecting Stream type in stream header")); - msg += ACE_CString (ACE_TEXT (" for entity '")); - msg += ACE_CString (ACE_TEXT (active_info->name ())); - msg += ACE_CString (ACE_TEXT ("'\n")); - - ACEXML_THROW (ACEXML_SAXException (msg.c_str ())); - } - - this->stream_svc_type_ = - ACE_Service_Config::create_service_type (this->stream_info_.name (), - this->stream_, - svc_dll, - this->stream_info_.active ()); - - } - else - { - if (this->in_module_) - { - ACE_ARGV args (active_info->init_params ()); - - ACE_Module_Type *mt = (ACE_Module_Type *) stp; - - ACE_Module<ACE_SYNCH> *mp = (ACE_Module<ACE_SYNCH> *) mt->object (); - - if (ACE_OS::strcmp (mp->name (), active_info->name ()) != 0) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("warning: assigning Module_Type name %s to Module %s since names differ\n"), - active_info->name (), - mp->name ())); - mp->name (active_info->name ()); - } - - if (mt->init (args.argc (), args.argv ()) == -1 - || this->stream_->push (mt) == -1) - { - // build the error message - ACE_CString msg (ACE_TEXT ("Error initializing module")); - msg += ACE_CString (ACE_TEXT (" for entity '")); - msg += ACE_CString (ACE_TEXT (active_info->name ())); - msg += ACE_CString (ACE_TEXT ("'\n")); - - ACEXML_THROW (ACEXML_SAXException (msg.c_str ())); - } - - -// ACE_DEBUG ((LM_INFO, ACE_TEXT ("Push dynamic %s into stream %s\n"), -// this->parsed_info_.name (), -// this->stream_info_.name ())); - } - else - { - ACE_Service_Type *stype = - ACE_Service_Config::create_service_type (active_info->name (), - stp, - svc_dll, - active_info->active ()); - // @@ Check error here. - - // ACE_DEBUG ((LM_INFO, ACE_TEXT ("Apply dynamic %s\n"), -// this->parsed_info_.name ())); - if (ACE_Service_Config::initialize (stype, - active_info->init_params ()) == -1) - { - // If it did not initialize correctly, the - // ACE_Service_Config doesn't own this object - delete stype; - - // build the error message - ACE_CString msg (ACE_TEXT ("Failed to initialize dynamic service")); - msg += ACE_CString (ACE_TEXT (" for entity '")); - msg += ACE_CString (ACE_TEXT (active_info->name ())); - msg += ACE_CString (ACE_TEXT ("'\n")); - - ACEXML_THROW (ACEXML_SAXException (msg.c_str ())); - } - } - this->parsed_info_.reset (); - } - } - else if (ACE_OS::strcmp (qName, ACE_TEXT ("static")) == 0) - { - if (this->in_stream_def_) - { - // @@ Couldn't make sense out of the original Svc_Conf.y. - ACE_DEBUG ((LM_ERROR, ACE_TEXT ("Create static %s for stream\n"), - this->stream_info_.name ())); - } - else - { - if (this->in_module_) - { - // @@ Couldn't make sense out of the original Svc_Conf.y. - ACE_DEBUG ((LM_ERROR, ACE_TEXT ("Push static %s into stream %s\n"), - this->parsed_info_.name (), - this->stream_info_.name ())); - } - else - { -// ACE_DEBUG ((LM_INFO, ACE_TEXT ("Apply static %s\n"), -// this->parsed_info_.name ())); - if (ACE_Service_Config::initialize (this->parsed_info_.name (), - this->parsed_info_.init_params ()) == -1) - { - // build the error message - ACE_CString msg (ACE_TEXT ("Failed to initialize static service")); - msg += ACE_CString (ACE_TEXT (" for entity '")); - msg += ACE_CString (ACE_TEXT (this->parsed_info_.name ())); - msg += ACE_CString (ACE_TEXT ("'\n")); - - ACEXML_THROW (ACEXML_SAXException (msg.c_str ())); - } - } - this->parsed_info_.reset (); - } - } - else if (ACE_OS::strcmp (qName, ACE_TEXT ("module")) == 0) - { - this->in_module_ = 0; - } - else if (ACE_OS::strcmp (qName, ACE_TEXT ("streamdef")) == 0) - { -// ACE_DEBUG ((LM_INFO, ACE_TEXT ("Apply stream %s of type %s\n"), -// this->stream_info_.name (), -// this->stream_info_.name ())); - ACE_Service_Config::initialize (this->stream_svc_type_, - this->stream_info_.init_params ()); - - this->stream_info_.reset (); - this->stream_svc_type_ = 0; - this->stream_ = 0; - } - else if (ACE_OS::strcmp (qName, ACE_TEXT ("stream")) == 0) - { -// ACE_DEBUG ((LM_INFO, ACE_TEXT ("Apply stream %s of type %s\n"), -// this->stream_info_.name (), -// this->stream_info_.name ())); - this->stream_info_.reset (); - } - else - { - } -} - -void -ACEXML_Svcconf_Handler::endPrefixMapping (const ACEXML_Char * ACEXML_ENV_ARG_DECL_NOT_USED) -{ - // no-op -} - -void -ACEXML_Svcconf_Handler::ignorableWhitespace (const ACEXML_Char *, - int, - int ACEXML_ENV_ARG_DECL_NOT_USED) -{ - // no-op -} - -void -ACEXML_Svcconf_Handler::processingInstruction (const ACEXML_Char *, - const ACEXML_Char * ACEXML_ENV_ARG_DECL_NOT_USED) -{ - // no-op -} - -void -ACEXML_Svcconf_Handler::setDocumentLocator (ACEXML_Locator* locator) -{ - this->locator_ = locator; -} - -void -ACEXML_Svcconf_Handler::skippedEntity (const ACEXML_Char * ACEXML_ENV_ARG_DECL_NOT_USED) -{ - // no-op -} - -void -ACEXML_Svcconf_Handler::startDocument ( ACEXML_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - // no-op -} - -void -ACEXML_Svcconf_Handler::startElement (const ACEXML_Char *, - const ACEXML_Char *, - const ACEXML_Char *qName, - ACEXML_Attributes *alist ACEXML_ENV_ARG_DECL) -{ - if (ACE_OS::strcmp (qName, ACE_TEXT ("dynamic")) == 0) - { - this->get_dynamic_attrs (alist ACEXML_ENV_ARG_PARAMETER); - } - else if (ACE_OS::strcmp (qName, ACE_TEXT ("initializer")) == 0) - { - this->get_initializer_attrs (alist ACEXML_ENV_ARG_PARAMETER); - - } - else if (ACE_OS::strcmp (qName, ACE_TEXT ("static")) == 0) - { - this->get_static_attrs (alist ACEXML_ENV_ARG_PARAMETER); - } - else if (ACE_OS::strcmp (qName, ACE_TEXT ("stream")) == 0) - { - this->get_stream_id (alist ACEXML_ENV_ARG_PARAMETER); - - if (ACE_Service_Repository::instance()->find - (this->stream_info_.name (), - (const ACE_Service_Type **) &this->stream_svc_type_) == -1) - { - // build the error message - ACE_CString msg (ACE_TEXT ("Cannot find stream '")); - msg += ACE_CString (ACE_TEXT (this->stream_info_.name ())); - msg += ACE_CString (ACE_TEXT ("'\n")); - - ACEXML_THROW (ACEXML_SAXException (msg.c_str ())); - } - this->stream_ = this->stream_svc_type_ == 0 - ? 0 - : dynamic_cast<ACE_Stream_Type *> (const_cast<ACE_Service_Type_Impl *> (this->stream_svc_type_->type ())); - -// ACE_DEBUG ((LM_INFO, ACE_TEXT ("Retrieve stream %s from repository\n"), -// this->stream_info_.name ())); - } - else if (ACE_OS::strcmp (qName, ACE_TEXT ("streamdef")) == 0) - { - this->in_stream_def_ = 1; - // @@ Set up stream service object - } - else if (ACE_OS::strcmp (qName, ACE_TEXT ("module")) == 0) - { - this->in_stream_def_ = 0; - this->in_module_ = 1; - } - else if (ACE_OS::strcmp (qName, ACE_TEXT ("resume")) == 0) - { - this->get_id (alist ACEXML_ENV_ARG_PARAMETER); - if (this->in_module_) - { -// ACE_DEBUG ((LM_INFO, ACE_TEXT ("Resume %s in stream %s\n"), -// this->parsed_info_.name (), -// this->stream_info_.name ())); - ACE_Module_Type *mt = (this->stream_ == 0) - ? 0 - : this->stream_->find (this->parsed_info_.name ()); - - if (mt == 0) - { - // build the error message - ACE_CString msg (ACE_TEXT ("Can't locate module '")); - msg += ACE_CString (ACE_TEXT (this->parsed_info_.name ())); - msg += ACE_CString (ACE_TEXT ("'\n")); - - ACEXML_THROW (ACEXML_SAXException (msg.c_str ())); - } - - mt->resume (); - } - else - { -// ACE_DEBUG ((LM_INFO, ACE_TEXT ("Resume %s\n"), -// this->parsed_info_.name ())); - if (ACE_Service_Config::resume (this->parsed_info_.name ()) == -1) - { - // build the error message - ACE_CString msg (ACE_TEXT ("Resume failed")); - msg += ACE_CString (ACE_TEXT (" for entity '")); - msg += ACE_CString (ACE_TEXT (this->parsed_info_.name ())); - msg += ACE_CString (ACE_TEXT ("'\n")); - - ACEXML_THROW (ACEXML_SAXException (msg.c_str ())); - } - } - this->parsed_info_.reset (); - } - else if (ACE_OS::strcmp (qName, ACE_TEXT ("suspend")) == 0) - { - this->get_id (alist ACEXML_ENV_ARG_PARAMETER); - if (this->in_module_) - { -// ACE_DEBUG ((LM_INFO, ACE_TEXT ("Suspend %s in stream %s\n"), -// this->parsed_info_.name (), -// this->stream_info_.name ())); - ACE_Module_Type *mt = (this->stream_ == 0) - ? 0 - : this->stream_->find (this->parsed_info_.name ()); - - if (mt == 0) - { - // build the error message - ACE_CString msg (ACE_TEXT ("Can't locate module '")); - msg += ACE_CString (ACE_TEXT (this->parsed_info_.name ())); - msg += ACE_CString (ACE_TEXT ("'\n")); - - ACEXML_THROW (ACEXML_SAXException (msg.c_str ())); - } - - mt->suspend (); - } - else - { - // ACE_DEBUG ((LM_INFO, ACE_TEXT ("Suspend %s\n"), - // this->parsed_info_.name ())); - if (ACE_Service_Config::suspend (this->parsed_info_.name ()) == -1) - { - // build the error message - ACE_CString msg (ACE_TEXT ("Suspend failed")); - msg += ACE_CString (ACE_TEXT (" for entity '")); - msg += ACE_CString (ACE_TEXT (this->parsed_info_.name ())); - msg += ACE_CString (ACE_TEXT ("'\n")); - - ACEXML_THROW (ACEXML_SAXException (msg.c_str ())); - } - } - this->parsed_info_.reset (); - } - else if (ACE_OS::strcmp (qName, ACE_TEXT ("remove")) == 0) - { - this->get_id (alist ACEXML_ENV_ARG_PARAMETER); - if (this->in_module_) - { -// ACE_DEBUG ((LM_INFO, ACE_TEXT ("Remove %s in stream %s\n"), -// this->parsed_info_.name (), -// this->stream_info_.name ())); - ACE_Module_Type *mt = (this->stream_ == 0) - ? 0 - : this->stream_->find (this->parsed_info_.name ()); - - if (mt == 0) - { - // build the error message - ACE_CString msg (ACE_TEXT ("Can't locate module '")); - msg += ACE_CString (ACE_TEXT (this->parsed_info_.name ())); - msg += ACE_CString (ACE_TEXT ("'\n")); - - ACEXML_THROW (ACEXML_SAXException (msg.c_str ())); - } - - this->stream_->remove (mt); - } - else - { -// ACE_DEBUG ((LM_INFO, ACE_TEXT ("Remove %s\n"), -// this->parsed_info_.name ())); - if (ACE_Service_Config::remove (this->parsed_info_.name ()) == -1) - { - // build the error message - ACE_CString msg (ACE_TEXT ("Remove failed")); - msg += ACE_CString (ACE_TEXT (" for entity '")); - msg += ACE_CString (ACE_TEXT (this->parsed_info_.name ())); - msg += ACE_CString (ACE_TEXT ("'\n")); - - ACEXML_THROW (ACEXML_SAXException (msg.c_str ())); - } - } - this->parsed_info_.reset (); - } - else if (ACE_OS::strcmp (qName, ACE_TEXT ("ACE_Svc_Conf")) == 0) - { - // Main document tag. no-op. -// ACE_DEBUG ((LM_INFO, ACE_TEXT ("ACE_Svc_Conf tag\n"))); - } - else - { - // @@ Error. Perhaps we should relay to user event handler here, if available. - } - - return; -} - -void -ACEXML_Svcconf_Handler::startPrefixMapping (const ACEXML_Char *, - const ACEXML_Char * ACEXML_ENV_ARG_DECL_NOT_USED) -{ - // No-op. -} - -// *** Methods inherit from ACEXML_DTDHandler. - -void -ACEXML_Svcconf_Handler::notationDecl (const ACEXML_Char *, - const ACEXML_Char *, - const ACEXML_Char * ACEXML_ENV_ARG_DECL_NOT_USED) -{ - // No-op. -} - -void -ACEXML_Svcconf_Handler::unparsedEntityDecl (const ACEXML_Char *, - const ACEXML_Char *, - const ACEXML_Char *, - const ACEXML_Char * ACEXML_ENV_ARG_DECL_NOT_USED) -{ - // No-op. -} - -// Methods inherit from ACEXML_EnitityResolver. - -ACEXML_InputSource * -ACEXML_Svcconf_Handler::resolveEntity (const ACEXML_Char *, - const ACEXML_Char * ACEXML_ENV_ARG_DECL_NOT_USED) -{ - // No-op. - return 0; -} - -// Methods inherit from ACEXML_ErrorHandler. - - /* - * Receive notification of a recoverable error. - */ -void -ACEXML_Svcconf_Handler::error (ACEXML_SAXParseException& ex ACEXML_ENV_ARG_DECL_NOT_USED) -{ - ACE_DEBUG ((LM_DEBUG, "%s: line :%d col: %d ", this->locator_->getSystemId(), - this->locator_->getLineNumber(), - this->locator_->getColumnNumber())); - ex.print(); -} - -void -ACEXML_Svcconf_Handler::fatalError (ACEXML_SAXParseException& ex ACEXML_ENV_ARG_DECL_NOT_USED) -{ - ACE_DEBUG ((LM_DEBUG, "%s: line :%d col: %d ", this->locator_->getSystemId(), - this->locator_->getLineNumber(), - this->locator_->getColumnNumber())); - ex.print(); -} - -void -ACEXML_Svcconf_Handler::warning (ACEXML_SAXParseException& ex ACEXML_ENV_ARG_DECL_NOT_USED) -{ - ACE_DEBUG ((LM_DEBUG, "%s: line :%d col: %d ", this->locator_->getSystemId(), - this->locator_->getLineNumber(), - this->locator_->getColumnNumber())); - ex.print(); -} - -int -ACEXML_Svcconf_Handler::get_stream_id (ACEXML_Attributes *alist ACEXML_ENV_ARG_DECL) -{ - if (alist != 0) - for (size_t i = 0; i < alist->getLength (); ++i) - { - if (ACE_OS::strcmp (alist->getQName (i), ACE_TEXT ("id")) == 0) - { - this->stream_info_.name (alist->getValue (i)); - } - else - { - // build the error message - ACE_CString msg (ACE_TEXT ("Invalid stream attribute '")); - msg += ACE_CString (ACE_TEXT (alist->getQName (i))); - msg += ACE_CString (ACE_TEXT ("' for entity '")); - msg += ACE_CString (ACE_TEXT (this->stream_info_.name ())); - msg += ACE_CString (ACE_TEXT ("'\n")); - - ACEXML_THROW_RETURN (ACEXML_SAXException (msg.c_str ()), - -1); - } - } - return 0; -} - -int -ACEXML_Svcconf_Handler::get_id (ACEXML_Attributes *alist ACEXML_ENV_ARG_DECL) -{ - if (alist != 0) - for (size_t i = 0; i < alist->getLength (); ++i) - { - if (ACE_OS::strcmp (alist->getQName (i), ACE_TEXT ("id")) == 0) - { - this->parsed_info_.name (alist->getValue (i)); - } - else - { - // build the error message - ACE_CString msg (ACE_TEXT ("Invalid attribute '")); - msg += ACE_CString (ACE_TEXT (alist->getQName (i))); - msg += ACE_CString (ACE_TEXT ("', expecting 'id'")); - msg += ACE_CString (ACE_TEXT (" for entity '")); - msg += ACE_CString (ACE_TEXT (this->parsed_info_.name ())); - msg += ACE_CString (ACE_TEXT ("'\n")); - - ACEXML_THROW_RETURN (ACEXML_SAXException (msg.c_str ()), - -1); - } - } - return 0; -} - -int -ACEXML_Svcconf_Handler::get_dynamic_attrs (ACEXML_Attributes *alist ACEXML_ENV_ARG_DECL) -{ - if (alist != 0) - { - ACE_Parsed_Info *info = (this->in_stream_def_ == 0 ? - &this->parsed_info_ : - &this->stream_info_); - for (size_t i = 0; i < alist->getLength (); ++i) - { - if (ACE_OS::strcmp (alist->getQName (i), ACE_TEXT ("id")) == 0) - { - info->name (alist->getValue (i)); - } - else if (ACE_OS::strcmp (alist->getQName (i), ACE_TEXT ("status")) == 0) - { - if (ACE_OS::strcmp (alist->getValue (i), ACE_TEXT ("inactive")) == 0) - { - info->active (0); - } - else if (ACE_OS::strcmp (alist->getValue (i), ACE_TEXT ("active")) == 0) - { - info->active (1); - } - else - { - // build the error message - ACE_CString msg (ACE_TEXT ("Invalid attribute value '")); - msg += ACE_CString (ACE_TEXT (alist->getQName (i))); - msg += ACE_CString (ACE_TEXT ("', expecting 'active' or 'inactive'")); - msg += ACE_CString (ACE_TEXT (" for entity '")); - msg += ACE_CString (ACE_TEXT (info->name ())); - msg += ACE_CString (ACE_TEXT ("'\n")); - - ACEXML_THROW_RETURN (ACEXML_SAXException (msg.c_str ()), - -1); - } - } - else if (ACE_OS::strcmp (alist->getQName (i), ACE_TEXT ("type")) == 0) - { - if (ACE_OS::strcasecmp (alist->getValue (i), ACE_TEXT ("service_object")) == 0) - { - info->service_type (ACE_Service_Type::SERVICE_OBJECT); - } - else if (ACE_OS::strcasecmp (alist->getValue (i), ACE_TEXT ("stream")) == 0) - { - info->service_type (ACE_Service_Type::STREAM); - } - else if (ACE_OS::strcasecmp (alist->getValue (i), ACE_TEXT ("module")) == 0) - { - info->service_type (ACE_Service_Type::MODULE); - } - else - { - // build the error message - ACE_CString msg (ACE_TEXT ("Invalid Service_Object attribute value'")); - msg += ACE_CString (ACE_TEXT (alist->getQName (i))); - msg += ACE_CString (ACE_TEXT ("' for entity '")); - msg += ACE_CString (ACE_TEXT (info->name ())); - msg += ACE_CString (ACE_TEXT ("'\n")); - - ACEXML_THROW_RETURN (ACEXML_SAXException (msg.c_str ()), - -1); - } - } - else - { - // build the error message - ACE_CString msg (ACE_TEXT ("Invalid attribute'")); - msg += ACE_CString (ACE_TEXT (alist->getQName (i))); - msg += ACE_CString (ACE_TEXT ("' for entity '")); - msg += ACE_CString (ACE_TEXT (info->name ())); - msg += ACE_CString (ACE_TEXT ("'\n")); - - ACEXML_THROW_RETURN (ACEXML_SAXException (msg.c_str ()), -1); - } - } - } - return 0; -} - -int -ACEXML_Svcconf_Handler::get_initializer_attrs (ACEXML_Attributes *alist ACEXML_ENV_ARG_DECL) -{ - if (alist != 0) - { - ACE_Parsed_Info *info = (this->in_stream_def_ == 0 ? - &this->parsed_info_ : - &this->stream_info_); - for (size_t i = 0; i < alist->getLength (); ++i) - { - if (ACE_OS::strcmp (alist->getQName (i), ACE_TEXT ("init")) == 0) - { - info->init_func (alist->getValue (i)); - } - else if (ACE_OS::strcmp (alist->getQName (i), ACE_TEXT ("path")) == 0) - { - info->path (alist->getValue (i)); - } - else if (ACE_OS::strcmp (alist->getQName (i), ACE_TEXT ("params")) == 0) - { - info->init_params (alist->getValue (i)); - } - else - { - // build the error message - ACE_CString msg (ACE_TEXT ("Invalid initializer attribute'")); - msg += ACE_CString (ACE_TEXT (alist->getQName (i))); - msg += ACE_CString (ACE_TEXT ("' for entity '")); - msg += ACE_CString (ACE_TEXT (info->name ())); - msg += ACE_CString (ACE_TEXT ("'\n")); - - ACEXML_THROW_RETURN (ACEXML_SAXException (msg.c_str ()), -1); - } - } - } - return 0; -} - -int -ACEXML_Svcconf_Handler::get_static_attrs (ACEXML_Attributes *alist ACEXML_ENV_ARG_DECL) -{ - if (alist != 0) - { - ACE_Parsed_Info *info = (this->in_stream_def_ == 0 ? - &this->parsed_info_ : - &this->stream_info_); - for (size_t i = 0; i < alist->getLength (); ++i) - { - if (ACE_OS::strcmp (alist->getQName (i), ACE_TEXT ("id")) == 0) - { - info->name (alist->getValue (i)); - } - else if (ACE_OS::strcmp (alist->getQName (i), ACE_TEXT ("params")) == 0) - { - info->init_params (alist->getValue (i)); - } - else - { - // build the error message - ACE_CString msg (ACE_TEXT ("Invalid static attribute '")); - msg += ACE_CString (ACE_TEXT (alist->getQName (i))); - msg += ACE_CString (ACE_TEXT ("' for entity '")); - msg += ACE_CString (ACE_TEXT (info->name ())); - msg += ACE_CString (ACE_TEXT ("'\n")); - - ACEXML_THROW_RETURN (ACEXML_SAXException (msg.c_str ()), -1); - } - } - } - return 0; -} - -#endif /* ACE_USES_CLASSIC_SVC_CONF == 0 */ diff --git a/ACE/ACEXML/apps/svcconf/Svcconf_Handler.h b/ACE/ACEXML/apps/svcconf/Svcconf_Handler.h deleted file mode 100644 index b15e20d7426..00000000000 --- a/ACE/ACEXML/apps/svcconf/Svcconf_Handler.h +++ /dev/null @@ -1,276 +0,0 @@ -// $Id$ - -//============================================================================= -/** - * @file Svcconf_Handler.h - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - */ -//============================================================================= - -#ifndef ACEXML_SVCCONF_HANDLER_H -#define ACEXML_SVCCONF_HANDLER_H - -#include "ACEXML/common/DefaultHandler.h" -#include "ace/Service_Types.h" - -#if (ACE_USES_CLASSIC_SVC_CONF == 0) - -class ACE_Parsed_Info -{ -public: - ACE_Parsed_Info (); - ~ACE_Parsed_Info (); - - /** - * Set/get name of a parsed entity. - */ - int name (const ACEXML_Char *n); - const ACEXML_Char *name (void); - - /** - * Set/get type of a dynamic node. - */ - int service_type (int type); - int service_type (void); - - /** - * Set/Get active status. - */ - int active (int a); - int active (void); - - /** - * Set/get initializer path. - */ - int path (const ACEXML_Char *n); - const ACEXML_Char *path (void); - - /** - * Set/get initializer init function. - */ - int init_func (const ACEXML_Char *n); - const ACEXML_Char *init_func (void); - - /** - * Set/get initializer init parameter. - */ - int init_params (const ACEXML_Char *n); - const ACEXML_Char *init_params (void); - - /** - * Reset Parsed_Info. - */ - void reset (void); - -protected: - ACEXML_Char *name_; - int service_type_; - int active_; - ACEXML_Char *path_; - ACEXML_Char *init_func_; - ACEXML_Char *init_params_; -}; - -/** - * @class ACEXML_Svcconf_Handler - * - * @brief ACEXML_Svcconf_Handler is an example SAX event handler. - * - * This SAX event handler try to regenerate the XML document it - * reads with correct indentation. - */ -class ACEXML_Svcconf_Handler : public ACEXML_DefaultHandler -{ -public: - /* - * Default constructor. - */ - ACEXML_Svcconf_Handler (void); - - /* - * Default destructor. - */ - virtual ~ACEXML_Svcconf_Handler (void); - - // Methods inherit from ACEXML_ContentHandler. - - /* - * Receive notification of character data. - */ - virtual void characters (const ACEXML_Char *ch, - int start, - int length ACEXML_ENV_ARG_DECL) - ; - - /* - * Receive notification of the end of a document. - */ - virtual void endDocument (ACEXML_ENV_SINGLE_ARG_DECL) - ; - - /* - * Receive notification of the end of an element. - */ - virtual void endElement (const ACEXML_Char *namespaceURI, - const ACEXML_Char *localName, - const ACEXML_Char *qName ACEXML_ENV_ARG_DECL) - ; - - /* - * End the scope of a prefix-URI mapping. - */ - virtual void endPrefixMapping (const ACEXML_Char *prefix ACEXML_ENV_ARG_DECL) - ; - - /* - * Receive notification of ignorable whitespace in element content. - */ - virtual void ignorableWhitespace (const ACEXML_Char *ch, - int start, - int length ACEXML_ENV_ARG_DECL) - ; - - /* - * Receive notification of a processing instruction. - */ - virtual void processingInstruction (const ACEXML_Char *target, - const ACEXML_Char *data ACEXML_ENV_ARG_DECL) - ; - - /* - * Receive an object for locating the origin of SAX document events. - */ - virtual void setDocumentLocator (ACEXML_Locator *locator) ; - - /* - * Receive notification of a skipped entity. - */ - virtual void skippedEntity (const ACEXML_Char *name ACEXML_ENV_ARG_DECL) - ; - - /* - * Receive notification of the beginning of a document. - */ - virtual void startDocument (ACEXML_ENV_SINGLE_ARG_DECL) - ; - - /* - * Receive notification of the beginning of an element. - */ - virtual void startElement (const ACEXML_Char *namespaceURI, - const ACEXML_Char *localName, - const ACEXML_Char *qName, - ACEXML_Attributes *atts ACEXML_ENV_ARG_DECL) - ; - - /* - * Begin the scope of a prefix-URI Namespace mapping. - */ - virtual void startPrefixMapping (const ACEXML_Char *prefix, - const ACEXML_Char *uri ACEXML_ENV_ARG_DECL) - ; - - // *** Methods inherit from ACEXML_DTDHandler. - - /* - * Receive notification of a notation declaration event. - */ - virtual void notationDecl (const ACEXML_Char *name, - const ACEXML_Char *publicId, - const ACEXML_Char *systemId ACEXML_ENV_ARG_DECL) - ; - - /* - * Receive notification of an unparsed entity declaration event. - */ - virtual void unparsedEntityDecl (const ACEXML_Char *name, - const ACEXML_Char *publicId, - const ACEXML_Char *systemId, - const ACEXML_Char *notationName ACEXML_ENV_ARG_DECL) - ; - - // Methods inherit from ACEXML_EnitityResolver. - - /* - * Allow the application to resolve external entities. - */ - virtual ACEXML_InputSource *resolveEntity (const ACEXML_Char *publicId, - const ACEXML_Char *systemId ACEXML_ENV_ARG_DECL) - ; - - // Methods inherit from ACEXML_ErrorHandler. - - /* - * Receive notification of a recoverable error. - */ - virtual void error (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL) - ; - - /* - * Receive notification of a non-recoverable error. - */ - virtual void fatalError (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL) - ; - - /* - * Receive notification of a warning. - */ - virtual void warning (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL) - ; - -protected: - /** - * Get the only attribute in <stream> or <streamdef>. - */ - int get_stream_id (ACEXML_Attributes *alist ACEXML_ENV_ARG_DECL); - - /** - * Get the only attribute in <resume>, <suspend>, <remove> - */ - int get_id (ACEXML_Attributes *alist ACEXML_ENV_ARG_DECL); - - /** - * Get the dynamic tag attributes. - */ - int get_dynamic_attrs (ACEXML_Attributes *alist ACEXML_ENV_ARG_DECL); - - /** - * Get the initializer tag attributes. - */ - int get_initializer_attrs (ACEXML_Attributes *alist ACEXML_ENV_ARG_DECL); - - /** - * Get the static tag attributes. - */ - int get_static_attrs (ACEXML_Attributes *alist ACEXML_ENV_ARG_DECL); - -private: - /// We are parsing a stream definition - int in_stream_def_; - - /// We are defining a steam module - int in_module_; - - /// @a stream_ holds the actually Stream_Type object managed by @a stream_svc_type_. - ACE_Service_Type *stream_svc_type_; - ACE_Stream_Type *stream_; - - //ACE_SHLIB_HANDLE dll_handle_; - - ACE_Parsed_Info parsed_info_; - - ACE_Parsed_Info stream_info_; - - ACEXML_Locator* locator_; -}; - -#if defined (__ACEXML_INLINE__) -# include "Svcconf_Handler.inl" -#endif /* __ACEXML_INLINE__ */ - -#endif /* ACE_USES_CLASSIC_SVC_CONF == 0 */ - -#endif /* ACEXML_SVCCONF_HANDLER_H */ diff --git a/ACE/ACEXML/apps/svcconf/Svcconf_Handler.inl b/ACE/ACEXML/apps/svcconf/Svcconf_Handler.inl deleted file mode 100644 index 605dec5f2f7..00000000000 --- a/ACE/ACEXML/apps/svcconf/Svcconf_Handler.inl +++ /dev/null @@ -1,133 +0,0 @@ -// -*- C++ -*- $Id$ - -ACE_INLINE -ACE_Parsed_Info::ACE_Parsed_Info () - : name_ (0), - service_type_ (ACE_Service_Type::INVALID_TYPE), - active_ (1), - path_ (0), - init_func_ (0), - init_params_ (0) -{ -} - -ACE_INLINE -ACE_Parsed_Info::~ACE_Parsed_Info () -{ - delete[] this->name_; - delete[] this->path_; - delete[] this->init_func_; - delete[] this->init_params_; -} - -ACE_INLINE int -ACE_Parsed_Info::name (const ACEXML_Char *n) -{ - if (this->name_ == 0) - { - this->name_ = ACE::strnew (n); - return 0; - } - return -1; -} - -ACE_INLINE const ACEXML_Char * -ACE_Parsed_Info::name (void) -{ - return this->name_; -} - -ACE_INLINE int -ACE_Parsed_Info::service_type (int type) -{ - if (this->service_type_ == -1) - { - this->service_type_ = type; - return 0; - } - return -1; -} - -ACE_INLINE int -ACE_Parsed_Info::service_type (void) -{ - return this->service_type_; -} - -ACE_INLINE int -ACE_Parsed_Info::active (int a) -{ - this->active_ = a; - return 0; -} - -ACE_INLINE int -ACE_Parsed_Info::active (void) -{ - return this->active_; -} - -ACE_INLINE int -ACE_Parsed_Info::path (const ACEXML_Char *p) -{ - if (this->path_ == 0) - { - this->path_ = ACE::strnew (p); - return 0; - } - return -1; -} - -ACE_INLINE const ACEXML_Char * -ACE_Parsed_Info::path (void) -{ - return this->path_; -} - -ACE_INLINE int -ACE_Parsed_Info::init_func (const ACEXML_Char *n) -{ - if (this->init_func_ == 0) - { - this->init_func_ = ACE::strnew (n); - return 0; - } - return -1; -} - -ACE_INLINE const ACEXML_Char * -ACE_Parsed_Info::init_func (void) -{ - return this->init_func_; -} - -ACE_INLINE int -ACE_Parsed_Info::init_params (const ACEXML_Char *n) -{ - if (this->init_params_ == 0) - { - this->init_params_ = ACE::strnew (n); - return 0; - } - return -1; -} - -ACE_INLINE const ACEXML_Char * -ACE_Parsed_Info::init_params (void) -{ - return this->init_params_; -} - -ACE_INLINE void -ACE_Parsed_Info::reset (void) -{ - delete[] this->name_; - this->name_ = 0; - this->service_type_ = -1; - delete[] this->path_; - this->path_ = 0; - delete[] this->init_func_; - this->init_func_ = 0; - delete[] this->init_params_; - this->init_params_ = 0; -} diff --git a/ACE/ACEXML/apps/svcconf/svcconf.dtd b/ACE/ACEXML/apps/svcconf/svcconf.dtd deleted file mode 100644 index b9e6cc41c8e..00000000000 --- a/ACE/ACEXML/apps/svcconf/svcconf.dtd +++ /dev/null @@ -1,60 +0,0 @@ -<!-- $Id$ --> -<!-- Document Type Definition for XML ACE Service Config files --> - -<!-- An ACE_Svc_Conf document contains zero or more entries --> -<!-- The entries are processed in the order they appear --> -<!-- in the ACE_Svc_Conf file. --> -<!ELEMENT ACE_Svc_Conf (dynamic|static|suspend|resume|remove|stream|streamdef)*> - -<!-- Streams are separate into two elements. One defines how --> -<!-- the stream should be constructed and the other defines --> -<!-- what to do with it. The identity of a stream is defined --> -<!-- in the first dynamic/static element. --> -<!ELEMENT streamdef ((dynamic|static),module)> -<!-- @@ Do we ever need to suspend/resume/remove modules when --> -<!-- constructing a stream? Should we leave only dynamic --> -<!-- and static here? --> -<!ELEMENT module (dynamic|static|suspend|resume|remove)+> - -<!-- A 'stream' element controls the stream object --> -<!-- @@ Likewise, we are reusing the 'module' element here. --> -<!-- Do we ever need to insert new modules into a stream? --> -<!-- Nanbor: I guess we can do that. --> -<!ELEMENT stream (module)> -<!ATTLIST stream id IDREF #REQUIRED> - -<!-- A 'dynamic' entry. --> -<!-- @@ The kind of attributes the corresponding initializer --> -<!-- should take seems to be determined by the 'type' --> -<!-- attribute. Should we further partition the dynamic --> -<!-- element definition into several elements? E.g. into --> -<!-- dyn_service_object/dyn_module/dyn_stream? --> -<!-- Nanbor: Will that be too confusing? --> -<!ELEMENT dynamic (initializer)> -<!ATTLIST dynamic id ID #REQUIRED - status (active|inactive) "active" - type (module|service_object|stream) #REQUIRED> - -<!-- Initializing function for dynamic entry. --> -<!ELEMENT initializer EMPTY> -<!ATTLIST initializer init CDATA #REQUIRED - path CDATA #IMPLIED - params CDATA #IMPLIED> - -<!-- A 'static' entry takes an ID attribute and an optional --> -<!-- parameter lists. --> -<!ELEMENT static EMPTY> -<!ATTLIST static id ID #REQUIRED - params CDATA #IMPLIED> - -<!-- A 'suspend' entry takes an ID attribute. --> -<!ELEMENT suspend EMPTY> -<!ATTLIST suspend id IDREF #REQUIRED> - -<!-- A 'resume' entry takes an ID attribute. --> -<!ELEMENT resume EMPTY> -<!ATTLIST resume id IDREF #REQUIRED> - -<!-- A 'remove' entry takes an ID attribute. --> -<!ELEMENT remove EMPTY> -<!ATTLIST remove id IDREF #REQUIRED> diff --git a/ACE/ACEXML/apps/svcconf/svcconf.mpc b/ACE/ACEXML/apps/svcconf/svcconf.mpc deleted file mode 100644 index 9f5ce8f091b..00000000000 --- a/ACE/ACEXML/apps/svcconf/svcconf.mpc +++ /dev/null @@ -1,6 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project(ACEXML_XML_Svc_Conf_Parser): ace_output, acelib, acexml, install { - sharedname = ACEXML_XML_Svc_Conf_Parser -} diff --git a/ACE/ACEXML/common/ACEXML.pc.in b/ACE/ACEXML/common/ACEXML.pc.in deleted file mode 100644 index 78a706c17c0..00000000000 --- a/ACE/ACEXML/common/ACEXML.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: ACEXML -Description: ACE XML Library -Requires: ACE -Version: @VERSION@ -Libs: -L${libdir} -lACEXML -Cflags: -I${includedir} diff --git a/ACE/ACEXML/common/ACEXML_Export.h b/ACE/ACEXML/common/ACEXML_Export.h deleted file mode 100644 index 39546eeafcc..00000000000 --- a/ACE/ACEXML/common/ACEXML_Export.h +++ /dev/null @@ -1,49 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file ACEXML_Export.h - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - */ -//============================================================================= - -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef ACEXML_EXPORT_H -#define ACEXML_EXPORT_H - -#include "ace/config-all.h" - -#if defined (ACE_AS_STATIC_LIBS) -# if !defined (ACEXML_HAS_DLL) -# define ACEXML_HAS_DLL 0 -# endif /* ! ACEXML_HAS_DLL */ -#else -# if !defined (ACEXML_HAS_DLL) -# define ACEXML_HAS_DLL 1 -# endif /* ! ACEXML_HAS_DLL */ -#endif /* ACE_AS_STATIC_LIB */ - -#if defined (ACEXML_HAS_DLL) && (ACEXML_HAS_DLL == 1) -# if defined (ACEXML_BUILD_DLL) -# define ACEXML_Export ACE_Proper_Export_Flag -# define ACEXML_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define ACEXML_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* ACEXML_BUILD_DLL */ -# define ACEXML_Export ACE_Proper_Import_Flag -# define ACEXML_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define ACEXML_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* ACEXML_BUILD_DLL */ -#else /* ACEXML_HAS_DLL == 1 */ -# define ACEXML_Export -# define ACEXML_SINGLETON_DECLARATION(T) -# define ACEXML_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* ACEXML_HAS_DLL == 1 */ - -#endif /* ACEXML_EXPORT_H */ - -// End of auto generated file. diff --git a/ACE/ACEXML/common/Attributes.cpp b/ACE/ACEXML/common/Attributes.cpp deleted file mode 100644 index 3f7c758ce8f..00000000000 --- a/ACE/ACEXML/common/Attributes.cpp +++ /dev/null @@ -1,11 +0,0 @@ -#include "Attributes.h" - - -ACE_RCSID (common, - Attributes, - "$Id$") - - -ACEXML_Attributes::~ACEXML_Attributes (void) -{ -} diff --git a/ACE/ACEXML/common/Attributes.h b/ACE/ACEXML/common/Attributes.h deleted file mode 100644 index 45982ed459e..00000000000 --- a/ACE/ACEXML/common/Attributes.h +++ /dev/null @@ -1,130 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Attributes.h - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - */ -//============================================================================= - -#ifndef _ACEXML_ATTRIBUTES_H_ -#define _ACEXML_ATTRIBUTES_H_ -#include /**/ "ace/pre.h" - -#include "ACEXML/common/ACEXML_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ACEXML/common/XML_Types.h" - -/** - * @class ACEXML_Attributes Attributes.h "ACEXML/common/Attributes.h" - * - * @brief ACEXML_Attributes defines a collection of attributes of an XML element. - * - * This is an abstract class (interface in Java) that defines - * the API for accessing attributes of an XML entity. - * - * This interface allows access to a list of attributes in three different ways: - * - * - by attribute index; - * - by Namespace-qualified name; or - * - by qualified (prefixed) name. - * - * The list will not contain attributes that were declared #IMPLIED - * but not specified in the start tag. It will also not contain - * attributes used as Namespace declarations (xmlns*) unless the - * http://xml.org/sax/features/namespace-prefixes feature is set to - * true (it is false by default). - * - * If the namespace-prefixes feature (see above) is false, access by - * qualified name may not be available; if the - * http://xml.org/sax/features/namespaces feature is false, access by - * Namespace-qualified names may not be available. - * - * This interface replaces the now-deprecated SAX1 AttributeList - * interface, which does not contain Namespace support. In addition to - * Namespace support, it adds the getIndex methods (below). - * - * The order of attributes in the list is unspecified, and will vary - * from implementation to implementation. - */ -class ACEXML_Export ACEXML_Attributes -{ -public: - - /// Destructor. - virtual ~ACEXML_Attributes (void); - - /** - * Look up the index of an attribute by XML 1.0 qualified name. - */ - virtual int getIndex (const ACEXML_Char *qName) = 0; - - /** - * Look up the index of an attribute by Namespace name. - */ - virtual int getIndex (const ACEXML_Char *uri, - const ACEXML_Char *localPart) = 0; - - /** - * Return the number of attributes in the list. - */ - virtual size_t getLength (void) = 0; - - /** - * Look up an attribute's local name by index. - */ - virtual const ACEXML_Char *getLocalName (size_t index) = 0; - - /** - * Look up an attribute's XML 1.0 qualified name by index. - */ - virtual const ACEXML_Char *getQName (size_t index) = 0; - - /** - * Look up an attribute's type by index. - */ - virtual const ACEXML_Char *getType (size_t index) = 0; - - /** - * Look up an attribute's type by XML 1.0 qualified name. - */ - virtual const ACEXML_Char *getType (const ACEXML_Char *qName) = 0; - - /** - * Look up an attribute's type by Namespace name. - */ - virtual const ACEXML_Char *getType (const ACEXML_Char *uri, - const ACEXML_Char *localPart) = 0; - - /** - * Look up an attribute's Namespace URI by index. - */ - virtual const ACEXML_Char *getURI (size_t index) = 0; - - /** - * Look up an attribute's value by index. - */ - virtual const ACEXML_Char *getValue (size_t index) = 0; - - /** - * Look up an attribute's value by XML 1.0 qualified name. - */ - virtual const ACEXML_Char *getValue (const ACEXML_Char *qName) = 0; - - /** - * Look up an attribute's value by Namespace name. - */ - virtual const ACEXML_Char *getValue (const ACEXML_Char *uri, - const ACEXML_Char *localPart) = 0; -}; - -#include /**/ "ace/post.h" - -#endif /* _ACEXML_ ATTRIBUTES_H_ */ diff --git a/ACE/ACEXML/common/AttributesImpl.cpp b/ACE/ACEXML/common/AttributesImpl.cpp deleted file mode 100644 index b436c4e5f79..00000000000 --- a/ACE/ACEXML/common/AttributesImpl.cpp +++ /dev/null @@ -1,293 +0,0 @@ -// -*- C++ -*- $Id$ - -#include "ACEXML/common/AttributesImpl.h" - -#if !defined (__ACEXML_INLINE__) -# include "ACEXML/common/AttributesImpl.inl" -#endif /* __ACEXML_INLINE__ */ - -ACEXML_AttributesImpl::ACEXML_AttributesImpl (int size) - : attrs_ (size) -{ - this->attrs_.size (0); // attrs array contains nothing -} - -ACEXML_AttributesImpl::ACEXML_AttributesImpl (const - ACEXML_AttributesImpl &attrs) - : ACEXML_Attributes (attrs), - attrs_ (attrs.attrs_.size ()) -{ - for (size_t i = 0; i < attrs.attrs_.size (); i++) - this->attrs_[i] = attrs.attrs_[i]; -} - -ACEXML_AttributesImpl::~ACEXML_AttributesImpl (void) -{ -} - -int -ACEXML_AttributesImpl::addAttribute (const ACEXML_Char *uri, - const ACEXML_Char *localName, - const ACEXML_Char *qName, - const ACEXML_Char *type, - const ACEXML_Char *value) -{ - if (this->isDuplicate (uri, localName, qName)) - return -1; - size_t length = this->attrs_.size (); - this->attrs_.size (length+1); - this->setAttribute (length, - uri, - localName, - qName, - type, - value); - return static_cast<int> (length); -} - -int -ACEXML_AttributesImpl::addAttribute (const ACEXML_Attribute &att) -{ - if (this->isDuplicate (att.uri(), att.localName(), att.qName())) - return -1; - size_t length = this->attrs_.size (); - this->attrs_.size (length+1); - this->attrs_[length] = att; - return static_cast<int> (length); -} - -int -ACEXML_AttributesImpl::isDuplicate (const ACEXML_Char *uri, - const ACEXML_Char *localName, - const ACEXML_Char *qName) -{ - for (size_t i = 0; i < this->attrs_.size(); ++i) - { - if (ACE_OS::strcmp (this->attrs_[i].localName(), localName) == 0) - { - if (qName != 0 && this->attrs_[i].qName() != 0 - && ACE_OS::strcmp (this->attrs_[i].qName(), qName) == 0) - { - if (uri != 0 && this->attrs_[i].uri() != 0 - && ACE_OS::strcmp (this->attrs_[i].uri(), uri) == 0) - return 1; - } - } - } - return 0; -} - -int -ACEXML_AttributesImpl::removeAttribute (size_t index) -{ - size_t length = this->attrs_.size (); - - if (index >= length) - return -1; - - this->attrs_[index] = this->attrs_[length - 1]; - this->attrs_.size (length - 1); - - return 0; -} - - -int -ACEXML_AttributesImpl::getIndex (const ACEXML_Char *qName) -{ - for (size_t i = 0; i < this->attrs_.size (); i++) - if (ACE_OS::strcmp (qName, this->attrs_[i].qName ()) == 0) - return static_cast<int> (i); - - return -1; -} - -int -ACEXML_AttributesImpl::getIndex (const ACEXML_Char *uri, - const ACEXML_Char *localPart) -{ - for (size_t i = 0; i < this->attrs_.size (); i++) - if (ACE_OS::strcmp (uri, this->attrs_[i].uri ()) == 0 && - ACE_OS::strcmp (localPart, this->attrs_[i].localName ()) == 0) - return static_cast<int> (i); - - return -1; -} - -size_t -ACEXML_AttributesImpl::getLength (void) -{ - return this->attrs_.size (); -} - -const ACEXML_Char * -ACEXML_AttributesImpl::getLocalName (size_t index) -{ - if (index < this->attrs_.size ()) - return this->attrs_[index].localName (); - return 0; -} - - -const ACEXML_Char * -ACEXML_AttributesImpl::getQName (size_t index) -{ - if (index < this->attrs_.size ()) - return this->attrs_[index].qName (); - return 0; -} - -const ACEXML_Char * -ACEXML_AttributesImpl::getType (size_t index) -{ - if (index < this->attrs_.size ()) - return this->attrs_[index].type (); - return 0; -} - - -const ACEXML_Char * -ACEXML_AttributesImpl::getType (const ACEXML_Char *qName) -{ - for (size_t i = 0; i < this->attrs_.size (); i++) - if (ACE_OS::strcmp (qName, this->attrs_[i].qName ()) == 0) - return this->attrs_[i].type (); - - return 0; -} - -const ACEXML_Char * -ACEXML_AttributesImpl::getType (const ACEXML_Char *uri, - const ACEXML_Char *localPart) -{ - for (size_t i = 0; i < this->attrs_.size (); i++) - if (ACE_OS::strcmp (uri, this->attrs_[i].uri ()) == 0 && - ACE_OS::strcmp (localPart, this->attrs_[i].localName ()) == 0) - return this->attrs_[i].type (); - - return 0; -} - - -const ACEXML_Char * -ACEXML_AttributesImpl::getURI (size_t index) -{ - if (index < this->attrs_.size ()) - return this->attrs_[index].uri (); - return 0; -} - - -const ACEXML_Char * -ACEXML_AttributesImpl::getValue (size_t index) -{ - if (index < this->attrs_.size ()) - return this->attrs_[index].value (); - return 0; -} - -const ACEXML_Char * -ACEXML_AttributesImpl::getValue (const ACEXML_Char *qName) -{ - for (size_t i = 0; i < this->attrs_.size (); i++) - if (ACE_OS::strcmp (qName, this->attrs_[i].qName ()) == 0) - return this->attrs_[i].value (); - - return 0; -} - -const ACEXML_Char * -ACEXML_AttributesImpl::getValue (const ACEXML_Char *uri, - const ACEXML_Char *localPart) -{ - for (size_t i = 0; i < this->attrs_.size (); i++) - if (ACE_OS::strcmp (uri, this->attrs_[i].uri ()) == 0 && - ACE_OS::strcmp (localPart, this->attrs_[i].localName ()) == 0) - return this->attrs_[i].value (); - - return 0; -} - -int -ACEXML_AttributesImpl::setAttribute (size_t index, - const ACEXML_Char *uri, - const ACEXML_Char *localName, - const ACEXML_Char *qName, - const ACEXML_Char *type, - const ACEXML_Char *value) -{ - if (index < this->attrs_.size ()) - { - this->attrs_[index].setAttribute (uri, - localName, - qName, - type, - value); - return 0; - } - - return -1; -} - - -int -ACEXML_AttributesImpl::setLocalName (size_t index, - const ACEXML_Char *localName) -{ - if (index < this->attrs_.size ()) - { - this->attrs_[index].localName (localName); - return 0; - } - return -1; -} - -int -ACEXML_AttributesImpl::setQName (size_t index, - const ACEXML_Char *qName) -{ - if (index < this->attrs_.size ()) - { - this->attrs_[index].qName (qName); - return 0; - } - return -1; -} - - -int -ACEXML_AttributesImpl::setURI (size_t index, - const ACEXML_Char *uri) -{ - if (index < this->attrs_.size ()) - { - this->attrs_[index].uri (uri); - return 0; - } - return -1; -} - -int -ACEXML_AttributesImpl::setType (size_t index, - const ACEXML_Char *type) -{ - if (index < this->attrs_.size ()) - { - this->attrs_[index].type (type); - return 0; - } - return -1; -} - -int -ACEXML_AttributesImpl::setValue (size_t index, - const ACEXML_Char *value) -{ - if (index < this->attrs_.size ()) - { - this->attrs_[index].value (value); - return 0; - } - return -1; -} - diff --git a/ACE/ACEXML/common/AttributesImpl.h b/ACE/ACEXML/common/AttributesImpl.h deleted file mode 100644 index 39b7f33099b..00000000000 --- a/ACE/ACEXML/common/AttributesImpl.h +++ /dev/null @@ -1,309 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file AttributesImpl.h - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - */ -//============================================================================= - - -#ifndef ACEXML_ATTRIBUTESIMPL_H -#define ACEXML_ATTRIBUTESIMPL_H - -#include /**/ "ace/pre.h" -#include "ACEXML/common/ACEXML_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ACEXML/common/Attributes.h" -#include "ace/Containers_T.h" - -#if !defined ACEXML_AttributesImpl_Default_Size -#define ACEXML_AttributesImpl_Default_Size 20 -#endif /* ACEXML_AttributesImpl_Default_Size */ - -class ACEXML_AttributesImpl; - -/** - * @class ACEXML_Attribute AttributesImpl.h "ACEXML/common/AttributesImpl.h" - * - * @brief ACEXML_Attribute defines the data structure of an attribute - * - * @sa ACEXML_AttributesImpl - */ -class ACEXML_Export ACEXML_Attribute -{ -public: - friend class ACEXML_AttributesImpl; - - /// Default constructor. - ACEXML_Attribute (void); - - /// Copy constructor. - ACEXML_Attribute (const ACEXML_Attribute &attr); - - /// Initialize all constructor. - ACEXML_Attribute (const ACEXML_Char *uri, - const ACEXML_Char *localName, - const ACEXML_Char *qName, - const ACEXML_Char *type, - const ACEXML_Char *value); - - /// Destructor. - ~ACEXML_Attribute (void); - - /// Set all members. - void setAttribute (const ACEXML_Char *uri, - const ACEXML_Char *localName, - const ACEXML_Char *qName, - const ACEXML_Char *type, - const ACEXML_Char *value); - - /// Get \a uri_. - const ACEXML_Char *uri (void) const; - - /// Set \a uri_. - void uri (const ACEXML_Char *uri); - - /// Get \a localName_. - const ACEXML_Char *localName (void) const; - - /// Set \a localName_. - void localName (const ACEXML_Char *localName); - - /// Get \a qName_. - const ACEXML_Char *qName (void) const; - - /// Set \a qName_. - void qName (const ACEXML_Char *qName); - - /// Get \a type_. - const ACEXML_Char *type (void) const; - - /// Set \a type_. - void type (const ACEXML_Char *type); - - /// Get \a value_. - const ACEXML_Char *value (void) const; - - /// Set \a value_. - void value (const ACEXML_Char *value); - - /// Assignment operator. - ACEXML_Attribute &operator= (const ACEXML_Attribute &rhs); - - /// Comparison operator. - bool operator!= (const ACEXML_Attribute&rhs) const; - -private: - /// Namespace URI of an attribute - ACEXML_Char *uri_; - - ACEXML_Char *localName_; - ACEXML_Char *qName_; - ACEXML_Char *type_; - ACEXML_Char *value_; -}; - -/** - * @typedef ACE_Array<ACEXML_Attribute> ACEXML_Attribute_Array - */ -typedef ACE_Array<ACEXML_Attribute> ACEXML_Attribute_Array; - -/** - * @class ACEXML_AttributesImpl AttributesImpl.h "ACEXML/common/AttributesImpl.h" - * - * @brief ACEXML_AttributesImpl provides the default implementation - * of interface ACEXML_Attributes. - * - * This class provides a default implementation of the SAX2 Attributes - * interface, with the addition of manipulators so that the list can - * be modified or reused. - * - * There are two typical uses of this class: - * - * - to take a persistent snapshot of an Attributes object in a - * startElement event; or - * - to construct or modify an Attributes object in a SAX2 driver or filter. - * - * This class replaces the now-deprecated SAX1 AttributeListImpl - * class; in addition to supporting the updated Attributes interface - * rather than the deprecated AttributeList interface, it also - * includes a much more efficient implementation using a single array - * rather than a set of Vectors. - * - * @sa ACEXML_Attributes - */ -class ACEXML_Export ACEXML_AttributesImpl - : public ACEXML_Attributes -{ -public: - /** - * Initialize an AttributesImpl that holds @a size attributes. - */ - ACEXML_AttributesImpl (int size = ACEXML_AttributesImpl_Default_Size); - ACEXML_AttributesImpl (const ACEXML_AttributesImpl &attrs); - virtual ~ACEXML_AttributesImpl (void); - - /** - * Add a new attribute using the argument(s) supplied. - * Return -1 if an attribute with the same name already exists. - */ - virtual int addAttribute (const ACEXML_Char *uri, - const ACEXML_Char *localName, - const ACEXML_Char *qName, - const ACEXML_Char *type, - const ACEXML_Char *value); - virtual int addAttribute (const ACEXML_Attribute &att); - - /** - * Check for duplicate attributes. - */ - virtual int isDuplicate (const ACEXML_Char *uri, - const ACEXML_Char *localName, - const ACEXML_Char *qName); - /** - * Remove an attribute from the array. Notice that this - * operation can invalidate previously acquired @a index - * value. (It will repack the array.) - */ - virtual int removeAttribute (size_t index); - - - /** - * Look up the index of an attribute by XML 1.0 qualified name. - * Return -1 if we fail to find a match. - */ - virtual int getIndex (const ACEXML_Char *qName); - - /** - * Look up the index of an attribute by Namespace name. - * Return -1 if we fail to find a match. - */ - virtual int getIndex (const ACEXML_Char *uri, - const ACEXML_Char *localPart); - - /** - * Return the number of attributes in the list. - */ - virtual size_t getLength (void); - - /** - * Look up an attribute's local name by index. - * Return 0 if index is out of range. - */ - virtual const ACEXML_Char *getLocalName (size_t index); - - /** - * Look up an attribute's XML 1.0 qualified name by index. - * Return 0 if index is out of range. - */ - virtual const ACEXML_Char *getQName (size_t index); - - /** - * Look up an attribute's type by index. - * Return 0 if index is out of range. - */ - virtual const ACEXML_Char *getType (size_t index); - - /** - * Look up an attribute's type by XML 1.0 qualified name. - * Return 0 if we fail to find a match. - */ - virtual const ACEXML_Char *getType (const ACEXML_Char *qName); - - /** - * Look up an attribute's type by Namespace name. - * Return 0 if we fail to find a match. - */ - virtual const ACEXML_Char *getType (const ACEXML_Char *uri, - const ACEXML_Char *localPart); - - /** - * Look up an attribute's Namespace URI by index. - * Return 0 if index is out of range. - */ - virtual const ACEXML_Char *getURI (size_t index); - - /** - * Look up an attribute's value by index. - * Return 0 if index is out of range. - */ - virtual const ACEXML_Char *getValue (size_t index); - - /** - * Look up an attribute's value by XML 1.0 qualified name. - * Return 0 if we fail to find a match. - */ - virtual const ACEXML_Char *getValue (const ACEXML_Char *qName); - - /** - * Look up an attribute's value by Namespace name. - * Return 0 if we fail to find a match. - */ - virtual const ACEXML_Char *getValue (const ACEXML_Char *uri, - const ACEXML_Char *localPart); - - /** - * Set an attribute at index. Return -1 if index is out of - * range. - */ - virtual int setAttribute (size_t index, - const ACEXML_Char *uri, - const ACEXML_Char *localName, - const ACEXML_Char *qName, - const ACEXML_Char *type, - const ACEXML_Char *value); - - /** - * Set the localName of the attribute at @a index. - * return -1 if @a index is out of range. - */ - virtual int setLocalName (size_t index, - const ACEXML_Char *localName); - - /** - * Set the qName of the attribute at @a index. - * return -1 if @a index is out of range. - */ - virtual int setQName (size_t index, - const ACEXML_Char *qName); - - /** - * Set the URI of the attribute at @a index. - * return -1 if @a index is out of range. - */ - virtual int setURI (size_t index, - const ACEXML_Char *uri); - - /** - * Set the type of the attribute at @a index. - * return -1 if @a index is out of range. - */ - virtual int setType (size_t index, - const ACEXML_Char *type); - - /** - * Set the value of the attribute at @a index. - * return -1 if @a index is out of range. - */ - virtual int setValue (size_t index, - const ACEXML_Char *value); -private: - /// Container for all attributes. - ACEXML_Attribute_Array attrs_; -}; - -#if defined (__ACEXML_INLINE__) -# include "ACEXML/common/AttributesImpl.inl" -#endif /* __ACEXML_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* ACEXML_ATTRIBUTESIMPL_H */ diff --git a/ACE/ACEXML/common/AttributesImpl.inl b/ACE/ACEXML/common/AttributesImpl.inl deleted file mode 100644 index 75fc288950d..00000000000 --- a/ACE/ACEXML/common/AttributesImpl.inl +++ /dev/null @@ -1,154 +0,0 @@ -// -*- C++ -*- -// -//$Id$ - -#include "ace/ACE.h" -#include "ace/OS_NS_string.h" - -ACEXML_INLINE -ACEXML_Attribute::ACEXML_Attribute (void) - : uri_ (0), - localName_ (0), - qName_ (0), - type_ (0), - value_ (0) -{ -} - -ACEXML_INLINE -ACEXML_Attribute::ACEXML_Attribute (const ACEXML_Attribute &attr) - : uri_ (ACE::strnew (attr.uri_)), - localName_ (ACE::strnew (attr.localName_)), - qName_ (ACE::strnew (attr.qName_)), - type_ (ACE::strnew (attr.type_)), - value_ (ACE::strnew (attr.value_)) -{ -} - -ACEXML_INLINE -ACEXML_Attribute::ACEXML_Attribute (const ACEXML_Char *uri, - const ACEXML_Char *localName, - const ACEXML_Char *qName, - const ACEXML_Char *type, - const ACEXML_Char *value) - : uri_ (ACE::strnew (uri)), - localName_ (ACE::strnew (localName)), - qName_ (ACE::strnew (qName)), - type_ (ACE::strnew (type)), - value_ (ACE::strnew (value)) -{ -} - -ACEXML_INLINE -ACEXML_Attribute::~ACEXML_Attribute (void) -{ - delete[] this->uri_; - delete[] this->localName_; - delete[] this->qName_; - delete[] this->type_; - delete[] this->value_; -} - -ACEXML_INLINE const ACEXML_Char * -ACEXML_Attribute::uri (void) const -{ - return this->uri_; -} - -ACEXML_INLINE void -ACEXML_Attribute::uri (const ACEXML_Char *uri) -{ - delete[] this->uri_; - this->uri_ = ACE::strnew (uri); -} - -ACEXML_INLINE const ACEXML_Char * -ACEXML_Attribute::localName (void) const -{ - return this->localName_; -} - -ACEXML_INLINE void -ACEXML_Attribute::localName (const ACEXML_Char *localName) -{ - delete[] this->localName_; - this->localName_ = ACE::strnew (localName); -} - -ACEXML_INLINE const ACEXML_Char * -ACEXML_Attribute::qName (void) const -{ - return this->qName_; -} - -ACEXML_INLINE void -ACEXML_Attribute::qName (const ACEXML_Char *qName) -{ - delete[] this->qName_; - this->qName_ = ACE::strnew (qName); -} - -ACEXML_INLINE const ACEXML_Char * -ACEXML_Attribute::type (void) const -{ - return this->type_; -} - -ACEXML_INLINE void -ACEXML_Attribute::type (const ACEXML_Char *type) -{ - delete[] this->type_; - this->type_ = ACE::strnew (type); -} - -ACEXML_INLINE const ACEXML_Char * -ACEXML_Attribute::value (void) const -{ - return this->value_; -} - -ACEXML_INLINE void -ACEXML_Attribute::value (const ACEXML_Char *value) -{ - delete[] this->value_; - this->value_ = ACE::strnew (value); -} - -ACEXML_INLINE void -ACEXML_Attribute::setAttribute (const ACEXML_Char *uri, - const ACEXML_Char *localName, - const ACEXML_Char *qName, - const ACEXML_Char *type, - const ACEXML_Char *value) -{ - this->uri (uri); - this->qName (qName); - this->localName (localName); - this->type (type); - this->value (value); -} - -ACEXML_INLINE ACEXML_Attribute & -ACEXML_Attribute::operator= (const ACEXML_Attribute &rhs) -{ - if (this != &rhs) // Check for self assignment - { - this->uri (rhs.uri ()); - this->qName (rhs.qName ()); - this->localName (rhs.localName ()); - this->type (rhs.type ()); - this->value (rhs.value ()); - } - return *this; -} - -ACEXML_INLINE bool -ACEXML_Attribute::operator!= (const ACEXML_Attribute &rhs) const -{ - return (ACE_OS::strcmp (this->uri_, rhs.uri ()) == 0 && - ACE_OS::strcmp (this->localName_, rhs.localName ()) == 0 && - ACE_OS::strcmp (this->qName_, rhs .qName ()) == 0 && - ACE_OS::strcmp (this->type_, rhs.type ()) == 0 && - ACE_OS::strcmp (this->value_, rhs.value ()) == 0 ? false : true); - -} diff --git a/ACE/ACEXML/common/Attributes_Def_Builder.cpp b/ACE/ACEXML/common/Attributes_Def_Builder.cpp deleted file mode 100644 index 8b748dce3ce..00000000000 --- a/ACE/ACEXML/common/Attributes_Def_Builder.cpp +++ /dev/null @@ -1,14 +0,0 @@ -// $Id$ - -#include "ACEXML/common/Attributes_Def_Builder.h" - -ACEXML_Attribute_Def_Builder::~ACEXML_Attribute_Def_Builder () -{ - -} - -ACEXML_Attributes_Def_Builder::~ACEXML_Attributes_Def_Builder () -{ - -} - diff --git a/ACE/ACEXML/common/Attributes_Def_Builder.h b/ACE/ACEXML/common/Attributes_Def_Builder.h deleted file mode 100644 index c91025cd33d..00000000000 --- a/ACE/ACEXML/common/Attributes_Def_Builder.h +++ /dev/null @@ -1,153 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Attributes_Def_Builder.h - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - */ -//============================================================================= -#ifndef _ACEXML_ATTRIBUTES_DEF_BUILDER_H_ -#define _ACEXML_ATTRIBUTES_DEF_BUILDER_H_ - -#include /**/ "ace/pre.h" -#include "ACEXML/common/ACEXML_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ACEXML/common/XML_Types.h" -#include "ACEXML/common/Env.h" -#include "ACEXML/common/SAXExceptions.h" -#include "ace/Auto_Ptr.h" - -/** - * @class ACEXML_Attribute_Def_Builder Attributes_Def_Builder.h "common/Attributes_Def_Builder.h" - * - * @brief An abstract virtual class defining an interface for building an - * attribute definition from DTD. - * - * This class should be invisible to application programmers and is only - * used for validator implementors. - */ -class ACEXML_Export ACEXML_Attribute_Def_Builder -{ -public: - - typedef auto_ptr<ACEXML_Attribute_Def_Builder> VAR; - - enum ATT_TYPE { - CDATA, - ID, - IDREF, - IDREFS, - ENTITY, - ENTITIES, - NMTOKEN, - NMTOKENS, - NOTATION, - ENUMERATION, - ERROR_TYPE - }; - - enum DEFAULT_DECL { - REQUIRED, - IMPLIED, - FIXED, - INVALID - }; - - virtual ~ACEXML_Attribute_Def_Builder () = 0; - - /** - * Specify the name of the attribute. - */ - virtual int setName (const ACEXML_Char *n) = 0; - - /** - * Get the name of the attribute. - */ - virtual const ACEXML_Char *getName (void) = 0; - - /** - * Set the attribute type. - */ - virtual int setAttType (const ATT_TYPE type ACEXML_ENV_ARG_DECL) - = 0; - - /** - * Insert an element for NOTATION or ENUMERATION type attribute. - */ - virtual int insertList (const ACEXML_Char *Name ACEXML_ENV_ARG_DECL) - = 0; - - /** - * Set default attribute declaration. - */ - virtual int setDefault (const DEFAULT_DECL def, - const ACEXML_Char *value ACEXML_ENV_ARG_DECL) - = 0; - - /** - * Check validity of the current attribute definition being built. - * - * @retval 0 if the attribute is not a valid combo. - */ - virtual int validAttr (void) = 0; - - /** - * Dump the content of the attribute definition. - */ - virtual void dump (void) = 0; -}; - -/** - * @ class ACEXML_Attributes_Def_Builder Attributes_Def_Builder.h "common/Attributes_Def_Builder.h" - * - * @ brief An abstract virtual class defining an interface for building - * attribute definitions from DTD. - * - * This class should be invisible to application programmers and - * is only used for validator implementors. - */ -class ACEXML_Export ACEXML_Attributes_Def_Builder -{ -public: - - typedef auto_ptr<ACEXML_Attributes_Def_Builder> VAR; - - virtual ~ACEXML_Attributes_Def_Builder () = 0; - - /** - * Set the element name that the attribute builder applies. - * - * @retval 0 if valid, -1 otherwise. - */ - virtual int setElement (const ACEXML_Char *namespaceURI, - const ACEXML_Char *localName, - const ACEXML_Char *qName ACEXML_ENV_ARG_DECL) - = 0; - - /** - * Acquire an Attribute_Builder. - */ - virtual ACEXML_Attribute_Def_Builder *getAttribute_Def_Builder () = 0; - - /** - * Add a definition for one attribute. - */ - virtual int insertAttribute (ACEXML_Attribute_Def_Builder *def ACEXML_ENV_ARG_DECL) = 0; - - - /** - * Dump the content of the attribute definition. - */ - virtual void dump (void) = 0; -}; - -#include /**/ "ace/post.h" - -#endif /* _ACEXML_ATTRIBUTES_DEF_BUILDER_H_ */ diff --git a/ACE/ACEXML/common/CharStream.cpp b/ACE/ACEXML/common/CharStream.cpp deleted file mode 100644 index 2c6ea29600f..00000000000 --- a/ACE/ACEXML/common/CharStream.cpp +++ /dev/null @@ -1,7 +0,0 @@ -// -*- C++ -*- $Id$ - -#include "ACEXML/common/CharStream.h" - -ACEXML_CharStream::~ACEXML_CharStream (void) -{ -} diff --git a/ACE/ACEXML/common/CharStream.h b/ACE/ACEXML/common/CharStream.h deleted file mode 100644 index e0355d4721a..00000000000 --- a/ACE/ACEXML/common/CharStream.h +++ /dev/null @@ -1,88 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file CharStream.h - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - */ -//============================================================================= - -#ifndef _ACEXML_CHARSTREAM_H_ -#define _ACEXML_CHARSTREAM_H_ - -#include /**/ "ace/pre.h" -#include "ACEXML/common/ACEXML_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ -#include "ACEXML/common/XML_Types.h" - -/** - * @class ACEXML_CharStream CharStream.h "ACEXML/common/CharStream.h" - * - * ACEXML_CharStream is an abstract class (interface) which defines the - * basic opertions a parser could use to retrieve XML charater sequence. - * The sequence can be read from a file or a character buffer. - */ -class ACEXML_Export ACEXML_CharStream -{ -public: - - /** - * Virtual destructor, must have. - */ - virtual ~ACEXML_CharStream () = 0; - - /** - * Returns the available ACEXML_Char in the buffer. -1 - * if the object is not initialized properly. - */ - virtual int available (void) = 0; - - /** - * Close this stream and release all resources used by it. - */ - virtual int close (void) = 0; - - /** - * Read the next ACEXML_Char. Return -1 if we are not able to - * return an ACEXML_Char, 0 if EOS is reached, or 1 if succeed. - */ - virtual int get (ACEXML_Char& ch) = 0; - - /** - * Read the next batch of ACEXML_Char strings - */ - virtual int read (ACEXML_Char *str, size_t len) = 0; - - /** - * Peek the next ACEXML_Char in the CharStream. Return the - * character if succeess, -1 if EOS is reached. - */ - virtual int peek (void) = 0; - - /** - * Resets the pointer to the beginning of the stream. - */ - virtual void rewind (void) = 0; - - /* - * Get the character encoding for a byte stream or URI. - */ - virtual const ACEXML_Char *getEncoding (void) = 0; - - /* - * Get the systemId for the underlying CharStream - */ - virtual const ACEXML_Char* getSystemId (void) = 0; - -}; - -#include /**/ "ace/post.h" - - -#endif /* _ACEXML_CHARSTREAM_H_ */ diff --git a/ACE/ACEXML/common/ContentHandler.cpp b/ACE/ACEXML/common/ContentHandler.cpp deleted file mode 100644 index 633342fd6b1..00000000000 --- a/ACE/ACEXML/common/ContentHandler.cpp +++ /dev/null @@ -1,11 +0,0 @@ -#include "ContentHandler.h" - - -ACE_RCSID (common, - ContentHandler, - "$Id$") - - -ACEXML_ContentHandler::~ACEXML_ContentHandler (void) -{ -} diff --git a/ACE/ACEXML/common/ContentHandler.h b/ACE/ACEXML/common/ContentHandler.h deleted file mode 100644 index 006eb4ded37..00000000000 --- a/ACE/ACEXML/common/ContentHandler.h +++ /dev/null @@ -1,132 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file ContentHandler.h - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - */ -//============================================================================= -#ifndef _ACEXML_CONTENTHANDLER_H_ -#define _ACEXML_CONTENTHANDLER_H_ - -#include /**/ "ace/pre.h" -#include "ACEXML/common/ACEXML_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ACEXML/common/Env.h" -#include "ACEXML/common/SAXExceptions.h" -#include "ACEXML/common/Locator.h" -#include "ACEXML/common/Attributes.h" - -/** - * @class ACEXML_ContentHandler ContentHandler.h "ACEXML/common/ContentHandler.h" - * - * @brief ACEXML_ContentHandler - * - * This is the main interface that most SAX applications implement: if the - * application needs to be informed of basic parsing events, it implements - * this interface and registers an instance with the SAX parser using the - * setContentHandler method. The parser uses the instance to report basic - * document-related events like the start and end of elements and character - * data. - * - * The order of events in this interface is very important, and mirrors the - * order of information in the document itself. For example, all of an - * element's content (character data, processing instructions, and/or - * subelements) will appear, in order, between the startElement event and - * the corresponding endElement event. - */ -class ACEXML_Export ACEXML_ContentHandler -{ -public: - - virtual ~ACEXML_ContentHandler (void); - - /** - * Receive notification of character data. - */ - virtual void characters (const ACEXML_Char *ch, - size_t start, - size_t length - ACEXML_ENV_ARG_DECL) - = 0; - - /** - * Receive notification of the end of a document. - */ - virtual void endDocument (ACEXML_ENV_SINGLE_ARG_DECL) - = 0; - - /** - * Receive notification of the end of an element. - */ - virtual void endElement (const ACEXML_Char *namespaceURI, - const ACEXML_Char *localName, - const ACEXML_Char *qName ACEXML_ENV_ARG_DECL) - = 0; - - /** - * End the scope of a prefix-URI mapping. - */ - virtual void endPrefixMapping (const ACEXML_Char *prefix ACEXML_ENV_ARG_DECL) - = 0; - - /** - * Receive notification of ignorable whitespace in element content. - */ - virtual void ignorableWhitespace (const ACEXML_Char *ch, - int start, - int length ACEXML_ENV_ARG_DECL) - = 0; - - /** - * Receive notification of a processing instruction. - */ - virtual void processingInstruction (const ACEXML_Char *target, - const ACEXML_Char *data ACEXML_ENV_ARG_DECL) - = 0; - - /** - * Receive an object for locating the origin of SAX document events. - */ - virtual void setDocumentLocator (ACEXML_Locator *locator) = 0; - - /** - * Receive notification of a skipped entity. - */ - virtual void skippedEntity (const ACEXML_Char *name ACEXML_ENV_ARG_DECL) - = 0; - - /** - * Receive notification of the beginning of a document. - */ - virtual void startDocument (ACEXML_ENV_SINGLE_ARG_DECL) - = 0; - - /** - * Receive notification of the beginning of an element. - */ - virtual void startElement (const ACEXML_Char *namespaceURI, - const ACEXML_Char *localName, - const ACEXML_Char *qName, - ACEXML_Attributes *atts ACEXML_ENV_ARG_DECL) - = 0; - - /** - * Begin the scope of a prefix-URI Namespace mapping. - */ - virtual void startPrefixMapping (const ACEXML_Char *prefix, - const ACEXML_Char *uri ACEXML_ENV_ARG_DECL) - = 0; -}; - -#include /**/ "ace/post.h" - - -#endif /* _ACEXML_CONTENTHANDLER_H_ */ diff --git a/ACE/ACEXML/common/DTDHandler.cpp b/ACE/ACEXML/common/DTDHandler.cpp deleted file mode 100644 index 199f469b578..00000000000 --- a/ACE/ACEXML/common/DTDHandler.cpp +++ /dev/null @@ -1,11 +0,0 @@ -#include "DTDHandler.h" - - -ACE_RCSID (common, - DTDHandler, - "$Id$") - - -ACEXML_DTDHandler::~ACEXML_DTDHandler (void) -{ -} diff --git a/ACE/ACEXML/common/DTDHandler.h b/ACE/ACEXML/common/DTDHandler.h deleted file mode 100644 index 18800a43a2e..00000000000 --- a/ACE/ACEXML/common/DTDHandler.h +++ /dev/null @@ -1,78 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file DTDHandler.h - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - */ -//============================================================================= -#ifndef _ACEXML_DTDHANDLER_H_ -#define _ACEXML_DTDHANDLER_H_ - -#include /**/ "ace/pre.h" -#include "ACEXML/common/ACEXML_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ACEXML/common/Env.h" -#include "ACEXML/common/SAXExceptions.h" - -/** - * @class ACEXML_DTDHandler DTDHandler.h "ACEXML/common/DTDHandler.h" - * - * @brief ACEXML_DTDHandler - * - * If a SAX application needs information about notations and unparsed - * entities, then the application implements this interface and registers - * an instance with the SAX parser using the parser's setDTDHandler method. - * The parser uses the instance to report notation and unparsed entity - * declarations to the application. - * - * Note that this interface includes only those DTD events that the XML - * recommendation requires processors to report: notation and unparsed - * entity declarations. - * - * The SAX parser may report these events in any order, regardless of the - * order in which the notations and unparsed entities were declared; - * however, all DTD events must be reported after the document handler's - * startDocument event, and before the first startElement event. - * - * It is up to the application to store the information for future use - * (perhaps in a hash table or object tree). If the application encounters - * attributes of type "NOTATION", "ENTITY", or "ENTITIES", it can use the - * information that it obtained through this interface to find the entity - * and/or notation corresponding with the attribute value. - */ -class ACEXML_Export ACEXML_DTDHandler -{ -public: - - virtual ~ACEXML_DTDHandler (void); - - /** - * Receive notification of a notation declaration event. - */ - virtual void notationDecl (const ACEXML_Char *name, - const ACEXML_Char *publicId, - const ACEXML_Char *systemId ACEXML_ENV_ARG_DECL) - = 0; - - /** - * Receive notification of an unparsed entity declaration event. - */ - virtual void unparsedEntityDecl (const ACEXML_Char *name, - const ACEXML_Char *publicId, - const ACEXML_Char *systemId, - const ACEXML_Char *notationName ACEXML_ENV_ARG_DECL) - = 0; -}; - - -#include /**/ "ace/post.h" - -#endif /* _ACEXML_DTDHANDLER_H_ */ diff --git a/ACE/ACEXML/common/DTD_Manager.cpp b/ACE/ACEXML/common/DTD_Manager.cpp deleted file mode 100644 index 39b3d2acef0..00000000000 --- a/ACE/ACEXML/common/DTD_Manager.cpp +++ /dev/null @@ -1,8 +0,0 @@ -// $Id$ - -#include "ACEXML/common/DTD_Manager.h" - -ACEXML_DTD_Manager::~ACEXML_DTD_Manager () -{ - -} diff --git a/ACE/ACEXML/common/DTD_Manager.h b/ACE/ACEXML/common/DTD_Manager.h deleted file mode 100644 index 51ab3791551..00000000000 --- a/ACE/ACEXML/common/DTD_Manager.h +++ /dev/null @@ -1,82 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file DTD_Manager.h - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - */ -//============================================================================= -#ifndef _ACEXML_DTD_Manager_H_ -#define _ACEXML_DTD_Manager_H_ - -#include /**/ "ace/pre.h" -#include "ACEXML/common/ACEXML_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ACEXML/common/Attributes_Def_Builder.h" -#include "ACEXML/common/Element_Def_Builder.h" -#include "ACEXML/common/Validator.h" - -/** - * @class ACEXML_DTD_Manager DTD_Manager.h "common/DTD_Manager.h" - * - * @todo Fill in the blank. - */ -class ACEXML_Export ACEXML_DTD_Manager -{ -public: - virtual ~ACEXML_DTD_Manager () = 0; - - /** - * Acquire a pointer to an element definition builder. - * The XML parser use this interface to acquire the - * definition builder and use the builder to create - * the DTD element definition. The resulting builder - * is then registered with the DTD Manager or destroyed - * if error occured when the builder encountered errors. - * - * @retval 0 if error occurs creating the builder. - */ - virtual ACEXML_Element_Def_Builder *getElement_Def_Builder () = 0; - - /** - * Insert a new element definition into the DTD Manager. - * - * @retval 0 if success, -1 if error. - */ - virtual int insertElement_Definition (ACEXML_Element_Def_Builder *def ACEXML_ENV_ARG_DECL) = 0; - - /** - * Acquire a pointer to an attributes definition builder. - * - */ - virtual ACEXML_Attributes_Def_Builder *getAttribute_Def_Builder () = 0; - - /** - * Insert a new attributes definition into the DTD Manager. - * - * @retval 0 if success, -1 otherwise. - */ - virtual int insertAttributes_Definition (ACEXML_Attributes_Def_Builder *def ACEXML_ENV_ARG_DECL) = 0; - - /** - * Acquire an element validator to validate an XML element. - * - * @todo I haven't figured out what memory management scheme - * we should use for the acquired validator. - */ - virtual ACEXML_Validator *getValidator (const ACEXML_Char *namespaceURI, - const ACEXML_Char *localName, - const ACEXML_Char *qName ACEXML_ENV_ARG_DECL) = 0; -}; - - -#include /**/ "ace/post.h" - -#endif /* _ACEXML_DTD_Manager_H_ */ diff --git a/ACE/ACEXML/common/DefaultHandler.cpp b/ACE/ACEXML/common/DefaultHandler.cpp deleted file mode 100644 index 02e7fd86126..00000000000 --- a/ACE/ACEXML/common/DefaultHandler.cpp +++ /dev/null @@ -1,143 +0,0 @@ -// -*- C++ -*- $Id$ - -#include "ACEXML/common/DefaultHandler.h" - -ACEXML_DefaultHandler::ACEXML_DefaultHandler (void) -{ - // no-op -} - -ACEXML_DefaultHandler::~ACEXML_DefaultHandler (void) -{ - // no-op -} - -void -ACEXML_DefaultHandler::characters (const ACEXML_Char *, - size_t, - size_t - ACEXML_ENV_ARG_DECL_NOT_USED) -{ - // No-op. -} - -void -ACEXML_DefaultHandler::endDocument (ACEXML_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - // No-op. -} - -void -ACEXML_DefaultHandler::endElement (const ACEXML_Char *, - const ACEXML_Char *, - const ACEXML_Char * ACEXML_ENV_ARG_DECL_NOT_USED) -{ - // No-op. -} - -void -ACEXML_DefaultHandler::endPrefixMapping (const ACEXML_Char * ACEXML_ENV_ARG_DECL_NOT_USED) -{ - // No-op. -} - -void -ACEXML_DefaultHandler::ignorableWhitespace (const ACEXML_Char *, - int, - int ACEXML_ENV_ARG_DECL_NOT_USED) -{ - // No-op. -} - -void -ACEXML_DefaultHandler::processingInstruction (const ACEXML_Char *, - const ACEXML_Char * ACEXML_ENV_ARG_DECL_NOT_USED) -{ - // No-op. -} - -void -ACEXML_DefaultHandler::setDocumentLocator (ACEXML_Locator * ) -{ - // No-op. -} - -void -ACEXML_DefaultHandler::skippedEntity (const ACEXML_Char * ACEXML_ENV_ARG_DECL_NOT_USED) -{ - // No-op. -} - -void -ACEXML_DefaultHandler::startDocument (ACEXML_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - // No-op. -} - -void -ACEXML_DefaultHandler::startElement (const ACEXML_Char *, - const ACEXML_Char *, - const ACEXML_Char *, - ACEXML_Attributes * ACEXML_ENV_ARG_DECL_NOT_USED) -{ - // No-op. -} - -void -ACEXML_DefaultHandler::startPrefixMapping (const ACEXML_Char *, - const ACEXML_Char * ACEXML_ENV_ARG_DECL_NOT_USED) -{ - // No-op. -} - - // *** Methods inherited from ACEXML_DTDHandler. - -void -ACEXML_DefaultHandler::notationDecl (const ACEXML_Char *, - const ACEXML_Char *, - const ACEXML_Char * ACEXML_ENV_ARG_DECL_NOT_USED) -{ - // No-op. -} - -void -ACEXML_DefaultHandler::unparsedEntityDecl (const ACEXML_Char *, - const ACEXML_Char *, - const ACEXML_Char *, - const ACEXML_Char * ACEXML_ENV_ARG_DECL_NOT_USED) -{ - // No-op. -} - - // Methods inherited from ACEXML_EntityResolver. - -ACEXML_InputSource * -ACEXML_DefaultHandler::resolveEntity (const ACEXML_Char *, - const ACEXML_Char * ACEXML_ENV_ARG_DECL_NOT_USED) -{ - // No-op. - return 0; -} - - // Methods inherited from ACEXML_ErrorHandler. - - /* - * Receive notification of a recoverable error. - */ -void -ACEXML_DefaultHandler::error (ACEXML_SAXParseException & ACEXML_ENV_ARG_DECL_NOT_USED) -{ - // No-op. -} - -void -ACEXML_DefaultHandler::fatalError (ACEXML_SAXParseException & ACEXML_ENV_ARG_DECL_NOT_USED) -{ - // No-op. -} - -void -ACEXML_DefaultHandler::warning (ACEXML_SAXParseException & ACEXML_ENV_ARG_DECL_NOT_USED) -{ - // No-op. -} diff --git a/ACE/ACEXML/common/DefaultHandler.h b/ACE/ACEXML/common/DefaultHandler.h deleted file mode 100644 index a729778201c..00000000000 --- a/ACE/ACEXML/common/DefaultHandler.h +++ /dev/null @@ -1,176 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file DefaultHandler.h - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - */ -//============================================================================= -#ifndef ACEXML_DEFAULTHANDLER_H -#define ACEXML_DEFAULTHANDLER_H - -#include /**/ "ace/pre.h" -#include "ACEXML/common/ACEXML_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ACEXML/common/ContentHandler.h" -#include "ACEXML/common/DTDHandler.h" -#include "ACEXML/common/EntityResolver.h" -#include "ACEXML/common/ErrorHandler.h" - -/** - * @class ACEXML_DefaultHandler DefaultHandler.h "ACEXML/common/DefaultHandler.h" - * - * @brief ACEXML_DefaultHandler - * - * This class is available as a convenience base class for SAX2 - * applications: it provides default implementations for all of the - * callbacks in the four core SAX2 handler classes: - * - * - EntityResolver - * - DTDHandler - * - ContentHandler - * - ErrorHandler - * - * Application writers can extend this class when they need to implement - * only part of an interface; parser writers can instantiate this class to - * provide default handlers when the application has not supplied its own. - */ -class ACEXML_Export ACEXML_DefaultHandler - : public ACEXML_ContentHandler, - public ACEXML_DTDHandler, - public ACEXML_EntityResolver, - public ACEXML_ErrorHandler -{ -public: - /** - * Default constructor. - */ - ACEXML_DefaultHandler (void); - - /** - * destructor. - */ - virtual ~ACEXML_DefaultHandler (void); - - // Methods inherit from ACEXML_ContentHandler. - - /* - * Receive notification of character data. - */ - virtual void characters (const ACEXML_Char *ch, - size_t start, - size_t length - ACEXML_ENV_ARG_DECL); - - /* - * Receive notification of the end of a document. - */ - virtual void endDocument (ACEXML_ENV_SINGLE_ARG_DECL); - - /* - * Receive notification of the end of an element. - */ - virtual void endElement (const ACEXML_Char *namespaceURI, - const ACEXML_Char *localName, - const ACEXML_Char *qName ACEXML_ENV_ARG_DECL); - - /* - * End the scope of a prefix-URI mapping. - */ - virtual void endPrefixMapping (const ACEXML_Char *prefix ACEXML_ENV_ARG_DECL); - - /* - * Receive notification of ignorable whitespace in element content. - */ - virtual void ignorableWhitespace (const ACEXML_Char *ch, - int start, - int length ACEXML_ENV_ARG_DECL); - - /* - * Receive notification of a processing instruction. - */ - virtual void processingInstruction (const ACEXML_Char *target, - const ACEXML_Char *data ACEXML_ENV_ARG_DECL); - - /* - * Receive an object for locating the origin of SAX document events. - */ - virtual void setDocumentLocator (ACEXML_Locator *locator) ; - - /* - * Receive notification of a skipped entity. - */ - virtual void skippedEntity (const ACEXML_Char *name ACEXML_ENV_ARG_DECL); - - /* - * Receive notification of the beginning of a document. - */ - virtual void startDocument (ACEXML_ENV_SINGLE_ARG_DECL); - - /* - * Receive notification of the beginning of an element. - */ - virtual void startElement (const ACEXML_Char *namespaceURI, - const ACEXML_Char *localName, - const ACEXML_Char *qName, - ACEXML_Attributes *atts ACEXML_ENV_ARG_DECL); - - /* - * Begin the scope of a prefix-URI Namespace mapping. - */ - virtual void startPrefixMapping (const ACEXML_Char *prefix, - const ACEXML_Char *uri ACEXML_ENV_ARG_DECL); - - // *** Methods inherit from ACEXML_DTDHandler. - - /* - * Receive notification of a notation declaration event. - */ - virtual void notationDecl (const ACEXML_Char *name, - const ACEXML_Char *publicId, - const ACEXML_Char *systemId ACEXML_ENV_ARG_DECL); - - /* - * Receive notification of an unparsed entity declaration event. - */ - virtual void unparsedEntityDecl (const ACEXML_Char *name, - const ACEXML_Char *publicId, - const ACEXML_Char *systemId, - const ACEXML_Char *notationName ACEXML_ENV_ARG_DECL); - - // Methods inherit from ACEXML_EnitityResolver. - - /* - * Allow the application to resolve external entities. - */ - virtual ACEXML_InputSource *resolveEntity (const ACEXML_Char *publicId, - const ACEXML_Char *systemId ACEXML_ENV_ARG_DECL); - - // Methods inherit from ACEXML_ErrorHandler. - - /* - * Receive notification of a recoverable error. - */ - virtual void error (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL); - - /* - * Receive notification of a non-recoverable error. - */ - virtual void fatalError (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL); - - /* - * Receive notification of a warning. - */ - virtual void warning (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL); -}; - -#include /**/ "ace/post.h" - -#endif /* ACEXML_DEFAULTHANDLER_H */ diff --git a/ACE/ACEXML/common/Element_Def_Builder.cpp b/ACE/ACEXML/common/Element_Def_Builder.cpp deleted file mode 100644 index 2bcef84f16d..00000000000 --- a/ACE/ACEXML/common/Element_Def_Builder.cpp +++ /dev/null @@ -1,9 +0,0 @@ -// $Id$ - -#include "ACEXML/common/Element_Def_Builder.h" - -ACEXML_Element_Def_Builder::~ACEXML_Element_Def_Builder () -{ - -} - diff --git a/ACE/ACEXML/common/Element_Def_Builder.h b/ACE/ACEXML/common/Element_Def_Builder.h deleted file mode 100644 index ace842fb17c..00000000000 --- a/ACE/ACEXML/common/Element_Def_Builder.h +++ /dev/null @@ -1,133 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Element_Def_Builder.h - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - */ -//============================================================================= -#ifndef _ACEXML_ELEMENT_DEF_BUILDER_H_ -#define _ACEXML_ELEMENT_DEF_BUILDER_H_ - -#include /**/ "ace/pre.h" -#include "ACEXML/common/ACEXML_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ -#include "ace/Auto_Ptr.h" -#include "ACEXML/common/XML_Types.h" -#include "ACEXML/common/Env.h" -#include "ACEXML/common/SAXExceptions.h" - -/** - * @class ACEXML_Element_Def_Builder Element_Def_Builder.h "common/Element_Def_Builder.h" - * - * @brief An abstract virtual class that defines the interface to define an - * element definition. - * - * This class defines how to define an element definition after parsing a - * DTD. - */ -class ACEXML_Export ACEXML_Element_Def_Builder -{ -public: - - typedef auto_ptr<ACEXML_Element_Def_Builder> VAR; - - typedef enum { - EMPTY, - ANY, - MIXED, - CHILDREN, - UNDEFINED - } CONTENT_TYPE; - - typedef enum { - ONE, - ZERO_OR_MORE, - ONE_OR_MORE, - ONE_OR_ZERO - } CARDINALITY; - - virtual ~ACEXML_Element_Def_Builder () = 0; - - /** - * Define the name of the element. - * - * @retval 0 if valid, -1 otherwise. - */ - virtual int setElementName (const ACEXML_Char *namespaceURI, - const ACEXML_Char *localName, - const ACEXML_Char *qName ACEXML_ENV_ARG_DECL) - = 0; - - /** - * Define the content type of the element. - * - * @retval 0 if valid, -1 otherwise. - */ - virtual int setContentType (CONTENT_TYPE type ACEXML_ENV_ARG_DECL) - = 0; - - /** - * Insert one more element into Mixed definition. - */ - virtual int insertMixedElement (const ACEXML_Char *namespaceURI, - const ACEXML_Char *localName, - const ACEXML_Char *qName ACEXML_ENV_ARG_DECL) - = 0; - - /** - * Start a new group of children. - */ - virtual int startChildGroup () = 0; - - /** - * End a new group of children. - * - * @retval 0 on success. - */ - virtual int endChildGroup (CARDINALITY card ACEXML_ENV_ARG_DECL) = 0; - - /** - * Set the type of current child group to Choice. - * - * @retval 0 on success, -1 if the type of the child group has - * already been set and this action conflicts with the previous - * setting. - */ - virtual int setChoice () = 0; - - /** - * Set the type of current child group to Sequence. - * - * @retval 0 on success, -1 if the type of the child group has - * already been set and this action conflicts with the previous - * setting. - */ - virtual int setSequence () = 0; - - /** - * Insert an new element into the current child group. - * - * @retval 0 on success, -1 otherwise. - */ - virtual int insertElement (const ACEXML_Char *namespaceURI, - const ACEXML_Char *localName, - const ACEXML_Char *qName ACEXML_ENV_ARG_DECL) - = 0; - - /** - * Dump the content of the attribute definition. - */ - virtual void dump (void) = 0; -}; - - -#include /**/ "ace/post.h" - -#endif /* _ACEXML_ELEMENT_DEF_BUILDER_H_ */ diff --git a/ACE/ACEXML/common/Encoding.cpp b/ACE/ACEXML/common/Encoding.cpp deleted file mode 100644 index 4531fad20c3..00000000000 --- a/ACE/ACEXML/common/Encoding.cpp +++ /dev/null @@ -1,59 +0,0 @@ -// -*- C++ -*- $Id$ - -#include "ACEXML/common/Encoding.h" -#include "ace/OS_NS_string.h" - -const ACEXML_Char* ACEXML_Encoding::encoding_names_[8] = { - ACE_TEXT ("UCS-4BE"), - ACE_TEXT ("UCS-4LE"), - ACE_TEXT ("UCS-4_2143"), - ACE_TEXT ("UCS-4_3412"), - ACE_TEXT ("UTF-16"), - ACE_TEXT ("UTF-16"), - ACE_TEXT ("UTF-8"), - ACE_TEXT ("Unsupported Encoding") -}; - -const ACEXML_UTF8 ACEXML_Encoding::byte_order_mark_[][4] = { - { '\x00', '\x00', '\xFE', '\xFF' }, // UCS-4, big-endian (1234 order) - { '\xFF', '\xFE', '\x00', '\x00' }, // UCS-4, little-endian (4321 order) - { '\x00', '\x00', '\xFF', '\xFE' }, // UCS-4, unusual octet order (2143) - { '\xFE', '\xFF', '\x00', '\x00' }, // UCS-4, unusual octet order (3412) - { '\xFE', '\xFF', '\xFF', '\xFF' }, // UTF-16, big-endian (3 & 4 != 0) - { '\xFF', '\xFE', '\xFF', '\xFF' }, // UTF-16, little-endian ( 3 & 4 != 0) - { '\xEF', '\xBB', '\xBF', '\xFF' } // UTF-8 -}; - -const ACEXML_UTF8 ACEXML_Encoding::magic_values_[][4] = { - { '\x00', '\x00', '\x00', '\x3c' }, // - { '\x3c', '\x00', '\x00', '\x00' }, // UCS-4 and variants - { '\x00', '\x00', '\x3c', '\x00' }, // - { '\x00', '\x3c', '\x00', '\x00' }, // - { '\x00', '\x3c', '\x00', '\x3f' }, // UTF-16BE - { '\x3c', '\x00', '\x3f', '\x00' }, // UTF-16LE - { '\x3c', '\x3f', '\x78', '\x6d' }, // UTF-8 -}; - -const ACEXML_Char* -ACEXML_Encoding::get_encoding (const char* input) -{ - if ((ACE_OS::memcmp (&ACEXML_Encoding::byte_order_mark_[ACEXML_Encoding::UTF16BE][0], input, 2) == 0) - && (input[2] != 0 || input[3] != 0)) // 3 & 4 should not be both zero - return ACEXML_Encoding::encoding_names_[ACEXML_Encoding::UTF16BE]; - else if ((ACE_OS::memcmp (&ACEXML_Encoding::byte_order_mark_[ACEXML_Encoding::UTF16LE][0], input, 2) == 0) - && (input[2] != 0 || input[3] != 0)) // 3 & 4 should not be both zero - return ACEXML_Encoding::encoding_names_[ACEXML_Encoding::UTF16LE]; - else if (ACE_OS::memcmp (&ACEXML_Encoding::byte_order_mark_[ACEXML_Encoding::UTF8][0], input, 3) == 0) - return ACEXML_Encoding::encoding_names_[ACEXML_Encoding::UTF8]; - else if (ACE_OS::memcmp (&ACEXML_Encoding::magic_values_[ACEXML_Encoding::UTF16BE][0], input, 4) == 0) - return ACEXML_Encoding::encoding_names_[ACEXML_Encoding::UTF16BE]; - else if (ACE_OS::memcmp (&ACEXML_Encoding::magic_values_[ACEXML_Encoding::UTF16LE][0], input, 4) == 0) - return ACEXML_Encoding::encoding_names_[ACEXML_Encoding::UTF16LE]; - else if (ACE_OS::memcmp (&ACEXML_Encoding::magic_values_[ACEXML_Encoding::UTF8][0], input, 4) == 0) - return ACEXML_Encoding::encoding_names_[ACEXML_Encoding::UTF8]; - else - { - // ACE_ERROR ((LM_ERROR, "Unknown encoding. Assuming UTF-8\n")); - return ACEXML_Encoding::encoding_names_[ACEXML_Encoding::UTF8]; - } -} diff --git a/ACE/ACEXML/common/Encoding.h b/ACE/ACEXML/common/Encoding.h deleted file mode 100644 index 3e957fabbe1..00000000000 --- a/ACE/ACEXML/common/Encoding.h +++ /dev/null @@ -1,61 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Encoding.h - * - * This file provides utility functions to determine the encoding of a file - * or a byte stream automatically. - * - * $Id$ - * - * @author Krishnakumar B <kitty@cs.wustl.edu> - */ -//============================================================================= - -#ifndef _ACEXML_ENCODING_H -#define _ACEXML_ENCODING_H - -#include /**/ "ace/pre.h" -#include "ACEXML/common/ACEXML_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ACEXML/common/XML_Types.h" - -/** - * @class ACEXML_Encoding Encoding.h "ACEXML/common/Encoding.h" - * - * @brief ACEXML_Encoding - * - * Wrapper class for determining the encoding of a file or a byte stream. - */ -class ACEXML_Export ACEXML_Encoding -{ -public: - enum { - UCS4BE, - UCS4LE, - UCS4_2143, - UCS4_3412, - UTF16BE, - UTF16LE, - UTF8, - OTHER - } ENCODING; - - static const ACEXML_Char* encoding_names_[8]; - - static const ACEXML_UTF8 byte_order_mark_[][4]; - - static const ACEXML_UTF8 magic_values_[][4]; - - static const ACEXML_Char* get_encoding (const char* input); - -}; - -#include /**/ "ace/post.h" - -#endif /* _ACEXML_ENCODING_H */ diff --git a/ACE/ACEXML/common/EntityResolver.cpp b/ACE/ACEXML/common/EntityResolver.cpp deleted file mode 100644 index bcd08c1af70..00000000000 --- a/ACE/ACEXML/common/EntityResolver.cpp +++ /dev/null @@ -1,11 +0,0 @@ -#include "EntityResolver.h" - - -ACE_RCSID (common, - EntityResolver, - "$Id$") - - -ACEXML_EntityResolver::~ACEXML_EntityResolver (void) -{ -} diff --git a/ACE/ACEXML/common/EntityResolver.h b/ACE/ACEXML/common/EntityResolver.h deleted file mode 100644 index c1934724bad..00000000000 --- a/ACE/ACEXML/common/EntityResolver.h +++ /dev/null @@ -1,61 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file EntityResolver.h - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - */ -//============================================================================= -#ifndef _ACEXML_ENTITYHANDLER_H_ -#define _ACEXML_ENTITYHANDLER_H_ - -#include /**/ "ace/pre.h" -#include "ACEXML/common/ACEXML_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ACEXML/common/Env.h" -#include "ACEXML/common/InputSource.h" -#include "ACEXML/common/SAXExceptions.h" - -/** - * @class ACEXML_EntityResolver EntityResolver.h "ACEXML/common/EntityResolver.h" - * - * @brief ACEXML_EntityResolver - * - * If a SAX application needs to implement customized handling for - * external entities, it must implement this interface and register an - * instance with the SAX driver using the setEntityResolver method. - * - * The XML reader will then allow the application to intercept any - * external entities (including the external DTD subset and external - * parameter entities, if any) before including them. - * - * Many SAX applications will not need to implement this interface, - * but it will be especially useful for applications that build XML - * documents from databases or other specialised input sources, or for - * applications that use URI types other than URLs. - */ -class ACEXML_Export ACEXML_EntityResolver -{ -public: - - virtual ~ACEXML_EntityResolver (void); - - /** - * Allow the application to resolve external entities. - */ - virtual ACEXML_InputSource *resolveEntity (const ACEXML_Char *publicId, - const ACEXML_Char *systemId ACEXML_ENV_ARG_DECL) - = 0; -}; - - -#include /**/ "ace/post.h" - -#endif /* _ACEXML_ENTITYHANDLER_H_ */ diff --git a/ACE/ACEXML/common/Env.cpp b/ACE/ACEXML/common/Env.cpp deleted file mode 100644 index e5014a06714..00000000000 --- a/ACE/ACEXML/common/Env.cpp +++ /dev/null @@ -1,34 +0,0 @@ -// -*- C++ -*- $Id$ - -#include "ACEXML/common/Env.h" - -#if !defined (__ACEXML_INLINE__) -# include "ACEXML/common/Env.inl" -#endif /* __ACEXML_INLINE__ */ - -ACEXML_Env::ACEXML_Env (void) - : exception_ (0) -{ -} - -ACEXML_Env::ACEXML_Env (const ACEXML_Env &rhs) - : exception_ (0) -{ - if (rhs.exception()) - this->exception_ = rhs.exception_->duplicate(); -} - -ACEXML_Env& -ACEXML_Env::operator= (const ACEXML_Env& rhs) -{ - ACEXML_Env tmp (rhs); - ACEXML_Exception* tmp_ex = this->exception_; - this->exception_ = tmp.exception_; - tmp.exception_ = tmp_ex; - return *this; -} - -ACEXML_Env::~ACEXML_Env (void) -{ - this->clear(); -} diff --git a/ACE/ACEXML/common/Env.h b/ACE/ACEXML/common/Env.h deleted file mode 100644 index ee8aa59768d..00000000000 --- a/ACE/ACEXML/common/Env.h +++ /dev/null @@ -1,72 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Env.h - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - */ -//============================================================================= - -#ifndef _ACEXML_ENV_H_ -#define _ACEXML_ENV_H_ - -#include /**/ "ace/pre.h" -#include "ACEXML/common/ACEXML_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ACEXML/common/XML_Macros.h" -#include "ACEXML/common/Exception.h" - -/** - * @class ACEXML_Env Env.h "ACEXML/common/Env.h" - * - * @brief ACEXML_Env - * - * ACEXML_Env is modeled after CORBA_Environment class. It provides a place - * holder for callees to propagate exceptions back to callers. ACEXML does - * not support native exceptions at this moment. - * - * @sa ACEXML_Exception - */ -class ACEXML_Export ACEXML_Env -{ -public: - /// Default constructor. - ACEXML_Env (void); - - /// Copy constructor. - ACEXML_Env (const ACEXML_Env& ACEXML_TRY_ENV); - - /// Assignment - ACEXML_Env& operator= (const ACEXML_Env& ACEXML_TRY_ENV); - - /// Destructor. - ~ACEXML_Env (void); - - /// Return the contained exception. - ACEXML_Exception *exception (void) const; - - /// Set the contained exception to @arg ex - void exception (ACEXML_Exception* ex); - - /// Clear the exception and reset the evnrionment. - void clear (void); - -private: - /// Place holder for exception (if one occurs.) - ACEXML_Exception *exception_; -}; - -#if defined (__ACEXML_INLINE__) -# include "ACEXML/common/Env.inl" -#endif /* __ACEXML_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* _ACEXML_ENV_H_ */ diff --git a/ACE/ACEXML/common/Env.inl b/ACE/ACEXML/common/Env.inl deleted file mode 100644 index 95c3f41c8aa..00000000000 --- a/ACE/ACEXML/common/Env.inl +++ /dev/null @@ -1,25 +0,0 @@ -// -*- C++ -*- $Id$ - -#include "ace/Log_Msg.h" /* to get ACE_ASSERT */ -#include "ACEXML/common/Exception.h" - -ACEXML_INLINE ACEXML_Exception * -ACEXML_Env::exception (void) const -{ - return this->exception_; -} - -ACEXML_INLINE void -ACEXML_Env::exception (ACEXML_Exception *ex) -{ - ACE_ASSERT (ex != this->exception_); - this->clear(); - this->exception_ = ex; -} - -ACEXML_INLINE void -ACEXML_Env::clear (void) -{ - delete this->exception_; - this->exception_ = 0; -} diff --git a/ACE/ACEXML/common/ErrorHandler.cpp b/ACE/ACEXML/common/ErrorHandler.cpp deleted file mode 100644 index 42d9552d859..00000000000 --- a/ACE/ACEXML/common/ErrorHandler.cpp +++ /dev/null @@ -1,11 +0,0 @@ -#include "ErrorHandler.h" - - -ACE_RCSID (common, - ErrorHandler, - "$Id$") - - -ACEXML_ErrorHandler::~ACEXML_ErrorHandler (void) -{ -} diff --git a/ACE/ACEXML/common/ErrorHandler.h b/ACE/ACEXML/common/ErrorHandler.h deleted file mode 100644 index 4d8da5cc4a4..00000000000 --- a/ACE/ACEXML/common/ErrorHandler.h +++ /dev/null @@ -1,75 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file ErrorHandler.h - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - */ -//============================================================================= -#ifndef _ACEXML_ERRORHANDLER_H_ -#define _ACEXML_ERRORHANDLER_H_ - -#include /**/ "ace/pre.h" -#include "ACEXML/common/ACEXML_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ACEXML/common/Env.h" -#include "ACEXML/common/SAXExceptions.h" - -/** - * @class ACEXML_ErrorHandler ErrorHandler.h "ACEXML/common/ErrorHandler.h" - * - * @brief ACEXML_ErrorHandler - * - * If a SAX application needs to implement customized error handling, - * it must implement this interface and then register an instance with - * the XML reader using the setErrorHandler method. The parser will - * then report all errors and warnings through this interface. - * - * @b WARNING: If an application does not register an ErrorHandler, - * XML parsing errors will go unreported and bizarre behaviour may - * result. - * - * For XML processing errors, a SAX driver must use this interface - * instead of throwing an exception: it is up to the application to - * decide whether to throw an exception for different types of errors - * and warnings. Note, however, that there is no requirement that the - * parser continue to provide useful information after a call to - * fatalError (in other words, a SAX driver class could catch an - * exception and report a fatalError). - */ -class ACEXML_Export ACEXML_ErrorHandler -{ -public: - - virtual ~ACEXML_ErrorHandler (void); - - /** - * Receive notification of a recoverable error. - */ - virtual void error (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL) - = 0; - - /** - * Receive notification of a non-recoverable error. - */ - virtual void fatalError (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL) - = 0; - - /** - * Receive notification of a warning. - */ - virtual void warning (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL) - = 0; -}; - - -#include /**/ "ace/post.h" - -#endif /* _ACEXML_ERRORHANDLER_H_ */ diff --git a/ACE/ACEXML/common/Exception.cpp b/ACE/ACEXML/common/Exception.cpp deleted file mode 100644 index 5ad6b9b1b7e..00000000000 --- a/ACE/ACEXML/common/Exception.cpp +++ /dev/null @@ -1,36 +0,0 @@ -// -*- C++ -*- $Id$ - -#include "ACEXML/common/Exception.h" -#include "ace/Log_Msg.h" -#include "ace/ACE.h" -#include "ace/OS_NS_string.h" - -const ACEXML_Char *ACEXML_Exception::exception_name_ = ACE_TEXT ("ACEXML_Exception"); - -const ACEXML_Char *ACEXML_Exception::null_ = ACE_TEXT (""); - -#if !defined (__ACEXML_INLINE__) -# include "ACEXML/common/Exception.inl" -#endif /* __ACEXML_INLINE__ */ - -ACEXML_Exception::ACEXML_Exception() -{ -} - -ACEXML_Exception::~ACEXML_Exception() -{ -} - -int -ACEXML_Exception::is_a (const ACEXML_Char *name) -{ - return ACE_OS::strcmp (ACEXML_Exception::exception_name_, name) == 0; -} - -void -ACEXML_Exception::print (void) const -{ - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("ACEXML: (%P|%t) EXCEPTION : %s\n"), - this->exception_name_)); -} diff --git a/ACE/ACEXML/common/Exception.h b/ACE/ACEXML/common/Exception.h deleted file mode 100644 index 48572e24c73..00000000000 --- a/ACE/ACEXML/common/Exception.h +++ /dev/null @@ -1,87 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Exception.h - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - */ -//============================================================================= - -#ifndef _ACEXML_EXCEPTION_H_ -#define _ACEXML_EXCEPTION_H_ - -#include /**/ "ace/pre.h" -#include "ACEXML/common/ACEXML_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ACEXML/common/XML_Types.h" -#include "ACEXML/common/XML_Macros.h" - -#if defined (ACE_USES_NATIVE_EXCEPTIONS) -# define ACEXML_RAISE(EXCEPTION) throw EXCEPTION -#else -# define ACEXML_RAISE(EXCEPTION) -#endif - - -/** - * @class ACEXML_Exception Exception.h "ACEXML/common/Exception.h" - * - * @brief ACEXML_Exception - * - * ACEXML_Exception is the base class for all ACEXML related exceptions. - * Since ACEXML currently does not support native exceptions, all - * exceptions should be thrown thru ACEXML_Env. - * - * @sa ACEXML_Env - */ -class ACEXML_Export ACEXML_Exception -{ -public: - - /// Destructor. - virtual ~ACEXML_Exception (void); - - /// Throw the exception. - virtual void _raise (void) = 0; - - /// Static narrow operation. - static ACEXML_Exception* _downcast (ACEXML_Exception* ex); - - /// Return the exception type. (for safe downcast.) - virtual const ACEXML_Char *id (void) const ; - - /// Dynamically create a copy of this exception. - virtual ACEXML_Exception *duplicate (void) const = 0; - - /// Check whether this is an exception of type specified by <name>. - virtual int is_a (const ACEXML_Char *name); - - /// Print out exception using ACE_DEBUG. - virtual void print (void) const = 0; - -protected: - /// Default contructor. - ACEXML_Exception (void); - - /// All exceptions have names. This name is used to identify the - /// type of an exception. - static const ACEXML_Char *exception_name_; - - /// A null string that we return when there is no exception. - static const ACEXML_Char *null_; -}; - -#if defined (__ACEXML_INLINE__) -# include "ACEXML/common/Exception.inl" -#endif /* __ACEXML_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* _ACEXML_EXCEPTION_H_ */ diff --git a/ACE/ACEXML/common/Exception.inl b/ACE/ACEXML/common/Exception.inl deleted file mode 100644 index e2d97fa37ea..00000000000 --- a/ACE/ACEXML/common/Exception.inl +++ /dev/null @@ -1,13 +0,0 @@ -// -*- C++ -*- $Id$ - -ACEXML_INLINE const ACEXML_Char * -ACEXML_Exception::id (void) const -{ - return ACEXML_Exception::exception_name_; -} - -ACEXML_INLINE ACEXML_Exception* -ACEXML_Exception::_downcast (ACEXML_Exception* x) -{ - return x; -} diff --git a/ACE/ACEXML/common/FileCharStream.cpp b/ACE/ACEXML/common/FileCharStream.cpp deleted file mode 100644 index 4420e00b99d..00000000000 --- a/ACE/ACEXML/common/FileCharStream.cpp +++ /dev/null @@ -1,256 +0,0 @@ -// $Id$ - -#include "ACEXML/common/FileCharStream.h" -#include "ace/ACE.h" -#include "ace/Log_Msg.h" -#include "ace/OS_NS_stdio.h" -#include "ace/OS_NS_sys_stat.h" -#include "ace/Truncate.h" - -#if defined (ACE_USES_WCHAR) -# include "ace/OS_NS_wchar.h" -#endif /* ACE_USES_WCHAR */ - -ACEXML_FileCharStream::ACEXML_FileCharStream (void) - : filename_ (0), encoding_ (0), size_ (0), infile_ (0), peek_ (0) -{ -} - -ACEXML_FileCharStream::~ACEXML_FileCharStream (void) -{ - this->close(); -} - -int -ACEXML_FileCharStream::open (const ACEXML_Char *name) -{ - delete[] this->filename_; - this->filename_ = 0; - - delete[] this->encoding_; - this->encoding_ = 0; - - this->infile_ = ACE_OS::fopen (name, ACE_TEXT ("r")); - if (this->infile_ == 0) - return -1; - - ACE_stat statbuf; - if (ACE_OS::stat (name, &statbuf) < 0) - return -1; - - this->size_ = ACE_Utils::truncate_cast<ACE_OFF_T> (statbuf.st_size); - this->filename_ = ACE::strnew (name); - return this->determine_encoding(); -} - -int -ACEXML_FileCharStream::determine_encoding (void) -{ - if (this->infile_ == 0) - return -1; - - char input[4]; - int retval = 0; - int i = 0; - for (; i < 4 && retval != -1; ++i) - retval = this->getchar_i(input[i]); - if (i < 4) - return -1; - - // Rewind the stream - ACE_OS::rewind (this->infile_); - - const ACEXML_Char* temp = ACEXML_Encoding::get_encoding (input); - if (!temp) - return -1; - else - { - if (this->encoding_) - delete [] this->encoding_; - this->encoding_ = ACE::strnew (temp); -// ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("File's encoding is %s\n"), -// this->encoding_)); - } - // Move over the byte-order-mark if present. - char ch; - for (int j = 0; j < 3; ++j) - { - if (this->getchar_i (ch) < 0) - return -1; - if (ch == '\xFF' || ch == '\xFE' || ch == '\xEF' || ch == '\xBB' || - ch == '\xBF') - continue; - else - { - ACE_OS::ungetc (ch, this->infile_); - break; - } - } - return 0; -} - -void -ACEXML_FileCharStream::rewind() -{ - if (this->infile_ == 0) - return; - ACE_OS::rewind (this->infile_); - this->determine_encoding(); -} - -int -ACEXML_FileCharStream::available (void) -{ - if (this->infile_ == 0) - return -1; - - long curr; - if ((curr = ACE_OS::ftell (this->infile_)) < 0) - return -1; - return static_cast<int> (this->size_ - curr); -} - -int -ACEXML_FileCharStream::close (void) -{ - if (this->infile_ != 0) - { - ACE_OS::fclose (this->infile_); - this->infile_ = 0; - } - delete[] this->filename_; - this->filename_ = 0; - delete[] this->encoding_; - this->encoding_ = 0; - this->size_ = 0; - this->peek_ = 0; - return 0; -} - - -int -ACEXML_FileCharStream::getchar_i (char& ch) -{ - ch = static_cast<char> (ACE_OS::fgetc (this->infile_)); - return (feof(this->infile_) ? -1 : 0); -} - -int -ACEXML_FileCharStream::read (ACEXML_Char *str, - size_t len) -{ - if (this->infile_ == 0) - return -1; - - return static_cast<int> (ACE_OS::fread (str, sizeof (ACEXML_Char), len, this->infile_)); -} - -int -ACEXML_FileCharStream::get (ACEXML_Char& ch) -{ - if (this->infile_ == 0) - return -1; -#if defined (ACE_USES_WCHAR) - return this->get_i (ch); -#else - ch = (ACEXML_Char) ACE_OS::fgetc (this->infile_); - return (feof(this->infile_) ? -1 : 0); -#endif /* ACE_USES_WCHAR */ -} - -int -ACEXML_FileCharStream::peek (void) -{ - if (this->infile_ == 0) - return -1; -#if defined (ACE_USES_WCHAR) - return this->peek_i(); -#else - - ACEXML_Char ch = static_cast<ACEXML_Char> (ACE_OS::fgetc (this->infile_)); - ACE_OS::ungetc (ch, this->infile_); - return ch; -#endif /* ACE_USES_WCHAR */ -} - -#if defined (ACE_USES_WCHAR) -int -ACEXML_FileCharStream::get_i (ACEXML_Char& ch) -{ - if (ACE_OS::strcmp (this->encoding_, ACE_TEXT ("UTF-8")) == 0) - { - ch = (ACEXML_Char) ACE_OS::fgetc (this->infile_); - return (feof(this->infile_) ? -1 : 0); - } - // If we have a value in peek_, return it. - if (this->peek_ != 0) - { - ch = this->peek_; - this->peek_ = 0; - return 0; - } - - int BE = (ACE_OS::strcmp (this->encoding_, - ACE_TEXT ("UTF-16BE")) == 0) ? 1 : 0; - ACEXML_Char input[2]; - int i = 0; - for (; i < 2 && !feof (this->infile_); ++i) - { - input[i] = ACE_OS::fgetwc (this->infile_); - } - if (i < 2) - { - ch = 0; - return -1; - } - ch = BE ? input[0] << 8 | input[1] : input[1] << 8 | input[0]; - return 0; -} - -int -ACEXML_FileCharStream::peek_i (void) -{ - // If we are reading a UTF-8 encoded file, just use the plain unget. - if (ACE_OS::strcmp (this->encoding_, ACE_TEXT ("UTF-8")) == 0) - { - ACEXML_Char ch = (ACEXML_Char) ACE_OS::fgetc (this->infile_); - ACE_OS::ungetc (ch, this->infile_); - return ch; - } - - // If somebody had already called peek() and not consumed it, return the - // value held in this->peek_. - if (this->peek_ != 0) - return this->peek_; - - // Peek into the stream. This reads two characters off the stream, keeps - // it in peek_. - int BE = (ACE_OS::strcmp (this->encoding_, - ACE_TEXT ("UTF-16BE")) == 0) ? 1 : 0; - ACEXML_Char input[2]; - int i = 0; - for (; i < 2 && !feof (this->infile_); ++i) - { - input[i] = ACE_OS::fgetwc (this->infile_); - } - if (i < 2) - { - this->peek_ = 0; - return -1; - } - this->peek_ = BE ? input[0] << 8 | input[1] : input[1] << 8 | input[0]; - return this->peek_; -} -#endif /* ACE_USES_WCHAR */ - -const ACEXML_Char* -ACEXML_FileCharStream::getEncoding (void) -{ - return this->encoding_; -} - -const ACEXML_Char* -ACEXML_FileCharStream::getSystemId (void) -{ - return this->filename_; -} diff --git a/ACE/ACEXML/common/FileCharStream.h b/ACE/ACEXML/common/FileCharStream.h deleted file mode 100644 index e4a3c06c6fb..00000000000 --- a/ACE/ACEXML/common/FileCharStream.h +++ /dev/null @@ -1,130 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file FileCharStream.h - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - */ -//============================================================================= - -#ifndef _ACEXML_FILECHARSTREAM_H_ -#define _ACEXML_FILECHARSTREAM_H_ - -#include /**/ "ace/pre.h" -#include "ACEXML/common/ACEXML_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ACEXML/common/CharStream.h" -#include "ACEXML/common/Encoding.h" - -/** - * @class ACEXML_FileCharStream FileCharStream.h "ACEXML/common/FileCharStream.h" - * - * An implementation of ACEXML_CharStream for reading input from a file. - */ -class ACEXML_Export ACEXML_FileCharStream : public ACEXML_CharStream -{ -public: - /// Default constructor. - ACEXML_FileCharStream (void); - - /// Destructor - virtual ~ACEXML_FileCharStream (void); - - /// Open a file. - int open (const ACEXML_Char *name); - - /** - * Returns the available ACEXML_Char in the buffer. -1 - * if the object is not initialized properly. - */ - virtual int available (void); - - /** - * Close this stream and release all resources used by it. - */ - virtual int close (void); - - /** - * Read the next ACEXML_Char. Return -1 if we are not able to - * return an ACEXML_Char, 0 if succees. - */ - virtual int get (ACEXML_Char& ch); - - /** - * Read the next batch of ACEXML_Char strings - */ - virtual int read (ACEXML_Char *str, - size_t len); - - /** - * Determine the encoding of the file. - */ - virtual int determine_encoding (void); - - - /** - * Peek the next ACEXML_Char in the CharStream. Return the - * character if success, -1 if EOF is reached. - */ - virtual int peek (void); - - /** - * Resets the file pointer to the beginning of the stream. - */ - virtual void rewind (void); - - /* - * Get the character encoding for the file. - */ - virtual const ACEXML_Char *getEncoding (void); - - /* - * Get the systemId for the underlying CharStream - */ - virtual const ACEXML_Char* getSystemId (void); - -private: - - /** Read the next character as a normal character. Return -1 if EOF is - * reached, else return 0. - */ - int getchar_i (char& ch); - -#if defined (ACE_USES_WCHAR) - /** - * Read the next character from the stream taking into account the - * encoding of the file. - */ - int get_i (ACEXML_Char& ch); - - /** - * Read the next character from the stream taking into account the - * encoding of the file. Subsequent call to get() returns this - * character. - */ - int peek_i (void); - -#endif /* ACE_USES_WCHAR */ - - ACEXML_Char* filename_; - ACEXML_Char* encoding_; - ACE_OFF_T size_; - FILE* infile_; - // This is needed to ensure that we can implement a peek operation on a - // UTF-16 encoded file. It is a bit hackish, but there is no other way of - // implementing a peek() as the standard I/O FILE* guarantees only one - // pushback. - ACEXML_Char peek_; -}; - - -#include /**/ "ace/post.h" - -#endif /* _ACEXML_FILECHARSTREAM_H_ */ diff --git a/ACE/ACEXML/common/HttpCharStream.cpp b/ACE/ACEXML/common/HttpCharStream.cpp deleted file mode 100644 index 3bdb4e87db6..00000000000 --- a/ACE/ACEXML/common/HttpCharStream.cpp +++ /dev/null @@ -1,476 +0,0 @@ -// $Id$ - -#include "ace/ACE.h" -#include "ace/ace_wchar.h" -#include "ace/Auto_Ptr.h" -#include "ace/OS_NS_stdio.h" -#include "ace/OS_NS_string.h" -#include "ACEXML/common/HttpCharStream.h" -#include "ACEXML/common/Encoding.h" - -ACE_RCSID (common, HttpCharStream, "$Id$") - -/* Header FSM states. */ -static const int HDST_LINE1_PROTOCOL = 0; -static const int HDST_LINE1_WHITESPACE = 1; -static const int HDST_LINE1_STATUS = 2; -static const int HDST_BOL = 10; -static const int HDST_TEXT = 11; -static const int HDST_LF = 12; -static const int HDST_CR = 13; -static const int HDST_CRLF = 14; -static const int HDST_CRLFCR = 15; - -ACEXML_HttpCharStream::ACEXML_HttpCharStream (void) - : url_(0), - url_addr_(0), - stream_(0), - connector_(0), - size_(0), - data_offset_ (0), - encoding_ (0) -{ - -} - -ACEXML_HttpCharStream::~ACEXML_HttpCharStream (void) -{ - this->close (); -} - -int -ACEXML_HttpCharStream::open (const ACEXML_Char *url) -{ - this->url_ = ACE::strnew (url); - - ACE_NEW_RETURN (this->url_addr_, ACEXML_URL_Addr, -1); - ACE_NEW_RETURN (this->stream_, ACEXML_Mem_Map_Stream, -1); - - if (this->url_addr_->string_to_addr (this->url_) == -1) { - this->close(); - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "cannot convert URL"), -1); - } - - ACE_NEW_RETURN (this->connector_, - Connector (0, ACE_NONBLOCK), - -1); - - if (this->stream_->open (this->connector_, *this->url_addr_) == -1) { - this->close(); - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "cannot open backing store"), -1); - } - - int result = this->send_request(); - if (result == -1) { - this->close(); - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "send_request"), -1); - } - - size_t len = 0; - result = this->get_url(len); - if (result == -1) { - this->close(); - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "get_url"), -1); - } - if (result != 200) { - this->close(); - ACE_ERROR_RETURN ((LM_ERROR, "Server returned status %d : %s\n", - result, - "Refer HTTP/1.0 error code for details"), -1); - } - - this->size_ = static_cast<ACE_OFF_T> (len); - return this->determine_encoding(); -} - -// The FSM was taken from the implementation of http_get and that falls -// under the following license: -// -// Copyrigh (c) 2000 by Jef Poskanzer <jef@acme.com>. All rights reserved. - -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. - -// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -// SUCH DAMAGE. - - -int -ACEXML_HttpCharStream::get_url (size_t& len) -{ - if (this->stream_ == 0) - return -1; - - int header_state = HDST_LINE1_PROTOCOL; - int status = 0; - size_t b = 0; - char const * buf = 0; - size_t buflen = BUFSIZ; - for (;;) - { - buf = this->stream_->recv (buflen); - - if (buf == 0) - if (buflen == 0) - break; - else - continue; - - for (b = 0; b < buflen; ++b) - { - switch ( header_state ) - { - case HDST_LINE1_PROTOCOL: - switch ( buf[b] ) - { - case ' ': case '\t': - header_state = HDST_LINE1_WHITESPACE; break; - case '\n': header_state = HDST_LF ; break; - case '\r': header_state = HDST_CR; break; - } - break; - case HDST_LINE1_WHITESPACE: - switch ( buf[b] ) - { - case '0': case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': case '9': - status = buf[b] - '0'; - header_state = HDST_LINE1_STATUS; - break; - case '\n': header_state = HDST_LF ; break; - case '\r': header_state = HDST_CR; break; - default: header_state = HDST_TEXT; break; - } - break; - case HDST_LINE1_STATUS: - switch ( buf[b] ) - { - case '0': case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': case '9': - status = status * 10 + buf[b] - '0'; - break; - case '\n': header_state = HDST_LF ; break; - case '\r': header_state = HDST_CR; break; - default: header_state = HDST_TEXT; break; - } - break; - case HDST_BOL: - switch ( buf[b] ) - { - case '\n': header_state = HDST_LF; break; - case '\r': header_state = HDST_CR; break; - default: header_state = HDST_TEXT; break; - } - break; - case HDST_TEXT: - switch ( buf[b] ) - { - case '\n': header_state = HDST_LF; break; - case '\r': header_state = HDST_CR; break; - } - break; - - case HDST_LF: - switch ( buf[b] ) - { - case '\n': goto end_of_headers; - case '\r': header_state = HDST_CR; break; - default: header_state = HDST_TEXT; break; - } - break; - - case HDST_CR: - switch ( buf[b] ) - { - case '\n': header_state = HDST_CRLF; break; - case '\r': goto end_of_headers; - default: header_state = HDST_TEXT; break; - } - break; - - case HDST_CRLF: - switch ( buf[b] ) - { - case '\n': goto end_of_headers; - case '\r': header_state = HDST_CRLFCR; break; - default: header_state = HDST_TEXT; break; - } - break; - - case HDST_CRLFCR: - switch ( buf[b] ) - { - case '\n': case '\r': goto end_of_headers; - default: header_state = HDST_TEXT; break; - } - break; - } - } - } - end_of_headers: - if (b == 0) - return -1; - ++b; - // Store the address of the beginning of data. We will use it to seek to - // beginning of the data in the URL. - char const * const data_beg = buf + b; - buflen = BUFSIZ; - - // Get all of the data. Since this is backed by file store, we won't lose - // any of the data. - while ((buf = this->stream_->recv (buflen)) != 0) - ; - - // Length of data in the URL. - len = this->stream_->recv() - data_beg; - - // Move the pointer to the beginning of the file store. - this->stream_->rewind(); - - this->data_offset_ = data_beg - this->stream_->recv(); - // Forward to the beginning of data. - if (this->stream_->seek (this->data_offset_, SEEK_SET) == -1) - ACE_ERROR_RETURN ((LM_ERROR, "%s: %m", - "Error in seeking to beginning of data"), -1); - - return status; -} - - -int -ACEXML_HttpCharStream::send_request (void) -{ - char* path = ACE::strnew (ACE_TEXT_ALWAYS_CHAR (this->url_addr_->get_path_name())); - ACE_Auto_Basic_Array_Ptr<char> path_ptr (path); - size_t commandsize = ACE_OS::strlen (path) - + ACE_OS::strlen (this->url_addr_->get_host_name ()) - + 20 // Extra - + 1 // NUL byte - + 16 ; // Protocol filler... - - char* command; - ACE_NEW_RETURN (command, char[commandsize], -1); - - // Ensure that the <command> memory is deallocated. - ACE_Auto_Basic_Array_Ptr<char> cmd_ptr (command); - - int bytes = ACE_OS::sprintf (command, "GET %s HTTP/1.0\r\n", path); - bytes += ACE_OS::sprintf (&command[bytes], "Host: %s\r\n", - this->url_addr_->get_host_name ()); - bytes += ACE_OS::sprintf (&command[bytes], "\r\n"); - - ACE_Time_Value tv (ACE_DEFAULT_TIMEOUT); - - // Send the command to the connected server. - int retval = static_cast<int> (this->stream_->send_n (command, bytes, &tv)); - if (retval <= 0) - return -1; - return retval; -} - - -int -ACEXML_HttpCharStream::available (void) -{ - if (this->stream_ == 0) - return -1; - return static_cast<int> (this->stream_->available()); -} - -int -ACEXML_HttpCharStream::close (void) -{ - delete[] this->url_; - this->url_ = 0; - - delete this->url_addr_; - this->url_addr_ = 0; - - delete this->stream_; - this->stream_ = 0; - - delete this->connector_; - this->connector_ = 0; - - this->size_ = 0; - this->data_offset_ = 0; - - delete[] this->encoding_; - this->encoding_ = 0; - - return 0; -} - -int -ACEXML_HttpCharStream::determine_encoding (void) -{ - if (this->stream_ == 0) - return -1; - - char input[] = {0, 0, 0, 0}; - size_t const len = sizeof (input) / sizeof (input[0]); - - size_t i = 0; - for (; i < len && input[i] != static_cast<char> (EOF); ++i) - input[i] = this->stream_->peek_char (i); - - if (i < len) - return -1; - - ACEXML_Char const * const temp = ACEXML_Encoding::get_encoding (input); - - if (!temp) - return -1; - else - { - if (this->encoding_) - delete [] this->encoding_; - - this->encoding_ = ACE::strnew (temp); - // ACE_DEBUG ((LM_DEBUG, "URI's encoding is %s\n", this->encoding_)); - } - - // Move over the byte-order-mark if present. - for (size_t j = 0; j < len; ++j) - { - if (input[j] == '\xFF' || input[j] == '\xFE' || input[j] == '\xEF' || - input[j] == '\xBB' || input[j] == '\xBF') - { - this->stream_->get_char(); - continue; - } - break; - } - - return 0; -} - -void -ACEXML_HttpCharStream::rewind (void) -{ - if (this->stream_ == 0) - return; - this->stream_->rewind(); - - // Forward to the beginning of data. - if (this->stream_->seek (this->data_offset_, SEEK_SET) == -1) - ACE_ERROR ((LM_ERROR, "%s: %m", "Error in seeking to beginning of data")); - this->determine_encoding(); -} - -const ACEXML_Char* -ACEXML_HttpCharStream::getEncoding (void) -{ - return this->encoding_; -} - -const ACEXML_Char* -ACEXML_HttpCharStream::getSystemId (void) -{ - return this->url_; -} - - -int -ACEXML_HttpCharStream::read (ACEXML_Char *str, - size_t len) -{ - if (this->stream_ == 0) - return -1; - len = len * sizeof (ACEXML_Char); - char* temp = const_cast<char*> (this->stream_->recv (len)); - str = ACE_TEXT_CHAR_TO_TCHAR (temp); - if (str == 0) - return -1; - return static_cast<int> (len); -} - - -int -ACEXML_HttpCharStream::get (ACEXML_Char& ch) -{ - if (this->stream_ == 0) - return -1; -#if defined (ACE_USES_WCHAR) - return this->get_i (ch); -#else - ch = (ACEXML_Char) this->stream_->get_char(); - return (ch == (ACEXML_Char)EOF ? -1 :0); -#endif /* ACE_USES_WCHAR */ -} - -int -ACEXML_HttpCharStream::peek (void) -{ - if (this->stream_ == 0) - return -1; - -#if defined (ACE_USES_WCHAR) - return this->peek_i(); -#else - return this->stream_->peek_char (0); -#endif /* ACE_USES_WCHAR */ -} - - -#if defined (ACE_USES_WCHAR) -int -ACEXML_HttpCharStream::get_i (ACEXML_Char& ch) -{ - if (ACE_OS::strcmp (this->encoding_, ACE_TEXT ("UTF-8")) == 0) - { - ch = (ACEXML_Char) this->stream_->get_char(); - return (ch == (ACEXML_Char)EOF ? -1 : 0); - } - int BE = (ACE_OS::strcmp (this->encoding_, - ACE_TEXT ("UTF-16BE")) == 0) ? 1 : 0; - ACEXML_Char input[2] = {0}; - int i = 0; - for (; i < 2 && (input[i] = this->stream_->get_char()) > 0; ++i) - ; - if (i < 2) - { - ch = 0; - return input[i]; - } - ch = BE ? input[0] << 8 | input[1] : input[1] << 8 | input[0]; - return 0; -} - -int -ACEXML_HttpCharStream::peek_i (void) -{ - // If we are reading a UTF-8 encoded file, just use the plain unget. - if (ACE_OS::strcmp (this->encoding_, ACE_TEXT ("UTF-8")) == 0) - { - ACEXML_Char ch = (ACEXML_Char) this->stream_->peek_char (0); - return ch; - } - - int BE = (ACE_OS::strcmp (this->encoding_, - ACE_TEXT ("UTF-16BE")) == 0) ? 1 : 0; - // Peek into the stream. - ACEXML_Char input[2]; - int i = 0; - for (; i < 2 && (input[i] = this->stream_->peek_char (i)) > 0; ++i) - ; - if (i < 2) - return -1; - return (BE ? input[0] << 8 | input[1] : input[1] << 8 | input[0]); -} -#endif /* ACE_USES_WCHAR */ diff --git a/ACE/ACEXML/common/HttpCharStream.h b/ACE/ACEXML/common/HttpCharStream.h deleted file mode 100644 index 593205bec7c..00000000000 --- a/ACE/ACEXML/common/HttpCharStream.h +++ /dev/null @@ -1,140 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file HttpCharStream.h - * - * $Id$ - * - * @author Krishnakumar B <kitty@cs.wustl.edu> - */ -//============================================================================= - -#ifndef _ACEXML_HTTPCHARSTREAM_H_ -#define _ACEXML_HTTPCHARSTREAM_H_ - -#include /**/ "ace/pre.h" -#include "ACEXML/common/ACEXML_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ACEXML/common/CharStream.h" -#include "ACEXML/common/URL_Addr.h" -#include "ACEXML/common/Mem_Map_Stream.h" - -/** - * @class ACEXML_HttpCharStream HttpCharStream.h "ACEXML/common/HttpCharStream.h" - * - * An implementation of ACEXML_CharStream for reading input from a URL. - */ -class ACEXML_Export ACEXML_HttpCharStream : public ACEXML_CharStream -{ -public: - /// Default constructor. - ACEXML_HttpCharStream (void); - - /// Destructor - virtual ~ACEXML_HttpCharStream (void); - - /// Open an URL. - int open (const ACEXML_Char *url); - - /** - * Returns the available ACEXML_Char in the buffer. -1 - * if the object is not initialized properly. - */ - virtual int available (void); - - /** - * Close this stream and release all resources used by it. - */ - virtual int close (void); - - /** - * Read the next ACEXML_Char. Return -1 if we are not able to - * return an ACEXML_Char, 0 if EOS is reached, or 1 if succeed. - */ - virtual int get (ACEXML_Char& ch); - - /** - * Read the next batch of ACEXML_Char strings - */ - virtual int read (ACEXML_Char *str, size_t len); - - /** - * Peek the next ACEXML_Char in the CharStream. Return the - * character if succeess, -1 if EOS is reached. - */ - virtual int peek (void); - - /** - * Resets the file pointer to the beginning of the stream. - */ - virtual void rewind (void); - - /** - * Determine the encoding of the file. - */ - virtual int determine_encoding (void); - - /** - * Get the encoding of the file - */ - virtual const ACEXML_Char* getEncoding (void); - - /* - * Get the systemId for the underlying CharStream - */ - virtual const ACEXML_Char* getSystemId (void); - - -private: - -#if defined (ACE_USES_WCHAR) - /** - * Read the next character from the stream taking into account the - * encoding of the file. - */ - int get_i (ACEXML_Char& ch); - - /** - * Read the next character from the stream taking into account the - * encoding of the file. Subsequent call to get() returns this - * character. - */ - int peek_i (void); - -#endif /* ACE_USES_WCHAR */ - - /** - * Send a HTTP/1.1 request to fetch the contents of the URL. - */ - int send_request (void); - - /** - * Fetch the URL and save it in backing store. - */ - int get_url (size_t& len); - - ACEXML_Char *url_; - - ACEXML_URL_Addr* url_addr_; - - ACEXML_Mem_Map_Stream* stream_; - - Connector* connector_; - - ACE_OFF_T size_; - - ACE_OFF_T data_offset_; - - ACEXML_Char* encoding_; - -}; - - -#include /**/ "ace/post.h" - -#endif /* _ACEXML_HTTPCHARSTREAM_H_ */ diff --git a/ACE/ACEXML/common/InputSource.cpp b/ACE/ACEXML/common/InputSource.cpp deleted file mode 100644 index a871c9296e4..00000000000 --- a/ACE/ACEXML/common/InputSource.cpp +++ /dev/null @@ -1,105 +0,0 @@ -// -*- C++ -*- $Id$ - -#include "ACEXML/common/InputSource.h" -#include "ACEXML/common/StreamFactory.h" -#include "ace/ACE.h" - -ACEXML_InputSource::ACEXML_InputSource (void) - : charStream_ (0), - encoding_ (0), - publicId_ (0), - systemId_ (0) -{ -} - -ACEXML_InputSource::ACEXML_InputSource (ACEXML_CharStream *stm) - : charStream_ (stm), - encoding_ (ACE::strnew (stm->getEncoding())), - publicId_ (0), - systemId_ (stm->getSystemId() ? ACE::strnew (stm->getSystemId()): 0) -{ -} - - /* - * Create a new input source with a character stream. - * - */ - -ACEXML_InputSource::ACEXML_InputSource (const ACEXML_Char *systemId) - : charStream_ (0), - encoding_ (0), - publicId_ (0), - systemId_ (ACE::strnew (systemId)) -{ - ACEXML_StreamFactory factory; - ACEXML_CharStream* stm = factory.create_stream (this->systemId_); - if (stm) - { - this->setCharStream (stm); - this->setEncoding (this->charStream_->getEncoding()); - } -} - -ACEXML_InputSource::~ACEXML_InputSource (void) -{ - delete[] this->publicId_; - this->publicId_ = 0; - delete[] this->systemId_; - this->systemId_ = 0; - delete this->charStream_; - this->charStream_ = 0; - delete[] this->encoding_; - this->encoding_ = 0; -} - -ACEXML_CharStream * -ACEXML_InputSource::getCharStream (void) const -{ - return this->charStream_; -} - -const ACEXML_Char * -ACEXML_InputSource::getEncoding (void) const -{ - return this->encoding_; -} - -const ACEXML_Char * -ACEXML_InputSource::getPublicId (void) const -{ - return this->publicId_; -} - -const ACEXML_Char * -ACEXML_InputSource::getSystemId (void) const -{ - return this->systemId_; -} - -void -ACEXML_InputSource::setCharStream (ACEXML_CharStream *stm) -{ - delete this->charStream_; - this->charStream_ = stm; -} - -void -ACEXML_InputSource::setEncoding (const ACEXML_Char *encoding) -{ - delete[] this->encoding_; - this->encoding_ = ACE::strnew (encoding); -} - -void -ACEXML_InputSource::setPublicId (const ACEXML_Char *publicId) -{ - delete[] this->publicId_; - this->publicId_ = ACE::strnew (publicId); -} - -void -ACEXML_InputSource::setSystemId (const ACEXML_Char *systemId) -{ - delete[] this->systemId_; - this->systemId_ = ACE::strnew (systemId); -} diff --git a/ACE/ACEXML/common/InputSource.h b/ACE/ACEXML/common/InputSource.h deleted file mode 100644 index ae2b70b130e..00000000000 --- a/ACE/ACEXML/common/InputSource.h +++ /dev/null @@ -1,131 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file InputSource.h - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - */ -//============================================================================= - -#ifndef _ACEXML_INPUTSOURCE_H_ -#define _ACEXML_INPUTSOURCE_H_ - -#include /**/ "ace/pre.h" -#include "ACEXML/common/ACEXML_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ACEXML/common/CharStream.h" - -/** - * @class ACEXML_InputSource InputSource.h "ACEXML/common/InputSource.h" - * - * @brief ACEXML_InputSource encapsulates the actual input stream with some - * added information. - * - * This class allows a SAX application to encapsulate information - * about an input source in a single object, which may include a - * public identifier, a system identifier, a byte stream (possibly - * with a specified encoding), and/or a character stream. - * - * There are two places that the application will deliver this input - * source to the parser: as the argument to the Parser.parse method, - * or as the return value of the EntityResolver.resolveEntity method. - * - * The SAX parser will use the InputSource object to determine how to - * read XML input. If there is a character stream available, the - * parser will read that stream directly; if not, the parser will use - * a byte stream, if available; if neither a character stream nor a - * byte stream is available, the parser will attempt to open a URI - * connection to the resource identified by the system identifier. - * - * An InputSource object belongs to the application: the SAX parser - * shall never modify it in any way (it may modify a copy if - * necessary). - * - * @sa ACEXML_CharStream - */ -class ACEXML_Export ACEXML_InputSource -{ -public: - /** - * Default constructor. - */ - ACEXML_InputSource (void); - - - /** - * Create a new input source with a ACEXML_Char stream. - * Notice that ACEXML_InputSource assumes the ownership - * of <stream> - */ - explicit ACEXML_InputSource (ACEXML_CharStream *stream); - - /** - * Create a new input source with a system identifier. - */ - ACEXML_InputSource (const ACEXML_Char *systemId); - - /** - * Default destructor. - */ - virtual ~ACEXML_InputSource (void); - - /** - * Get the ACEXML_Char stream for this input source. - */ - virtual ACEXML_CharStream *getCharStream (void) const; - - /** - * Get the character encoding for a byte stream or URI. - */ - virtual const ACEXML_Char *getEncoding (void) const; - - /** - * Get the public identifier for this input source. - */ - virtual const ACEXML_Char *getPublicId (void) const; - - /** - * Get the system identifier for this input source. - */ - virtual const ACEXML_Char *getSystemId (void) const; - - /** - * Set the ACEXML_Char stream for this input source. - * Notice that ACEXML_InputSource assumes the ownership - * of <stream> - */ - virtual void setCharStream (ACEXML_CharStream *charStream); - - /** - * Set the character encoding, if known. - */ - virtual void setEncoding (const ACEXML_Char *encoding); - - /** - * Set the public identifier for this input source. - */ - virtual void setPublicId (const ACEXML_Char *publicId); - - /** - * Set the public identifier for this input source. - */ - virtual void setSystemId (const ACEXML_Char *systemId); - -private: - ACEXML_CharStream *charStream_; - ACEXML_Char *encoding_; - ACEXML_Char *publicId_; - ACEXML_Char *systemId_; -}; - - -#include /**/ "ace/post.h" - -#endif /* _ACEXML_INPUTSOURCE_H_ */ diff --git a/ACE/ACEXML/common/Locator.cpp b/ACE/ACEXML/common/Locator.cpp deleted file mode 100644 index 5de6d3a1516..00000000000 --- a/ACE/ACEXML/common/Locator.cpp +++ /dev/null @@ -1,11 +0,0 @@ -#include "Locator.h" - - -ACE_RCSID (common, - Locator, - "$Id$") - - -ACEXML_Locator::~ACEXML_Locator (void) -{ -} diff --git a/ACE/ACEXML/common/Locator.h b/ACE/ACEXML/common/Locator.h deleted file mode 100644 index c6504b706a4..00000000000 --- a/ACE/ACEXML/common/Locator.h +++ /dev/null @@ -1,74 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Locator.h - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - */ -//============================================================================= - -#ifndef _ACEXML_LOCATOR_H_ -#define _ACEXML_LOCATOR_H_ -#include /**/ "ace/pre.h" - -#include "ACEXML/common/ACEXML_Export.h" -#include "ACEXML/common/XML_Types.h" - -/** - * @class ACEXML_Locator Locator.h "ACEXML/common/Locator.h" - * - * @brief ACEXML_Locator defines operations that an XML locator should support. - * - * If a SAX parser provides location information to the SAX - * application, it does so by implementing this interface and then - * passing an instance to the application using the content handler's - * setDocumentLocator method. The application can use the object to - * obtain the location of any other content handler event in the XML - * source document. - * - * Note that the results returned by the object will be valid only - * during the scope of each content handler method: the application - * will receive unpredictable results if it attempts to use the - * locator at any other time. - * - * SAX parsers are not required to supply a locator, but they are very - * strongly encouraged to do so. If the parser supplies a locator, it - * must do so before reporting any other document events. If no - * locator has been set by the time the application receives the - * startDocument event, the application should assume that a locator - * is not available. - */ -class ACEXML_Export ACEXML_Locator -{ -public: - - virtual ~ACEXML_Locator (void); - - /* - * Return the column number where the current document event ends. - */ - virtual int getColumnNumber (void) const = 0; - - /* - * Return the line number where the current document event ends. - */ - virtual int getLineNumber (void) const = 0; - - /* - * Return the public identifier for the current document event. - */ - virtual const ACEXML_Char *getPublicId (void) const = 0; - - /* - * Return the system identifier for the current document event. - */ - virtual const ACEXML_Char *getSystemId (void) const = 0; -}; - - -#include /**/ "ace/post.h" - -#endif /* _ACEXML_LOCATOR_H_ */ diff --git a/ACE/ACEXML/common/LocatorImpl.cpp b/ACE/ACEXML/common/LocatorImpl.cpp deleted file mode 100644 index 6139985b2fd..00000000000 --- a/ACE/ACEXML/common/LocatorImpl.cpp +++ /dev/null @@ -1,49 +0,0 @@ -// -*- C++ -*- $Id$ - -#include "ACEXML/common/LocatorImpl.h" - -#if !defined (__ACEXML_INLINE__) -# include "ACEXML/common/LocatorImpl.inl" -#endif /* __ACEXML_INLINE__ */ - -ACEXML_LocatorImpl::ACEXML_LocatorImpl (void) - : publicId_ (0), - systemId_ (0), - lineNumber_ (1), - columnNumber_ (0) -{ -} - -ACEXML_LocatorImpl::ACEXML_LocatorImpl (const ACEXML_Char* systemId, - const ACEXML_Char* publicId) - : publicId_ (publicId ? ACE::strnew (publicId) : 0), - systemId_ (systemId ? ACE::strnew (systemId) : 0), - lineNumber_ (1), - columnNumber_ (0) -{ -} - - -ACEXML_LocatorImpl::ACEXML_LocatorImpl (const ACEXML_Locator& locator) - : publicId_ (locator.getPublicId() ? ACE::strnew(locator.getPublicId ()): 0), - systemId_ (locator.getSystemId() ? ACE::strnew(locator.getSystemId ()): 0), - lineNumber_ (locator.getLineNumber ()), - columnNumber_ (locator.getColumnNumber ()) -{ -} - -ACEXML_LocatorImpl::~ACEXML_LocatorImpl (void) -{ - this->reset(); -} - -void -ACEXML_LocatorImpl::reset (void) -{ - delete[] this->publicId_; - this->publicId_ = 0; - delete[] this->systemId_; - this->systemId_ = 0; - this->columnNumber_ = 0; - this->lineNumber_ = 1; -} diff --git a/ACE/ACEXML/common/LocatorImpl.h b/ACE/ACEXML/common/LocatorImpl.h deleted file mode 100644 index 46a7092c84f..00000000000 --- a/ACE/ACEXML/common/LocatorImpl.h +++ /dev/null @@ -1,159 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file LocatorImpl.h - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - * @author Krishnakumar Balasubramanian <kitty@cs.wustl.edu> - */ -//============================================================================= - -#ifndef ACEXML_LOCALTORIMPL_H -#define ACEXML_LOCALTORIMPL_H - -#include /**/ "ace/pre.h" -#include "ACEXML/common/ACEXML_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ACEXML/common/Locator.h" - -/** - * @class ACEXML_LocatorImpl LocatorImpl.h "ACEXML/common/LocatorImpl.h" - * - * @brief ACEXML_LocatorImpl is an implementation of ACEXML_Locator. - * - * This class is available mainly for application writers, who can - * use it to make a persistent snapshot of a locator at any point - * during a document parse: - * - * @code - * ACEXML_Locator locator; - * ACEXML_Locator startloc; - * - * public void setLocator (ACEXML_Locator locator) - * { - * // note the locator - * this.locator = locator; - * } - * - * public void startDocument () - * { - * // save the location of the start of the document - * // for future use. - * ACEXML_Locator startloc = new ACEXML_LocatorImpl(locator); - * } - * @endcode - * - * Normally, parser writers will not use this class, since it is more - * efficient to provide location information only when requested, - * rather than constantly updating a Locator object. - * - * @todo ACEXML parser doesn't support the use of Locator yet. - * - * @sa ACEXML_Locator - */ -class ACEXML_Export ACEXML_LocatorImpl : public ACEXML_Locator -{ -public: - /* - * Default constructor. - */ - ACEXML_LocatorImpl (void); - - /** - * Construct a locator with systemId and publicId - * - */ - ACEXML_LocatorImpl (const ACEXML_Char* systemId, - const ACEXML_Char* publicId); - /** - * Copy constructor. Create a persistent copy of the current state - * of a locator. When the original locator changes, this copy will - * still keep the original values (and it can be used outside the - * scope of DocumentHandler methods). - */ - ACEXML_LocatorImpl (const ACEXML_Locator& locator); - - /* - * Destructor. - */ - virtual ~ACEXML_LocatorImpl (void); - - /* - * Return the column number where the current document event ends. - */ - virtual int getColumnNumber (void) const; - - /* - * Return the line number where the current document event ends. - */ - virtual int getLineNumber (void) const; - - /* - * Return the public identifier for the current document event. - */ - virtual const ACEXML_Char *getPublicId (void) const; - - /* - * Return the system identifier for the current document event. - */ - virtual const ACEXML_Char *getSystemId (void) const; - - /* - * Set the column number of this locator. - */ - void setColumnNumber (int cn); - - /* - * Set the line number of this locator. - */ - void setLineNumber (int ln); - - /* - * Set the public identifier of this locator. - */ - void setPublicId (const ACEXML_Char *id); - - /* - * Set the system identifier of this locator. - */ - void setSystemId (const ACEXML_Char *id); - - /* - * Increment the line number. - */ - void incrLineNumber (); - - /* - * Increment the column number. - */ - void incrColumnNumber (); - - /* - * Reset the Locator information. This is necessary because one might - * want to use the same parser to parse multiple files. In that case, - * tying the life of the Locator with the parser is not appropriate. The - * parser calls this method as soon as issuing an endDocument() call. - */ - void reset (void); - -private: - ACEXML_Char *publicId_; - ACEXML_Char *systemId_; - int lineNumber_; - int columnNumber_; -}; - -#if defined (__ACEXML_INLINE__) -# include "ACEXML/common/LocatorImpl.inl" -#endif /* __ACEXML_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* ACEXML_LOCALTORIMPL_H */ diff --git a/ACE/ACEXML/common/LocatorImpl.inl b/ACE/ACEXML/common/LocatorImpl.inl deleted file mode 100644 index 808a8bd4ac4..00000000000 --- a/ACE/ACEXML/common/LocatorImpl.inl +++ /dev/null @@ -1,65 +0,0 @@ -// -*- C++ -*- $Id$ - -#include "ace/ACE.h" - -ACEXML_INLINE void -ACEXML_LocatorImpl::setColumnNumber (int cn) -{ - this->columnNumber_ = cn; -} - -ACEXML_INLINE void -ACEXML_LocatorImpl::setLineNumber (int ln) -{ - this->lineNumber_ = ln; -} - -ACEXML_INLINE int -ACEXML_LocatorImpl::getColumnNumber (void) const -{ - return this->columnNumber_; -} - -ACEXML_INLINE int -ACEXML_LocatorImpl::getLineNumber (void) const -{ - return this->lineNumber_; -} - -ACEXML_INLINE void -ACEXML_LocatorImpl::setPublicId (const ACEXML_Char *id) -{ - delete[] this->publicId_; - this->publicId_ = ACE::strnew (id); -} - -ACEXML_INLINE void -ACEXML_LocatorImpl::setSystemId (const ACEXML_Char *id) -{ - delete[] this->systemId_; - this->systemId_ = ACE::strnew (id); -} - -ACEXML_INLINE const ACEXML_Char * -ACEXML_LocatorImpl::getPublicId (void) const -{ - return this->publicId_; -} - -ACEXML_INLINE const ACEXML_Char * -ACEXML_LocatorImpl::getSystemId (void) const -{ - return this->systemId_; -} - -ACEXML_INLINE void -ACEXML_LocatorImpl::incrLineNumber () -{ - ++this->lineNumber_; -} - -ACEXML_INLINE void -ACEXML_LocatorImpl::incrColumnNumber () -{ - ++this->columnNumber_; -} diff --git a/ACE/ACEXML/common/Makefile.am b/ACE/ACEXML/common/Makefile.am deleted file mode 100644 index f08574ae905..00000000000 --- a/ACE/ACEXML/common/Makefile.am +++ /dev/null @@ -1,159 +0,0 @@ -## Process this file with automake to create Makefile.in -## -## $Id$ -## -## This file was generated by MPC. Any changes made directly to -## this file will be lost the next time it is generated. -## -## MPC Command: -## ./bin/mwc.pl -type automake -noreldefs ACE.mwc - -includedir = @includedir@/ACEXML/common -pkgconfigdir = @libdir@/pkgconfig - -ACE_BUILDDIR = $(top_builddir) -ACE_ROOT = $(top_srcdir) - - -## Makefile.ACEXML.am - -if !BUILD_ACE_FOR_TAO - -lib_LTLIBRARIES = libACEXML.la - -libACEXML_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -DACEXML_BUILD_DLL - -if BUILD_ZLIB -if BUILD_ZZIP -libACEXML_la_CPPFLAGS += \ - $(ACE_ZZIP_CPPFLAGS) \ - $(ACE_ZLIB_CPPFLAGS) -endif BUILD_ZZIP -endif BUILD_ZLIB - -libACEXML_la_SOURCES = \ - Attributes.cpp \ - AttributesImpl.cpp \ - Attributes_Def_Builder.cpp \ - CharStream.cpp \ - ContentHandler.cpp \ - DTDHandler.cpp \ - DTD_Manager.cpp \ - DefaultHandler.cpp \ - Element_Def_Builder.cpp \ - Encoding.cpp \ - EntityResolver.cpp \ - Env.cpp \ - ErrorHandler.cpp \ - Exception.cpp \ - FileCharStream.cpp \ - HttpCharStream.cpp \ - InputSource.cpp \ - Locator.cpp \ - LocatorImpl.cpp \ - Mem_Map_Stream.cpp \ - NamespaceSupport.cpp \ - SAXExceptions.cpp \ - StrCharStream.cpp \ - StreamFactory.cpp \ - Transcode.cpp \ - URL_Addr.cpp \ - Validator.cpp \ - XMLFilterImpl.cpp \ - XMLReader.cpp \ - XML_Codecs.cpp \ - XML_Util.cpp \ - ZipCharStream.cpp - -libACEXML_la_LDFLAGS = \ - -release @ACE_VERSION_NAME@ - -if BUILD_ZLIB -if BUILD_ZZIP -libACEXML_la_LDFLAGS += \ - $(ACE_ZZIP_LDFLAGS) \ - $(ACE_ZLIB_LDFLAGS) -endif BUILD_ZZIP -endif BUILD_ZLIB - -libACEXML_la_LIBADD = \ - $(ACE_BUILDDIR)/ace/libACE.la - -if BUILD_ZLIB -if BUILD_ZZIP -libACEXML_la_LIBADD += \ - $(ACE_ZZIP_LIBS) \ - $(ACE_ZLIB_LIBS) -endif BUILD_ZZIP -endif BUILD_ZLIB - -nobase_include_HEADERS = \ - ACEXML_Export.h \ - Attributes.h \ - AttributesImpl.h \ - AttributesImpl.inl \ - Attributes_Def_Builder.h \ - CharStream.h \ - ContentHandler.h \ - DTDHandler.h \ - DTD_Manager.h \ - DefaultHandler.h \ - Element_Def_Builder.h \ - Encoding.h \ - EntityResolver.h \ - Env.h \ - Env.inl \ - ErrorHandler.h \ - Exception.h \ - Exception.inl \ - FileCharStream.h \ - HttpCharStream.h \ - InputSource.h \ - Locator.h \ - LocatorImpl.h \ - LocatorImpl.inl \ - Mem_Map_Stream.h \ - NamespaceSupport.h \ - SAXExceptions.h \ - SAXExceptions.inl \ - StrCharStream.h \ - StreamFactory.h \ - Transcode.h \ - URL_Addr.h \ - URL_Addr.inl \ - Validator.h \ - XMLFilter.h \ - XMLFilterImpl.h \ - XMLFilterImpl.inl \ - XMLReader.h \ - XML_Codecs.h \ - XML_Macros.h \ - XML_Types.h \ - XML_Util.h \ - ZipCharStream.h - -pkgconfig_DATA = \ - ACEXML.pc - -CLEANFILES = \ - ACEXML.pc - -ACEXML.pc: ${top_builddir}/config.status ${srcdir}/ACEXML.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/ACEXML.pc.in - -endif !BUILD_ACE_FOR_TAO - -EXTRA_DIST = \ - ACEXML.pc.in - - -## Clean up template repositories, etc. -clean-local: - -rm -f *~ *.bak *.rpo *.sym lib*.*_pure_* core core.* - -rm -f gcctemp.c gcctemp so_locations *.ics - -rm -rf cxx_repository ptrepository ti_files - -rm -rf templateregistry ir.out - -rm -rf ptrepository SunWS_cache Templates.DB diff --git a/ACE/ACEXML/common/Mem_Map_Stream.cpp b/ACE/ACEXML/common/Mem_Map_Stream.cpp deleted file mode 100644 index 67118c0d276..00000000000 --- a/ACE/ACEXML/common/Mem_Map_Stream.cpp +++ /dev/null @@ -1,264 +0,0 @@ -// $Id$ - -#include "ace/FILE_Addr.h" -#include "ace/OS_NS_unistd.h" -#include "ACEXML/common/Mem_Map_Stream.h" - -ACE_RCSID(common, Mem_Map_Stream, "$Id$") - -ACEXML_Mem_Map_Stream::ACEXML_Mem_Map_Stream (void) - : svc_handler_ (0) -{ - -} - -ACE_SOCK_Stream & -ACEXML_Mem_Map_Stream::stream (void) -{ - return svc_handler_->peer (); -} - -ssize_t -ACEXML_Mem_Map_Stream::send_n (const void *buf, size_t size, - ACE_Time_Value *tv) -{ - return svc_handler_->peer ().send_n (buf, size, 0, tv); -} - -int -ACEXML_Mem_Map_Stream::eof (void) const -{ - return this->get_pos_ >= this->end_of_mapping_plus1_; -} - -int -ACEXML_Mem_Map_Stream::get_char (void) -{ - if (this->eof () && this->grow_file_and_remap () == -1) - return EOF; - return *this->get_pos_++; -} - -void -ACEXML_Mem_Map_Stream::rewind (void) -{ - this->recv_pos_ = reinterpret_cast<char *> (this->mem_map_.addr ()); - this->get_pos_ = this->recv_pos_; - this->end_of_mapping_plus1_ = this->recv_pos_ + this->mem_map_.size (); -} - -int -ACEXML_Mem_Map_Stream::peek_char (size_t offset) -{ - // We may need to iterate if the size of <n> is large. - while (this->get_pos_ + offset >= this->end_of_mapping_plus1_) - if (this->grow_file_and_remap () == -1) - return EOF; - - return this->get_pos_[offset]; -} - -const char * -ACEXML_Mem_Map_Stream::recv (void) const -{ - return this->recv_pos_; -} - -const char * -ACEXML_Mem_Map_Stream::recv (size_t &len) -{ - if (this->eof () && this->grow_file_and_remap () == -1) - { - len = 0; - return 0; - } - const char *s = this->recv_pos_; - this->seek (static_cast<ACE_OFF_T> (len), SEEK_CUR); - len = this->get_pos_ - s; - return s; -} - -size_t -ACEXML_Mem_Map_Stream::recv_len (void) const -{ - return this->get_pos_ - this->recv_pos_; -} - -const char * -ACEXML_Mem_Map_Stream::peek_str (size_t offset, - size_t size) -{ - // We will iterate if the size of <offset> is large. - while (this->get_pos_ + (offset + size) > this->end_of_mapping_plus1_) - if (this->grow_file_and_remap () == -1) - return 0; - - return &this->get_pos_[offset]; -} - -ACE_OFF_T -ACEXML_Mem_Map_Stream::seek (ACE_OFF_T offset, int whence) -{ - switch (whence) - { - case SEEK_SET: - this->get_pos_ = - reinterpret_cast<char *> (this->mem_map_.addr ()) - + offset; - break; - - case SEEK_CUR: - this->get_pos_ += offset; - break; - - case SEEK_END: - this->get_pos_ = - this->end_of_mapping_plus1_ + offset; - // @@ Not sure how to implement this (yet). - ACE_NOTSUP_RETURN (-1); - } - - // Make sure that the backing store will cover this. - while (this->get_pos_ > this->end_of_mapping_plus1_) - if (this->grow_file_and_remap () == -1) - this->get_pos_ = this->end_of_mapping_plus1_; - - this->recv_pos_ = this->get_pos_; - return this->recv_pos_ - reinterpret_cast<char *> (this->mem_map_.addr ()); -} - -Svc_Handler * -ACEXML_Mem_Map_Stream::svc_handler (void) -{ - return this->svc_handler_; -} - -size_t -ACEXML_Mem_Map_Stream::available (void) const -{ - return this->end_of_mapping_plus1_ - this->get_pos_; -} - -int -ACEXML_Mem_Map_Stream::open (Connector *connector, - const ACE_INET_Addr &addr) -{ - svc_handler_ = 0; - - // Connect to the server at <addr>. If the handler has to be - // connected to the server again, the Caching strategy takes care - // and uses the same connection. - if (connector->connect (svc_handler_, - addr) == -1) - { - - ACE_ERROR_RETURN ((LM_ERROR, - "%p %s %d\n", - "Connect failed", - addr.get_host_name (), - addr.get_port_number ()), - -1); - } - // Create a temporary filename. - ACE_FILE_Addr file (ACE_sap_any_cast (ACE_FILE_Addr &)); - - // Create the temporary file via the <ACE_Mem_Map> class API. - if (this->mem_map_.open (file.get_path_name (), - O_RDWR | O_CREAT | O_APPEND, - ACE_DEFAULT_FILE_PERMS) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "%p\n", - "open"), - -1); - // Make sure to unlink this right away so that if this process - // crashes these files will be removed automatically. - else if (ACE_OS::unlink (file.get_path_name ()) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "%p\n", - "unlink"), - -1); - else - // Initialize all the position pointers to 0. - this->rewind (); - - return 0; -} - -int -ACEXML_Mem_Map_Stream::grow_file_and_remap (void) -{ - char buf[8192]; - - // Copy the next chunk of bytes from the socket into the temporary - // file. - ACE_Time_Value tv (ACE_DEFAULT_TIMEOUT); - ssize_t bytes = 0; - ssize_t n = 0; - while (1) - { - n = this->svc_handler_->peer ().recv (buf, sizeof buf, 0, &tv); - if (n < 0) - { - if (errno != EWOULDBLOCK) - { - ACE_ERROR ((LM_ERROR, "%p\n", "recv")); - } - - return -1; - } - bytes += n; - if (n == 0 && !bytes) - return -1; - else if (n == 0) - break; - else if (ACE::write_n (this->mem_map_.handle (), buf, n) != n) - ACE_ERROR_RETURN ((LM_ERROR, - "%p\n", - "write_n"), - -1); - } - -// ssize_t n = this->svc_handler_->peer ().recv (buf, sizeof buf, 0, &tv); -// if (n == -1) -// { -// ACE_ERROR ((LM_ERROR, "%p\n", "recv")); -// return -1; -// } -// else if (n == 0) -// return -1; -// else if (ACE::write_n (this->mem_map_.handle (), buf, n) != n) -// ACE_ERROR_RETURN ((LM_ERROR, -// "%p\n", -// "write_n"), -// -1); - - // Grow the memory-mapping to encompass the entire temporary file. - if (this->mem_map_.map (static_cast<size_t> (-1), - PROT_RDWR, - ACE_MAP_PRIVATE, - (void*)0) == -1) - ACE_ERROR_RETURN ((LM_ERROR, - "%p\n", - "map"), - -1); - // MAP_FAILED is used as a "first time in" flag. - if (this->recv_pos_ == MAP_FAILED) - { - this->recv_pos_ = reinterpret_cast<char *> (this->mem_map_.addr ()); - this->get_pos_ = this->recv_pos_; - } - - this->end_of_mapping_plus1_ = - reinterpret_cast<char *> (this->mem_map_.addr ()) - + this->mem_map_.size (); - - return 0; -} - -ACEXML_Mem_Map_Stream::~ACEXML_Mem_Map_Stream (void) -{ - // Remove the mapping and the file. - this->mem_map_.remove (); - delete this->svc_handler_; -} - diff --git a/ACE/ACEXML/common/Mem_Map_Stream.h b/ACE/ACEXML/common/Mem_Map_Stream.h deleted file mode 100644 index 3752c71d104..00000000000 --- a/ACE/ACEXML/common/Mem_Map_Stream.h +++ /dev/null @@ -1,191 +0,0 @@ -/* -*- C++ -*- */ - -/** @file Mem_Map_Stream.h - * - * $Id$ - * - * @author Douglas C. Schmidt <schmidt@cs.wustl.edu> - * @author Krishnakumar B <kitty@cs.wustl.edu> - * - */ - -#ifndef _ACEXML_MEM_MAP_STREAM_H -#define _ACEXML_MEM_MAP_STREAM_H - -#include /**/ "ace/pre.h" -#include "ACEXML/common/ACEXML_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/SOCK_Stream.h" -#include "ace/Mem_Map.h" -#include "ace/SOCK_Connector.h" -#include "ace/Connector.h" -#include "ace/Svc_Handler.h" -#include "ACEXML/common/XML_Types.h" - -typedef ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH> Svc_Handler; -typedef ACE_Connector<Svc_Handler, ACE_SOCK_CONNECTOR> Connector; - -/** - * @class ACEXML_Mem_Map_Stream Mem_Map_Stream.h "ACEXML/common/Mem_Map_Stream.h" - * - * @brief Provides a memory-mapped stream abstraction to simplify parsing - * of tokens. - * - * This class makes it possible to treat an connection as a stream of - * bytes, similar to the C library stdio streams. The contents of the - * connection are buffered incrementally in a memory-mapped file. This - * class maintains pointers to two positions in the stream: - * - * 1. The <recv> position, which keeps track of the beginning of a - * token that is in the stream. - * - * 2. The <get> position, which moves along character-by-character - * until the end of the token is reached. - * - * Once a token has been located, it can be extracted from the stream by - * calling the <recv>. The length of the token, i.e., the <recv_len>, is - * the length in bytes between the <get> position and the <recv> position. - * Once the token has been extracted, the <recv> and <get> positions can be - * updated by the <seek> method. - */ -class ACEXML_Export ACEXML_Mem_Map_Stream -{ -public: - /// Default constructor - ACEXML_Mem_Map_Stream (void); - - /// Initialize this object. - virtual int open (Connector *connector, - const ACE_INET_Addr &); - - /// Destructor. - virtual ~ACEXML_Mem_Map_Stream (void); - - /// Returns the underlying <ACE_SOCK_Stream>. - ACE_SOCK_Stream &stream (void); - - /** - * Send <size> bytes in <buf> to the connected peer. This is a - * completely unbuffered call. - */ - virtual ssize_t send_n (const void *buf, - size_t size, - ACE_Time_Value *tv = 0); - - /** - * Return the next character in the stream and advance the <get> - * position. Returns EOF when the <get> position reaches the end of the - * HTTP stream. - */ - virtual int get_char (void); - - /** - * Returns a pointer to array of at most <len> characters starting at - * the <recv> position. If the <recv> position + <len> extends past the - * EOF then <len> is set to the number of characters between the <recv> - * position and the EOF and both the <get> and <recv> positions are - * advanced by <len>. Returns 0 if the <recv> position is at the EOF. - */ - virtual const char *recv (size_t &len); - - /** - * Returns a pointer to array of characters starting at the <recv> - * position. - */ - virtual const char *recv (void) const; - - /** - * Returns the length in bytes between the <get> position and the <recv> - * position. - */ - virtual size_t recv_len (void) const; - - /** - * Returns the no. of bytes available in the stream. - */ - virtual size_t available (void) const; - - /** - * Resets the <get> and <recv> positions to the beginning of the stream. - * This works since all the data has been cached in the memory-mapped - * backing store. - */ - virtual void rewind (void); - - /** - * Returns the nth character <offset> from the <get> position in the - * stream without advancing the <get> position. Automatically extends - * the backing store if necessary. Returns EOF if <offset> is past the - * end of the stream. - */ - virtual int peek_char (size_t offset); - - /** - * Return a pointer to an array of <size> characters starting at - * <offset> characters from the <get> position in the stream without - * advancing the <get> position. Automatically extends the backing store - * if necessary. Returns 0 if <offset> or <offset + size> is past the - * end of the stream. - */ - virtual const char *peek_str (size_t offset, size_t size); - - /** - * Sets the <get> and <recv> positions as follows: - * o If <whence> is <SEEK_SET>, the positions are set to <offset> - * bytes from the start of the stream. - * o If <whence> is <SEEK_CUR>, the positions are set to the - * current <get> position plus <offset>. - * o If <whence> is <SEEK_END>, the positions are set to the size - * of the stream plus <offset>. - * - * If offset is greater than EOF, both <get> and <recv> are set to EOF. - * Note special return value is returned to indicate this condition. - */ - virtual ACE_OFF_T seek (ACE_OFF_T offset, int whence = SEEK_CUR); - - /// Returns 1 if we're at the end of the HTTP stream, else 0. - virtual int eof (void) const; - - /// Returns the underlying service handler. - Svc_Handler *svc_handler (void); - -private: - /** - * Grow the file by reading another chunk from the HTTP socket and - * extend the mapping to cover this chunk. Returns -1 on failure or - * EOF, else 0. - */ - int grow_file_and_remap (void); - - /** - * Connection to peer. The granularity is at the Svc_Handler level. - * The Svc_Handler has an SOCK_Stream. - */ - Svc_Handler *svc_handler_; - - /// Memory-mapped file that we're iterating over. - ACE_Mem_Map mem_map_; - - /// Pointer to the address where the next <recv> method will start. - char *recv_pos_; - - /** - * Pointer to the address where the next <get_char> method will - * start. - */ - char *get_pos_; - - /// Address at the end of the file mapping. - char *end_of_mapping_plus1_; - -}; - - -#include /**/ "ace/post.h" - - -#endif /* _ACEXML_MEM_MAP_STREAM_H */ diff --git a/ACE/ACEXML/common/NamespaceSupport.cpp b/ACE/ACEXML/common/NamespaceSupport.cpp deleted file mode 100644 index 194b805c882..00000000000 --- a/ACE/ACEXML/common/NamespaceSupport.cpp +++ /dev/null @@ -1,247 +0,0 @@ -// -*- C++ -*- $Id$ - -#include "ACEXML/common/NamespaceSupport.h" -#include "ace/OS_NS_string.h" - -static const ACEXML_Char ACEXML_XMLNS_PREFIX_name[] = ACE_TEXT ("xmlns"); - -const ACEXML_Char *ACEXML_NamespaceSupport::XMLNS_PREFIX = ACEXML_XMLNS_PREFIX_name; - -static const ACEXML_Char ACEXML_DEFAULT_NS_PREFIX[] = {0}; - -static const ACEXML_Char ACEXML_TABOO_NS_PREFIX[] = ACE_TEXT ("xml"); - -static const ACEXML_Char ACEXML_XMLNS_URI_name[] = ACE_TEXT ("http://www.w3.org/XML/1998/namespace"); -const ACEXML_Char *ACEXML_NamespaceSupport::XMLNS = ACEXML_XMLNS_URI_name; - -ACEXML_Namespace_Context_Stack::ACEXML_Namespace_Context_Stack (void) -{ -} - -ACEXML_Namespace_Context_Stack::~ACEXML_Namespace_Context_Stack (void) -{ - // Clean up stuff. -} - -int -ACEXML_Namespace_Context_Stack::push (ACEXML_NS_CONTEXT *nsc) -{ - return (this->stack_.push (nsc) < 0); -} - -ACEXML_NS_CONTEXT * -ACEXML_Namespace_Context_Stack::pop (void) -{ - if (this->stack_.size() <= 0) - return 0; - - ACEXML_NS_CONTEXT* temp = 0; - int retval = this->stack_.pop (temp); - if (retval != 0) - { - ACE_ERROR ((LM_ERROR, "Unable to pop Namespace context from stack\n")); - return 0; - } - return temp; -} - -int -ACEXML_NamespaceSupport::popContext (void) -{ - delete this->effective_context_; - - if ((this->effective_context_ = this->ns_stack_.pop ()) == 0) - return -1; - return 0; -} - -int -ACEXML_NamespaceSupport::pushContext (void) -{ - ACEXML_NS_CONTEXT *temp = this->effective_context_; - ACE_NEW_RETURN (this->effective_context_, - ACEXML_NS_CONTEXT (), - -1); - - // @@ Copy everything from the old context to the new one. - ACEXML_NS_CONTEXT_ENTRY *entry = 0; - - for (ACEXML_NS_CONTEXT_ITER iter (*temp); - iter.next (entry) != 0; - iter.advance ()) - this->effective_context_->bind (entry->ext_id_, - entry->int_id_); - this->ns_stack_.push (temp); - return 0; -} - -ACEXML_NamespaceSupport::ACEXML_NamespaceSupport (void) - : ns_stack_ (), - effective_context_ (0) -{} - -int -ACEXML_NamespaceSupport::init (void) -{ - // @@ No way to tell if the new fails. - ACE_NEW_RETURN (effective_context_, ACEXML_NS_CONTEXT(), -1); - - ACEXML_String prefix (ACEXML_TABOO_NS_PREFIX, 0, false); - ACEXML_String uri (ACEXML_XMLNS_URI_name, 0, false); - return this->effective_context_->bind (prefix, uri); -} - -ACEXML_NamespaceSupport::~ACEXML_NamespaceSupport (void) -{ - while (this->popContext () == 0) - ; -} - -int -ACEXML_NamespaceSupport::declarePrefix (const ACEXML_Char *prefix, - const ACEXML_Char *uri) -{ - if (!prefix || !uri) - return -1; - - // Unless predefined by w3.org(?) NS prefix can never start with - // "xml". - if (ACE_OS::strcmp (ACEXML_TABOO_NS_PREFIX, prefix) == 0) - return -1; - - ACEXML_String ns_prefix (prefix, 0, false); - ACEXML_String ns_uri (uri, 0, false); - - return this->effective_context_->rebind (ns_prefix, ns_uri); -} - -int -ACEXML_NamespaceSupport::getDeclaredPrefixes (ACEXML_STR_LIST &prefixes) const -{ - ACEXML_NS_CONTEXT_ENTRY *entry = 0; - - // The prefix for default namespace (empty string) is included in - // the return list. - for (ACEXML_NS_CONTEXT_ITER iter (*this->effective_context_); - iter.next (entry) != 0; - iter.advance ()) - prefixes.enqueue_tail (entry->ext_id_.c_str ()); - - return 0; -} - -const ACEXML_Char * -ACEXML_NamespaceSupport::getPrefix (const ACEXML_Char *uri) const -{ - if (!uri || *uri == 0) - return 0; - - ACEXML_NS_CONTEXT_ENTRY *entry = 0; - - for (ACEXML_NS_CONTEXT_ITER iter (*this->effective_context_); - iter.next (entry) != 0; - iter.advance ()) - if (entry->int_id_ == ACEXML_String (uri, 0, false)) - return entry->ext_id_.c_str (); - - return 0; // Nothing found. -} - -int -ACEXML_NamespaceSupport::getPrefixes (ACEXML_STR_LIST &prefixes) const -{ - ACEXML_NS_CONTEXT_ENTRY *entry = 0; - - // The prefix for default namespace (empty string) is not included - // in the return list. - for (ACEXML_NS_CONTEXT_ITER iter (*this->effective_context_); - iter.next (entry) != 0; - iter.advance ()) - prefixes.enqueue_tail (entry->ext_id_.c_str ()); - return 0; -} - -int -ACEXML_NamespaceSupport::getPrefixes (const ACEXML_Char *uri, - ACEXML_STR_LIST &prefixes) const -{ - if (!uri) - return -1; - - ACEXML_NS_CONTEXT_ENTRY *entry = 0; - - for (ACEXML_NS_CONTEXT_ITER iter (*this->effective_context_); - iter.next (entry) != 0; - iter.advance ()) - if (entry->int_id_ == ACEXML_String (uri, 0, false) && - entry->ext_id_ != ACEXML_String (ACEXML_DEFAULT_NS_PREFIX, 0, false)) - prefixes.enqueue_tail (entry->ext_id_.c_str ()); - else - continue; - - return 0; // Nothing found. -} - -const ACEXML_Char * -ACEXML_NamespaceSupport::getURI (const ACEXML_Char *prefix) const -{ - if (!prefix) - return 0; - - ACEXML_NS_CONTEXT_ENTRY *entry = 0; - - if (this->effective_context_->find (ACEXML_String (prefix, 0, false), - entry) == 0) - return entry->int_id_.c_str (); - return 0; -} - -int -ACEXML_NamespaceSupport::processName (const ACEXML_Char *qName, - const ACEXML_Char *&uri, - const ACEXML_Char *&name, - int is_attribute) const -{ - int qlen = static_cast<int> (ACE_OS::strlen (qName)); - int len = -1; - for (int i = 0; i < qlen; ++i) - if (qName [i] == ':') - { - len = i; - break; - } - - ACEXML_String prefix (ACE_TEXT (""), 0, false); - if (len == -1) - name = qName; - else - { - prefix.set (qName, len, 1); - name = qName + len + 1; - } - - if (is_attribute && len == -1) { - uri = ACEXML_DEFAULT_NS_PREFIX; - return 0; - } - - ACEXML_NS_CONTEXT_ENTRY *entry; - - if (this->effective_context_->find (prefix, entry) == 0) - uri = entry->int_id_.c_str (); - else - { - uri = ACEXML_DEFAULT_NS_PREFIX; - return -1; - } - return 0; -} - -int -ACEXML_NamespaceSupport::reset (void) -{ - while (this->popContext() != -1) - ; - return 0; -} - diff --git a/ACE/ACEXML/common/NamespaceSupport.h b/ACE/ACEXML/common/NamespaceSupport.h deleted file mode 100644 index d81f9303d70..00000000000 --- a/ACE/ACEXML/common/NamespaceSupport.h +++ /dev/null @@ -1,235 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file NamespaceSupport.h - * - * $Id$ - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - */ -//============================================================================= - -#ifndef ACEXML_NAMESPACESUPPORT_H -#define ACEXML_NAMESPACESUPPORT_H - -#include /**/ "ace/pre.h" -#include "ACEXML/common/ACEXML_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ACEXML/common/XML_Types.h" -#include "ace/Functor.h" -#include "ace/Hash_Map_Manager.h" -#include "ace/Containers_T.h" -#include "ace/Null_Mutex.h" - - -typedef ACE_Hash_Map_Entry<ACEXML_String, - ACEXML_String> ACEXML_NS_CONTEXT_ENTRY; - -typedef ACE_Hash_Map_Manager_Ex<ACEXML_String, - ACEXML_String, - ACE_Hash<ACEXML_String>, - ACE_Equal_To<ACEXML_String>, - ACE_Null_Mutex> ACEXML_NS_CONTEXT; - -typedef ACE_Hash_Map_Iterator_Ex<ACEXML_String, - ACEXML_String, - ACE_Hash<ACEXML_String>, - ACE_Equal_To<ACEXML_String>, - ACE_Null_Mutex> ACEXML_NS_CONTEXT_ITER; - -typedef ACE_Hash_Map_Reverse_Iterator_Ex<ACEXML_String, - ACEXML_String, - ACE_Hash<ACEXML_String>, - ACE_Equal_To<ACEXML_String>, - ACE_Null_Mutex> ACEXML_NS_CONTEXT_REVERSE_ITER; - -typedef ACE_Unbounded_Queue<const ACEXML_Char *> ACEXML_STR_LIST; - -/** - * @class ACEXML_Namespace_Context_Stack NamespaceSupport.h "ACEXML/common/NamespaceSupport.h" - * - * @brief ACEXML_Namespace_Context_Stack implements a simple stack - * that ACEXML_NamespaceSupport uses to keep track of namespace scopes. - * - * @sa ACEXML_NamespaceSupport - */ -class ACEXML_Export ACEXML_Namespace_Context_Stack -{ -public: - /// Default constructor. - ACEXML_Namespace_Context_Stack (void); - - /// Destructor. - ~ACEXML_Namespace_Context_Stack (void); - - /// Push the old namespace before entering into a new namespace scope. - int push (ACEXML_NS_CONTEXT * old); - - /// Pop the old namespace when exiting a namespace scope. - ACEXML_NS_CONTEXT *pop (void); - -private: - /// Internal stack structure to hold namespace context. - ACE_Unbounded_Stack<ACEXML_NS_CONTEXT*> stack_; -}; - -/** - * @class ACEXML_NamespaceSupport NamespaceSupport.h "ACEXML/common/NamespaceSupport.h" - * - * @brief ACEXML_NamespaceSupport provides namespace management - * operation for an XML parser. - * - * This class encapsulates the logic of Namespace processing: it - * tracks the declarations currently in force for each context and - * automatically processes qualified XML 1.0 names into their - * Namespace parts; it can also be used in reverse for generating XML - * 1.0 from Namespaces. - * - * Namespace support objects are reusable, but the reset method must - * be invoked between each session. - * - * Here is a simple session (in Java :-p): - * @code - * String parts[] = new String[3]; - * NamespaceSupport support = new NamespaceSupport(); - * - * support.pushContext(); - * support.declarePrefix("", "http://www.w3.org/1999/xhtml"); - * support.declarePrefix("dc", "http://www.purl.org/dc#"); - * - * String parts[] = support.processName("p", parts, false); - * System.out.println("Namespace URI: " + parts[0]); - * System.out.println("Local name: " + parts[1]); - * System.out.println("Raw name: " + parts[2]); - * - * String parts[] = support.processName("dc:title", parts, false); - * System.out.println("Namespace URI: " + parts[0]); - * System.out.println("Local name: " + parts[1]); - * System.out.println("Raw name: " + parts[2]); - * - * support.popContext(); - * @endcode - * - * Note that this class is optimized for the use case where most - * elements do not contain Namespace declarations: if the same - * prefix/URI mapping is repeated for each context (for example), this - * class will be somewhat less efficient. - * - * @sa ACEXML_Exception - */ -class ACEXML_Export ACEXML_NamespaceSupport -{ -public: - /** - * Default constructor. - */ - ACEXML_NamespaceSupport (void); - - /** - * Default destructor. - */ - ~ACEXML_NamespaceSupport (void); - - /** - * Initialize the namespace support object - */ - int init(void); - - /** - * XMLNS default prefix and URI strings. - */ - static const ACEXML_Char *XMLNS_PREFIX; - static const ACEXML_Char *XMLNS; - - /** - * Declare a Namespace prefix. Return -1 if the prefix was illegal - * or an internal error occured. Return 0 if the prefix gets declared - * successfully, 1 if the prefix replaces an existing prefix definition. - */ - int declarePrefix (const ACEXML_Char *prefix, - const ACEXML_Char *uri); - - /** - * Return all prefixes declared in current context in - * the user-supplied list @a prefixes. It is user's reponsibility - * to ensure the list was empty originally. - */ - int getDeclaredPrefixes (ACEXML_STR_LIST &prefixes) const; - - /** - * Return one of the prefixes mapped to a Namespace URI. - */ - const ACEXML_Char *getPrefix (const ACEXML_Char *uri) const; - - /** - * Return all prefixes currently declared in the user-supplied list. - * @@ Known bug: This function should only return user-defined prefixes. - */ - int getPrefixes (ACEXML_STR_LIST &prefixes) const; - - /** - * Return all prefixes currently declared for a URI in the - * user-supplied list. - */ - int getPrefixes (const ACEXML_Char *uri, - ACEXML_STR_LIST &prefixes) const; - - /** - * Look up a prefix and get the currently-mapped Namespace URI. - */ - const ACEXML_Char *getURI (const ACEXML_Char *prefix) const; - - /** - * Revert to the previous namespace context. - */ - int popContext (void); - - /** - * Process a raw XML 1.0 name. - * @a qName is the raw XML name we want to parse, - * @a uri contains the URI string of the raw name. It points to a null - * string if the namespace is not valid or there's no namespace defined. - * @a name contains the original name without the prefix. - * @a is_attribute specifies whether the name is an attribute or not. - * Attributes have different scoping rules from elements. - */ - int processName (const ACEXML_Char *qName, - const ACEXML_Char *&uri, - const ACEXML_Char *&name, - int is_attribute) const; - - /** - * Start a new Namespace context. Prefixes defined in previous - * context are copied over to the new context. - */ - int pushContext (void); - - /** - * Reset this Namespace support object for reuse. - * - */ - int reset (void); - -private: - /** - * Namespace Context stack. When we entering a new namespace - * context, the old context is duplicated and pushed into - * this stack. - */ - ACEXML_Namespace_Context_Stack ns_stack_; - - /** - * The effective namespace context. - */ - ACEXML_NS_CONTEXT *effective_context_; -}; - -#include /**/ "ace/post.h" - -#endif /* ACEXML_NAMESPACESUPPORT_H */ diff --git a/ACE/ACEXML/common/SAXExceptions.cpp b/ACE/ACEXML/common/SAXExceptions.cpp deleted file mode 100644 index de639f0de1b..00000000000 --- a/ACE/ACEXML/common/SAXExceptions.cpp +++ /dev/null @@ -1,250 +0,0 @@ -// -*- C++ -*- $Id$ - -#include "ACEXML/common/SAXExceptions.h" -#include "ace/Log_Msg.h" -#include "ace/ACE.h" -#include "ace/OS_Memory.h" -#include "ace/OS_NS_string.h" - -const ACEXML_Char * ACEXML_SAXException::exception_name_ = ACE_TEXT ("ACEXML_SAXException"); - -const ACEXML_Char ACEXML_SAXNotSupportedException::exception_name_[] = ACE_TEXT ("ACEXML_SAXNotSupportedException"); - -const ACEXML_Char ACEXML_SAXNotRecognizedException::exception_name_[] = ACE_TEXT ("ACEXML_SAXNotRecognizedException"); - -const ACEXML_Char ACEXML_SAXParseException::exception_name_[] = ACE_TEXT ("ACEXML_SAXParseException"); - -#if !defined (__ACEXML_INLINE__) -# include "ACEXML/common/SAXExceptions.inl" -#endif /* __ACEXML_INLINE__ */ - -ACEXML_SAXException::ACEXML_SAXException (void) - : message_ (0) -{ -} - -ACEXML_SAXException::ACEXML_SAXException (const ACEXML_Char *msg) - : message_ (ACE::strnew (msg)) -{ -} - -ACEXML_SAXException::ACEXML_SAXException (const ACEXML_SAXException &ex) - : ACEXML_Exception (ex), - message_ (ACE::strnew (ex.message_)) - -{ -} - -ACEXML_SAXException& -ACEXML_SAXException::operator= (const ACEXML_SAXException& src) -{ - if (this != &src) - { - ACE::strdelete (this->message_); - this->message_ = ACE::strnew (src.message_); - } - - return *this; -} - -ACEXML_SAXException* -ACEXML_SAXException::_downcast (ACEXML_Exception* ex) -{ - return dynamic_cast<ACEXML_SAXException*> (ex); -} - -ACEXML_SAXException::~ACEXML_SAXException (void) -{ - ACE::strdelete (this->message_); -} - -ACEXML_Exception * -ACEXML_SAXException::duplicate (void) const -{ - ACEXML_Exception *tmp; - ACE_NEW_RETURN (tmp, ACEXML_SAXException (*this), 0); - return tmp; -} - -int -ACEXML_SAXException::is_a (const ACEXML_Char *name) -{ - return ACE_OS::strcmp (ACEXML_SAXException::exception_name_, name) == 0 - || this->ACEXML_Exception::is_a (name); -} - -void -ACEXML_SAXException::print (void) const -{ - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("ACEXML: (%P|%t) %s: %s\n"), - this->exception_name_, this->message())); -} - -ACEXML_SAXNotSupportedException::ACEXML_SAXNotSupportedException (void) -{ -} - -ACEXML_SAXNotSupportedException::ACEXML_SAXNotSupportedException (const ACEXML_SAXNotSupportedException &ex) - : ACEXML_SAXException (ex) -{ -} - -ACEXML_SAXNotSupportedException& -ACEXML_SAXNotSupportedException::operator= (const - ACEXML_SAXNotSupportedException &ex) -{ - this->ACEXML_SAXException::operator= (ex); - return *this; -} - -ACEXML_SAXNotSupportedException* -ACEXML_SAXNotSupportedException::_downcast (ACEXML_Exception* ex) -{ - return dynamic_cast<ACEXML_SAXNotSupportedException*> (ex); -} - -ACEXML_SAXNotSupportedException::ACEXML_SAXNotSupportedException (const ACEXML_Char* msg) - : ACEXML_SAXException (msg) -{ -} - -ACEXML_SAXNotSupportedException::~ACEXML_SAXNotSupportedException (void) -{ - delete[] this->message_; -} - - -ACEXML_Exception * -ACEXML_SAXNotSupportedException::duplicate (void) const -{ - ACEXML_Exception *tmp; - ACE_NEW_RETURN (tmp, ACEXML_SAXNotSupportedException (*this), 0); - return tmp; -} - -int -ACEXML_SAXNotSupportedException::is_a (const ACEXML_Char *name) -{ - return ACE_OS::strcmp (ACEXML_SAXNotSupportedException::exception_name_, - name) == 0 - || this->ACEXML_SAXException::is_a (name); -} - -void -ACEXML_SAXNotSupportedException::print (void) const -{ - ACE_DEBUG ((LM_ERROR, - ACE_TEXT ("ACEXML: (%P|%t) %s: %s\n"), - this->exception_name_, this->message())); -} - -ACEXML_SAXNotRecognizedException::ACEXML_SAXNotRecognizedException (void) -{ -} - -ACEXML_SAXNotRecognizedException::ACEXML_SAXNotRecognizedException (const ACEXML_Char *msg) - : ACEXML_SAXException (msg) -{ -} - -ACEXML_SAXNotRecognizedException::ACEXML_SAXNotRecognizedException (const ACEXML_SAXNotRecognizedException &ex) - : ACEXML_SAXException (ex) -{ -} - -ACEXML_SAXNotRecognizedException& -ACEXML_SAXNotRecognizedException::operator= (const ACEXML_SAXNotRecognizedException &ex) -{ - this->ACEXML_SAXException::operator= (ex); - return *this; -} - -ACEXML_SAXNotRecognizedException* -ACEXML_SAXNotRecognizedException::_downcast (ACEXML_Exception* ex) -{ - return dynamic_cast<ACEXML_SAXNotRecognizedException*> (ex); -} - -ACEXML_SAXNotRecognizedException::~ACEXML_SAXNotRecognizedException (void) -{ -} - -ACEXML_Exception * -ACEXML_SAXNotRecognizedException::duplicate (void) const -{ - ACEXML_Exception *tmp; - ACE_NEW_RETURN (tmp, ACEXML_SAXNotRecognizedException (*this), 0); - return tmp; -} - -int -ACEXML_SAXNotRecognizedException::is_a (const ACEXML_Char *name) -{ - return ACE_OS::strcmp (ACEXML_SAXNotRecognizedException::exception_name_, - name) == 0 - || this->ACEXML_SAXException::is_a (name); -} - -void -ACEXML_SAXNotRecognizedException::print (void) const -{ - ACE_DEBUG ((LM_ERROR, - ACE_TEXT ("ACEXML: (%P|%t) %s: %s\n"), - this->exception_name_, this->message())); -} - -ACEXML_SAXParseException::ACEXML_SAXParseException (void) -{ -} - -ACEXML_SAXParseException::ACEXML_SAXParseException (const ACEXML_Char *msg) - : ACEXML_SAXException (msg) -{ -} - -ACEXML_SAXParseException::ACEXML_SAXParseException (const ACEXML_SAXParseException &ex) - : ACEXML_SAXException (ex) -{ -} - -ACEXML_SAXParseException& -ACEXML_SAXParseException::operator= (const ACEXML_SAXParseException &ex) -{ - this->ACEXML_SAXException::operator= (ex); - return *this; -} - -ACEXML_SAXParseException* -ACEXML_SAXParseException::_downcast (ACEXML_Exception* ex) -{ - return dynamic_cast<ACEXML_SAXParseException*> (ex); -} - -ACEXML_SAXParseException::~ACEXML_SAXParseException (void) -{ -} - -ACEXML_Exception * -ACEXML_SAXParseException::duplicate (void) const -{ - ACEXML_Exception *tmp; - ACE_NEW_RETURN (tmp, ACEXML_SAXParseException (*this), 0); - return tmp; -} - -int -ACEXML_SAXParseException::is_a (const ACEXML_Char *name) -{ - return ACE_OS::strcmp (ACEXML_SAXParseException::exception_name_, - name) == 0 - || this->ACEXML_SAXException::is_a (name); -} - -void -ACEXML_SAXParseException::print (void) const -{ - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("ACEXML: (%P|%t) %s: %s\n"), - this->exception_name_, this->message())); -} diff --git a/ACE/ACEXML/common/SAXExceptions.h b/ACE/ACEXML/common/SAXExceptions.h deleted file mode 100644 index ae117ff7bc5..00000000000 --- a/ACE/ACEXML/common/SAXExceptions.h +++ /dev/null @@ -1,208 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file SAXExceptions.h - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - */ -//============================================================================= - -#ifndef _ACEXML_SAXEXCEPTIONS_H_ -#define _ACEXML_SAXEXCEPTIONS_H_ - -#include /**/ "ace/pre.h" -#include "ACEXML/common/ACEXML_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ACEXML/common/Exception.h" - -/** - * @class ACEXML_SAXException SAXExceptions.h "ACEXML/common/SAXExceptions.h" - * - * @brief ACEXML_SAXException - * - * ACEXML_SAXException is the mother of all SAX related exceptions. - */ -class ACEXML_Export ACEXML_SAXException : public ACEXML_Exception -{ -public: - /// Default constructor. - ACEXML_SAXException (void); - - /// Constructor initializing the exception message. - ACEXML_SAXException (const ACEXML_Char *msg); - - /// Assignment operator - ACEXML_SAXException& operator= (const ACEXML_SAXException& src); - - /// Copy constructor. - ACEXML_SAXException (const ACEXML_SAXException &ex); - - /// Destructor. - virtual ~ACEXML_SAXException (void); - - /// Throw the exception. - virtual void _raise (void); - - /// Static narrow operation. - static ACEXML_SAXException* _downcast (ACEXML_Exception* ex); - - /// Return the name of the exception. - virtual const ACEXML_Char *id (void) const; - - /// Return the extra message accompanying the exception. - const ACEXML_Char *message (void) const; - - virtual ACEXML_Exception *duplicate (void) const; - - virtual int is_a (const ACEXML_Char *name); - - virtual void print (void) const; - -protected: - static const ACEXML_Char * exception_name_; - - /// A message providing more information about the exception being thrown. - ACEXML_Char *message_; -}; - -/** - * @class ACEXML_SAXNotSupportedException SAXExceptions.h "ACEXML/common/SAXExceptions.h" - * - * @brief ACEXML_SAXNotSupportedException - */ -class ACEXML_Export ACEXML_SAXNotSupportedException - : public ACEXML_SAXException -{ -public: - /// Default constructor. - ACEXML_SAXNotSupportedException (void); - - /// Copy constructor. - ACEXML_SAXNotSupportedException (const ACEXML_SAXNotSupportedException &ex); - - /// Assignment operator - ACEXML_SAXNotSupportedException& operator= (const ACEXML_SAXNotSupportedException &ex); - - /// Constructor which accepts an informational message - ACEXML_SAXNotSupportedException (const ACEXML_Char* msg); - - /// Destructor. - virtual ~ACEXML_SAXNotSupportedException (void); - - /// Throw the exception. - virtual void _raise (void); - - /// Static narrow operation. - static ACEXML_SAXNotSupportedException* _downcast (ACEXML_Exception* ex); - - virtual const ACEXML_Char *id (void) const; - - virtual ACEXML_Exception *duplicate (void) const; - - virtual int is_a (const ACEXML_Char *name); - - virtual void print (void) const; - -protected: - static const ACEXML_Char exception_name_[]; -}; - -/** - * @class ACEXML_SAXNotRecognizedException SAXExceptions.h "ACEXML/common/SAXExceptions.h" - * - * @brief ACEXML_SAXNotRecognizedException - */ -class ACEXML_Export ACEXML_SAXNotRecognizedException - : public ACEXML_SAXException -{ -public: - /// Default constructor. - ACEXML_SAXNotRecognizedException (void); - - /// Constructor with an initializing exception message. - ACEXML_SAXNotRecognizedException (const ACEXML_Char *msg); - - /// Copy constructor. - ACEXML_SAXNotRecognizedException (const ACEXML_SAXNotRecognizedException &ex); - - /// Assignment operator. - ACEXML_SAXNotRecognizedException& operator= (const ACEXML_SAXNotRecognizedException &ex); - - /// Destructor. - virtual ~ACEXML_SAXNotRecognizedException (void); - - /// Throw the exception. - virtual void _raise (void); - - /// Static narrow operation. - static ACEXML_SAXNotRecognizedException* _downcast (ACEXML_Exception* ex); - - virtual const ACEXML_Char *id (void) const; - - virtual ACEXML_Exception *duplicate (void) const; - - virtual int is_a (const ACEXML_Char *name); - - virtual void print (void) const; - -protected: - static const ACEXML_Char exception_name_[]; -}; - -/** - * @class ACEXML_SAXParseException SAXExceptions.h "ACEXML/common/SAXExceptions.h" - * - * @brief ACEXML_SAXParseException - * - */ -class ACEXML_Export ACEXML_SAXParseException - : public ACEXML_SAXException -{ -public: - /// Default constructor. - ACEXML_SAXParseException (void); - - /// Constructor with an initializing exception message. - ACEXML_SAXParseException (const ACEXML_Char *msg); - - /// Copy constructor. - ACEXML_SAXParseException (const ACEXML_SAXParseException &ex); - - /// Assignment operator. - ACEXML_SAXParseException& operator= (const ACEXML_SAXParseException &ex); - - /// Destructor. - virtual ~ACEXML_SAXParseException (void); - - /// Throw the exception. - virtual void _raise (void); - - /// Static narrow operation. - static ACEXML_SAXParseException* _downcast (ACEXML_Exception* ex); - - virtual const ACEXML_Char *id (void) const; - - virtual ACEXML_Exception *duplicate (void) const; - - virtual int is_a (const ACEXML_Char *name); - - virtual void print (void) const; - -protected: - static const ACEXML_Char exception_name_[]; -}; - -#if defined (__ACEXML_INLINE__) -# include "ACEXML/common/SAXExceptions.inl" -#endif /* __ACEXML_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* _ACEXML_SAXEXCEPTIONS_H_ */ diff --git a/ACE/ACEXML/common/SAXExceptions.inl b/ACE/ACEXML/common/SAXExceptions.inl deleted file mode 100644 index f184fcf077c..00000000000 --- a/ACE/ACEXML/common/SAXExceptions.inl +++ /dev/null @@ -1,57 +0,0 @@ -// -*- C++ -*- $Id$ - -ACEXML_INLINE const ACEXML_Char * -ACEXML_SAXException::message (void) const -{ - return (this->message_ == 0 ? - ACEXML_Exception::null_ : - this->message_); -} - -ACEXML_INLINE void -ACEXML_SAXException::_raise (void) -{ - ACEXML_RAISE (*this); -} - -ACEXML_INLINE void -ACEXML_SAXNotSupportedException::_raise (void) -{ - ACEXML_RAISE (*this); -} - -ACEXML_INLINE void -ACEXML_SAXNotRecognizedException::_raise (void) -{ - ACEXML_RAISE (*this); -} - -ACEXML_INLINE void -ACEXML_SAXParseException::_raise (void) -{ - ACEXML_RAISE (*this); -} - -ACEXML_INLINE const ACEXML_Char * -ACEXML_SAXException::id (void) const -{ - return ACEXML_SAXException::exception_name_; -} - -ACEXML_INLINE const ACEXML_Char * -ACEXML_SAXNotSupportedException::id (void) const -{ - return ACEXML_SAXNotSupportedException::exception_name_; -} - -ACEXML_INLINE const ACEXML_Char * -ACEXML_SAXNotRecognizedException::id (void) const -{ - return ACEXML_SAXNotRecognizedException::exception_name_; -} - -ACEXML_INLINE const ACEXML_Char * -ACEXML_SAXParseException::id (void) const -{ - return ACEXML_SAXParseException::exception_name_; -} diff --git a/ACE/ACEXML/common/StrCharStream.cpp b/ACE/ACEXML/common/StrCharStream.cpp deleted file mode 100644 index 4d0cc429e0e..00000000000 --- a/ACE/ACEXML/common/StrCharStream.cpp +++ /dev/null @@ -1,132 +0,0 @@ -// $Id$ - -#include "ACEXML/common/StrCharStream.h" -#include "ACEXML/common/Encoding.h" -#include "ace/ACE.h" -#include "ace/Log_Msg.h" -#include "ace/OS_NS_string.h" - -ACEXML_StrCharStream::ACEXML_StrCharStream (void) - : start_ (0), ptr_ (0), end_ (0), encoding_ (0), name_ (0) -{ -} - - -ACEXML_StrCharStream::~ACEXML_StrCharStream (void) -{ - this->close(); -} - -int -ACEXML_StrCharStream::open (const ACEXML_Char *str, const ACEXML_Char* name) -{ - - if (str != 0 && name != 0) - { - delete [] this->start_; - if ((this->start_ = ACE::strnew (str)) == 0) - return -1; - delete [] this->name_; - if ((this->name_ = ACE::strnew (name)) == 0) - return -1; - this->ptr_ = this->start_; - this->end_ = this->start_ + ACE_OS::strlen (this->start_); - return this->determine_encoding(); - } - return -1; // Invalid string passed. -} - -int -ACEXML_StrCharStream::available (void) -{ - if (this->start_ != 0) - return static_cast<int> (this->end_ - this->start_); // @@ Will this work on all platforms? - return -1; -} - -int -ACEXML_StrCharStream::close (void) -{ - delete[] this->start_; - delete[] this->encoding_; - this->encoding_ = 0; - delete[] this->name_; - this->name_ = 0; - this->start_ = this->ptr_ = this->end_ = 0; - return 0; -} - -int -ACEXML_StrCharStream::determine_encoding (void) -{ - if (this->start_ == 0) - return -1; - char input[4] = {0,0,0,0}; - char* sptr = (char*)this->start_; - int i = 0; - for ( ; i < 4 && sptr != (char*)this->end_; ++sptr, ++i) - input[i] = *sptr; - const ACEXML_Char* temp = ACEXML_Encoding::get_encoding (input); - if (!temp) - return -1; - else - { - delete [] this->encoding_; - this->encoding_ = ACE::strnew (temp); - // ACE_DEBUG ((LM_DEBUG, "String's encoding is %s\n", this->encoding_)); - } - return 0; -} - -void -ACEXML_StrCharStream::rewind (void) -{ - this->ptr_ = this->start_; - this->determine_encoding(); -} - -int -ACEXML_StrCharStream::get (ACEXML_Char& ch) -{ - if (this->start_ != 0 && this->ptr_ != this->end_) - { - ch = *this->ptr_++; - return 0; - } - return -1; -} - -int -ACEXML_StrCharStream::read (ACEXML_Char *str, size_t len) -{ - if (this->start_ != 0 && - this->ptr_ != this->end_) - { - if (len * sizeof (ACEXML_Char) > (size_t) (this->end_ - this->ptr_)) - len = this->end_ - this->ptr_; - ACE_OS::strncpy (str, this->ptr_, len); - this->ptr_ += len; - return static_cast<int> (len); - } - return 0; -} - -int -ACEXML_StrCharStream::peek (void) -{ - if (this->start_ != 0 && this->ptr_ != this->end_) - return *this->ptr_; - return -1; -} - -const ACEXML_Char* -ACEXML_StrCharStream::getEncoding (void) -{ - return this->encoding_; -} - -const ACEXML_Char* -ACEXML_StrCharStream::getSystemId(void) -{ - return this->name_; -} diff --git a/ACE/ACEXML/common/StrCharStream.h b/ACE/ACEXML/common/StrCharStream.h deleted file mode 100644 index 21de6ecaea4..00000000000 --- a/ACE/ACEXML/common/StrCharStream.h +++ /dev/null @@ -1,102 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file StrCharStream.h - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - */ -//============================================================================= - -#ifndef _ACEXML_STRCHARSTREAM_H_ -#define _ACEXML_STRCHARSTREAM_H_ - -#include /**/ "ace/pre.h" -#include "ACEXML/common/ACEXML_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ACEXML/common/CharStream.h" - -/** - * @class ACEXML_StrCharStream StrCharStream.h "common/StrCharStream.h" - * - * An implementation of ACEXML_CharStream for reading - * input from a null-terminated ACEXML_Char string. - */ -class ACEXML_Export ACEXML_StrCharStream : public ACEXML_CharStream -{ -public: - /// Default constructor. - ACEXML_StrCharStream (void); - - /// Destructor - virtual ~ACEXML_StrCharStream (void); - - /// Initializing StrCharStream with @a str and @a name - int open (const ACEXML_Char *str, const ACEXML_Char* name); - - /** - * Returns the available ACEXML_Char in the buffer. -1 - * if the object is not initialized properly. - */ - virtual int available (void); - - /** - * Close this stream and release all resources used by it. - */ - virtual int close (void); - - /** - * Determine the encoding of the file. - */ - virtual int determine_encoding (void); - - /** - * Read the next ACEXML_Char. Return -1 if we are not able to - * return an ACEXML_Char, 0 if EOS is reached, or 1 if succeed. - */ - virtual int get (ACEXML_Char& ch); - - /** - * Read the next batch of ACEXML_Char strings - */ - virtual int read (ACEXML_Char *str, size_t len); - - /** - * Peek the next ACEXML_Char in the CharStream. Return the - * character if succeess, -1 if EOS is reached. - */ - virtual int peek (void); - - /* - * Get the character encoding for a byte stream or URI. - */ - virtual const ACEXML_Char *getEncoding (void); - - /* - * Get the systemId for the underlying CharStream - */ - virtual const ACEXML_Char* getSystemId (void); - - /** - * Resets the pointer to the beginning of the stream. - */ - virtual void rewind (void); - -private: - ACEXML_Char *start_; - ACEXML_Char *ptr_; - ACEXML_Char *end_; - ACEXML_Char* encoding_; - ACEXML_Char* name_; - -}; - -#include /**/ "ace/post.h" - -#endif /* _ACEXML_STRCHARSTREAM_H_ */ diff --git a/ACE/ACEXML/common/StreamFactory.cpp b/ACE/ACEXML/common/StreamFactory.cpp deleted file mode 100644 index 7cee4c1a65f..00000000000 --- a/ACE/ACEXML/common/StreamFactory.cpp +++ /dev/null @@ -1,56 +0,0 @@ -// $Id$ - -#include "ace/OS_NS_string.h" - -#include "ACEXML/common/StreamFactory.h" -#include "ACEXML/common/FileCharStream.h" -#include "ACEXML/common/HttpCharStream.h" - -#ifdef USE_ZZIP -#include "ACEXML/common/ZipCharStream.h" -#endif /* USE_ZZIP */ - -ACE_RCSID (common, StreamFactory, "$Id$") - -ACEXML_CharStream* -ACEXML_StreamFactory::create_stream (const ACEXML_Char* uri) -{ - if (uri == 0) - return 0; - ACEXML_FileCharStream* fstream = 0; - ACEXML_HttpCharStream* hstream = 0; - - if (ACE_OS::strstr (uri, ACE_TEXT("ftp://")) != 0) - { - return 0; - } - else if (ACE_OS::strstr (uri, ACE_TEXT ("http://")) != 0) - { - ACE_NEW_RETURN (hstream, ACEXML_HttpCharStream, 0); - if (hstream->open (uri) != -1) - return hstream; - } - else - { - if (ACE_OS::strstr (uri, ACE_TEXT ("file://")) != 0) - uri += 7; // Skip over file:// - ACE_NEW_RETURN (fstream, ACEXML_FileCharStream, 0); - if (fstream->open (uri) != -1) - return fstream; -#ifdef USE_ZZIP - else - { - ACEXML_ZipCharStream* zstream = 0; - ACE_NEW_RETURN (zstream, ACEXML_ZipCharStream, 0); - if (zstream->open (uri) != -1) - return zstream; - } -#endif /* USE_ZZIP */ - } - return 0; -} - -ACEXML_StreamFactory::~ACEXML_StreamFactory () -{ - // No op -} diff --git a/ACE/ACEXML/common/StreamFactory.h b/ACE/ACEXML/common/StreamFactory.h deleted file mode 100644 index 9391eb6a299..00000000000 --- a/ACE/ACEXML/common/StreamFactory.h +++ /dev/null @@ -1,58 +0,0 @@ -/** - * @file StreamFactory.h - * - * $Id$ - * - * @author Krishnakumar B <kitty@cs.wustl.edu> - */ - -#ifndef _ACEXML_STREAM_FACTORY_H -#define _ACEXML_STREAM_FACTORY_H - -#include /**/ "ace/pre.h" -#include "ACEXML/common/ACEXML_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ACEXML/common/XML_Types.h" - -// Forward declarations - -class ACEXML_CharStream; - -/** - * @class ACEXML_StreamFactory StreamFactory.h "ACEXML/common/ACEXML_StreamFactory.h" - * - * @brief A generic factory used to create an appropriate @sa - * ACEXML_CharStream from a SYSTEM id. This class creates a @sa - * ACEXML_FileCharStream or a @sa ACEXML_HttpCharStream depending on the - * URI supplied. - * - * @todo Write a stream abstraction for handling ftp:// type URIs and add - * a function to create and return such streams. That is the only chunk - * missing in the armour. - */ - -class ACEXML_Export ACEXML_StreamFactory -{ -public: - - // Destructor - virtual ~ACEXML_StreamFactory (void); - - /** - * Create the appropriate stream from the @a uri passed and return the - * stream. The caller is responsible for deallocating the returned - * stream. - * - * @param uri SYSTEM id or a stream of characters (in the case of a - * StrCharStream). - */ - virtual ACEXML_CharStream* create_stream (const ACEXML_Char* uri); -}; - -#include /**/ "ace/post.h" - -#endif /* _ACEXML_STREAM_FACTORY_H */ diff --git a/ACE/ACEXML/common/Transcode.cpp b/ACE/ACEXML/common/Transcode.cpp deleted file mode 100644 index f94d93bba32..00000000000 --- a/ACE/ACEXML/common/Transcode.cpp +++ /dev/null @@ -1,311 +0,0 @@ -// -*- C++ -*- $Id$ - -#include "ACEXML/common/Transcode.h" -#include "ace/OS_NS_string.h" - -int -ACEXML_Transcoder::utf162utf8 (ACEXML_UTF16 src, - ACEXML_UTF8 *dst, - size_t len) -{ - // Check for valid argument first... - - if (dst == 0) - return ACEXML_INVALID_ARGS; - - if (src < 0x80) - { - if (len < 1) - return ACEXML_DESTINATION_TOO_SHORT; - - *dst = static_cast<ACEXML_UTF8> (src); - return 1; - } - else if (src < 0x800) - { - if (len < 2) - return ACEXML_DESTINATION_TOO_SHORT; - - *dst = 0xc0 | (static_cast<ACEXML_UTF8> (src) / 0x40); - *(dst+1) = 0x80 | (static_cast<ACEXML_UTF8> (src) % 0x40); - return 2; - } - else - { - if (len < 3) - return ACEXML_DESTINATION_TOO_SHORT; - - // Surrogates (0xD800 - 0xDFFF) are not valid unicode values - if (src >= 0xD800 && src < 0xE000) - return ACEXML_IS_SURROGATE; - - *dst = 0xe0 | (static_cast<ACEXML_UTF8> (src) / 0x1000); - *(dst+1) = 0x80 | ((static_cast<ACEXML_UTF8> (src) % 0x1000) / 0x40); - *(dst+2) = 0x80 | (static_cast<ACEXML_UTF8> (src) % 0x40); - return 3; - } -} - -int -ACEXML_Transcoder::ucs42utf8 (ACEXML_UCS4 src, - ACEXML_UTF8 *dst, - size_t len) -{ - if (src < 0x10000) - { - int retv = ACEXML_Transcoder::utf162utf8 - (static_cast<ACEXML_UTF16> (src), - dst, len); - return (retv == ACEXML_IS_SURROGATE ? ACEXML_NON_UNICODE : retv); - } - else if (src >= 0x100000 && src < 0x110000) - { - if (len < 4) - return ACEXML_DESTINATION_TOO_SHORT; - - if (dst == 0) - return ACEXML_INVALID_ARGS; - - *dst = 0xf0 | (static_cast<ACEXML_UTF8> (src / 0x40000)); - *(dst+1) = 0x80 | ((static_cast<ACEXML_UTF8> (src % 0x40000)) / 0x1000); - *(dst+2) = 0x80 | ((static_cast<ACEXML_UTF8> (src % 0x1000)) / 0x40); - *(dst+3) = 0x80 | (static_cast<ACEXML_UTF8> (src % 0x40)); - return 4; - } - return ACEXML_NON_UNICODE; -} - - -int -ACEXML_Transcoder::ucs42utf16 (ACEXML_UCS4 src, - ACEXML_UTF16 *dst, - size_t len) -{ - if (dst == 0) - return ACEXML_INVALID_ARGS; - - if (src < 0x10000) - { - if (len < 1) - return ACEXML_DESTINATION_TOO_SHORT; - - if (src >= 0xD800 && src < 0xE000) - return ACEXML_NON_UNICODE; // Surrogates are not valid unicode value - - *dst = static_cast<ACEXML_UTF16> (src); - return 1; - } - else if (src >= 0x100000 && src < 0x110000) - // Scalar values are encoded into surrogates - { - if (len < 2) - return ACEXML_DESTINATION_TOO_SHORT; - - *dst = 0xD800 | (static_cast<ACEXML_UTF16> (src) / 0x400); - *(dst+1) = 0xDC00 | (static_cast<ACEXML_UTF16> (src) % 0x400); - return 2; - } - - return ACEXML_NON_UNICODE; -} - -int -ACEXML_Transcoder::surrogate2utf8 (ACEXML_UTF16 high, - ACEXML_UTF16 low, - ACEXML_UTF8 *dst, - size_t len) -{ - if (len < 3) - return ACEXML_DESTINATION_TOO_SHORT; - - if (dst == 0 || - (high >= 0xD800 && high < 0xDC00) || - (low >= 0xDC00 && low < 0xE000)) - return ACEXML_INVALID_ARGS; - - ACEXML_UCS4 src = (high - 0xD800) * 0x400 + (low - 0xDC00) + 0x10000; - *dst = static_cast<ACEXML_UTF8> (0xD800 | (src / 0x400)); - *(dst+1) = static_cast<ACEXML_UTF8> (0xDC00 | (src % 0x400)); - return 2; -} - -int -ACEXML_Transcoder::surrogate2ucs4 (ACEXML_UTF16 high, - ACEXML_UTF16 low, - ACEXML_UCS4 &dst) -{ - if ((high >= 0xD800 && high < 0xDC00) || - (low >= 0xDC00 && low < 0xE000)) - return ACEXML_INVALID_ARGS; - - dst = (high - 0xD800) * 0x400 + (low - 0xDC00) + 0x10000; - return ACEXML_SUCCESS; -} - -int -ACEXML_Transcoder::utf82ucs4 (const ACEXML_UTF8 *the_src, - size_t len, - ACEXML_UCS4 &dst) -{ - if (the_src == 0) - return ACEXML_INVALID_ARGS; - - const unsigned char *src = reinterpret_cast<const unsigned char *> (the_src); - - size_t forward = 1; - - if (forward > len) - return ACEXML_END_OF_SOURCE; - - if (static_cast<unsigned char> (*src) < 0x80) - dst = *src; - else if ((*src & 0xE0) == 0xC0) - { - dst = (*(src++) & 0x1f) * 0x40; - if (++forward > len) - return ACEXML_END_OF_SOURCE; - if ((*src & 0xC0) != 0x80) - return ACEXML_NON_UNICODE; // Error transcoding unicode scalar - dst += *src & 0x3f; - } - else if ((*src & 0xF0) == 0xE0) - { - dst = (*src++ & 0x0f) * 0x40; - if (++forward > len) - return ACEXML_END_OF_SOURCE; - if ((*src & 0xC0) != 0x80) - return ACEXML_NON_UNICODE; - dst = (dst + (*src++ & 0x3f)) * 0x40; - if (++forward > len) - return ACEXML_END_OF_SOURCE; - if ((*src & 0xC0) != 0x80) - return ACEXML_NON_UNICODE; - dst += *src & 0x3f; - } - else if ((*src & 0xF8) == 0xF0) - { - dst = (*src++ & 0x0f) * 0x40; - if (++forward > len) - return ACEXML_END_OF_SOURCE; - if ((*src & 0xC0) != 0x80) - return ACEXML_NON_UNICODE; - dst = (dst + (*src++ & 0x3f)) * 0x40; - if (++forward > len) - return ACEXML_END_OF_SOURCE; - if ((*src & 0xC0) != 0x80) - return ACEXML_NON_UNICODE; - dst = (dst + (*src++ & 0x3f)) * 0x40; - if (++forward > len) - return ACEXML_END_OF_SOURCE; - if ((*src & 0xC0) != 0x80) - return ACEXML_NON_UNICODE; - dst += *src & 0x3f; - } - else - return ACEXML_NON_UNICODE; - - return forward; -} - -int -ACEXML_Transcoder::utf162ucs4 (const ACEXML_UTF16 *src, - size_t len, - ACEXML_UCS4 &dst) -{ - if (src == 0) - return ACEXML_INVALID_ARGS; - - size_t forward = 1; - if (*src >= 0xDC00 && *src < 0xE000) - { - if (len < 2) - return ACEXML_END_OF_SOURCE; - return ACEXML_Transcoder::surrogate2ucs4 (*src, - *(src+1), - dst); - } - else - { - if (len < 1) - return ACEXML_END_OF_SOURCE; - dst = *src; - } - - return forward; -} - -int -ACEXML_Transcoder::utf8s2utf16s (const ACEXML_UTF8 *src, - ACEXML_UTF16 *dst, - size_t len) -{ - if (src == 0 || dst == 0) - return ACEXML_INVALID_ARGS; - - size_t src_len = ACE_OS::strlen (src) + 1; - - size_t total_len = 0; - int forward; - ACEXML_UCS4 temp; - - while (src_len > 0) - { - if ((forward = ACEXML_Transcoder::utf82ucs4 (src, - src_len, - temp)) <= 0) - return forward; - - src += forward; - src_len -= forward; - - if ((forward = ACEXML_Transcoder::ucs42utf16 (temp, - dst, - len)) <= 0) - return forward; - - total_len += forward; - dst += forward; - len -= forward; - } - - return static_cast<int> (total_len); -} - -int -ACEXML_Transcoder::utf16s2utf8s (const ACEXML_UTF16 *src, - ACEXML_UTF8 *dst, - size_t len) -{ - if (src == 0 || dst == 0) - return ACEXML_INVALID_ARGS; - - size_t src_len = 1; - for (const ACEXML_UTF16 *p = src; *p++ != 0; ++src_len) - ; - - size_t total_len = 0; - int forward; - ACEXML_UCS4 temp; - - while (src_len > 0) - { - if ((forward = ACEXML_Transcoder::utf162ucs4 (src, - src_len, - temp)) <= 0) - return forward; - - src += forward; - src_len -= forward; - - if ((forward = ACEXML_Transcoder::ucs42utf8 (temp, - dst, - len)) <= 0) - return forward; - - total_len += forward; - dst += forward; - len -= forward; - } - - return static_cast<int> (total_len); -} diff --git a/ACE/ACEXML/common/Transcode.h b/ACE/ACEXML/common/Transcode.h deleted file mode 100644 index 1acf294c7aa..00000000000 --- a/ACE/ACEXML/common/Transcode.h +++ /dev/null @@ -1,172 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Transcode.h - * - * This file declares functions to convert char string among different - * unicode encoding (utf8, utf16, utf32) - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - */ -//============================================================================= - -#ifndef _ACEXML_TRANSCODE_H_ -#define _ACEXML_TRANSCODE_H_ - -#include /**/ "ace/pre.h" -#include "ACEXML/common/ACEXML_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ACEXML/common/XML_Types.h" - -/** - * @class ACEXML_Transcoder Transcode.h "ACEXML/common/Transcode.h" - * - * @brief ACEXML_Transcoder - * - * Wrapper class for performing transcoding among different UNICODE - * encoding. - */ -class ACEXML_Export ACEXML_Transcoder -{ -public: - /* - * Status of the conversion function. - */ - enum - { - ACEXML_SUCCESS = 0, - ACEXML_DESTINATION_TOO_SHORT = -1, - ACEXML_END_OF_SOURCE = -2, - ACEXML_INVALID_ARGS = -3, - ACEXML_IS_SURROGATE = -4, - ACEXML_NON_UNICODE = -5 - } ACEXML_STATUS; - - - // The following functions translate a unicode characters - // into different encoding. Return number of characters put into - // destination or consumed from src if success without - // error, otherwise, return corresponding error code. - /* - * Convert a UTF-16 character into a string in UTF-8 encoding. - * - * @return number of characters the function uses to store the - * converted string if it succeeds or one of the error STATUS - * otherwise. - */ - static int utf162utf8 (ACEXML_UTF16 src, - ACEXML_UTF8 *dst, - size_t len); - - /* - * Convert a UCS-4 character into a string in UTF-8 encoding. - * - * @return number of characters the function uses to store the - * converted string if it succeeds or one of the error STATUS - * otherwise. - */ - static int ucs42utf8 (ACEXML_UCS4 src, - ACEXML_UTF8 *dst, - size_t len); - - /* - * Convert a UCS-4 character into a string in UTF-16 encoding. - * - * @return number of characters the function uses to store the - * converted string if it succeeds or one of the error STATUS - * otherwise. - */ - static int ucs42utf16 (ACEXML_UCS4 src, - ACEXML_UTF16 *dst, - size_t len); - - /* - * Convert a UTF-16 surrogate character pair into a string in UTF-8 encoding. - * - * @return number of characters the function uses to store the - * converted string if it succeeds or one of the error STATUS - * otherwise. - */ - static int surrogate2utf8 (ACEXML_UTF16 high, - ACEXML_UTF16 low, - ACEXML_UTF8 *dst, - size_t len); - - /* - * Convert a UTF-16 surrogate character pair into a UCS-4 character. - * - * @return SUCCESS if it succeeds or one of the error STATUS - * otherwise. - */ - static int surrogate2ucs4 (ACEXML_UTF16 high, - ACEXML_UTF16 low, - ACEXML_UCS4 &dst); - - /* - * Convert the first UNICODE character in a UTF-8 character string - * into a UCS-4 character. - * - * @return number of characters the function consumed from the - * UTF-8 string if it succeeds or one of the error STATUS - * otherwise. - */ - static int utf82ucs4 (const ACEXML_UTF8 *src, - size_t len, - ACEXML_UCS4 &dst); - - /* - * Convert the first UNICODE character in a UTF-16 character string - * into a UCS-4 character. - * - * @return number of characters the function consumed from the - * UTF-16 string if it succeeds or one of the error STATUS - * otherwise. - */ - static int utf162ucs4 (const ACEXML_UTF16 *src, - size_t len, - ACEXML_UCS4 &dst); - -// static int utf82utf16 (const ACEXML_UTF8 *src, -// size_t len, -// ACEXML_UTF16 &dst); - // This function does not handle surrogates. - - // = The following functions are non-inlined: - - /* - * Convert a UTF-8 string into a UTF-16 string. - * - * @param len The length of @a dst string. - * - * @return number of characters the function consumed from the - * UTF-8 string if it succeeds or one of the error STATUS - * otherwise. - */ - static int utf8s2utf16s (const ACEXML_UTF8 *src, - ACEXML_UTF16 *dst, - size_t len); - - /* - * Convert a UTF-16 string into a UTF-8 string. - * - * @param len The length of @a dst string. - * - * @return number of characters the function uses in - * UTF-8 string if it succeeds or one of the error STATUS - * otherwise. - */ - static int utf16s2utf8s (const ACEXML_UTF16 *src, - ACEXML_UTF8 *dst, - size_t len); -}; - -#include /**/ "ace/post.h" - -#endif /* _ACEXML_TRANSCODE_H_ */ diff --git a/ACE/ACEXML/common/URL_Addr.cpp b/ACE/ACEXML/common/URL_Addr.cpp deleted file mode 100644 index 1d77c6da762..00000000000 --- a/ACE/ACEXML/common/URL_Addr.cpp +++ /dev/null @@ -1,178 +0,0 @@ -// $Id$ - -#include "ACEXML/common/URL_Addr.h" - -ACE_RCSID(common, ACEXML_URL_Addr, "$Id$") - -#if !defined (__ACEXML_INLINE__) -#include "ACEXML/common/URL_Addr.inl" -#endif /* __ACEXML_INLINE__ */ - -#include "ace/Log_Msg.h" -#include "ace/Auto_Ptr.h" -#include "ace/OS_Memory.h" -#include "ace/OS_NS_stdio.h" -#include "ace/OS_NS_stdlib.h" -#include "ace/OS_NS_string.h" - -ACEXML_URL_Addr::ACEXML_URL_Addr (void) - : path_name_ (0), - addr_string_ (0), - addr_string_len_ (0) -{ -} - -int -ACEXML_URL_Addr::addr_to_string (ACEXML_Char *s, - size_t size, - int ipaddr_format) const -{ - size_t total_len = this->calculate_length (ipaddr_format); - if (size < total_len) - return -1; - else - { - ACE_OS::sprintf (s, ACE_TEXT ("%s:%d/%s"), - ACE_TEXT_CHAR_TO_TCHAR (ipaddr_format == 0 - ? this->get_host_name () - : this->get_host_addr ()), - this->get_port_number (), - this->get_path_name ()); - return 0; - } -} - -const ACEXML_Char * -ACEXML_URL_Addr::addr_to_string (int ipaddr_format) -{ - size_t size = this->calculate_length (ipaddr_format); - if (size > this->addr_string_len_) - { - ACE_ALLOCATOR_RETURN (this->addr_string_, - (ACEXML_Char *) ACE_OS::realloc(this->addr_string_, - size), 0); - this->addr_string_len_ = size; - } - ACE_OS::sprintf (this->addr_string_, - ACE_TEXT ("%s:%d/%s"), - ACE_TEXT_CHAR_TO_TCHAR (ipaddr_format == 0 - ? this->get_host_name () - : this->get_host_addr ()), - this->get_port_number (), - this->get_path_name ()); - return this->addr_string_; -} - -#if defined (ACE_USES_WCHAR) -int -ACEXML_URL_Addr::string_to_addr (const char* s, - int address_family) -{ - return this->string_to_addr (ACE_TEXT_CHAR_TO_TCHAR (s), address_family); -} -#endif /* ACE_USES_WCHAR */ - -int -ACEXML_URL_Addr::string_to_addr (const ACEXML_Char* s, - int /*address_family */) -{ - if (s == 0) - return -1; - - const ACEXML_Char* http = ACE_TEXT ("http://"); - size_t http_len = ACE_OS::strlen (http); - - // Check validity of URL - if (ACE_OS::strncmp (http, s, http_len) != 0) - ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("Invalid URL %s\n"), s), -1); - - const ACEXML_Char* url = 0; - // Get the host name - for (url = s + http_len; *url != '\0' && *url != ':' && *url != '/'; ++url) - ; - - size_t host_len = url - s; - host_len -= http_len; - - ACEXML_Char* host_name = 0; - ACE_NEW_RETURN (host_name, ACEXML_Char[host_len + 1], -1); - ACE_OS::strncpy (host_name, s + http_len, host_len); - host_name[host_len] = '\0'; - ACE_Auto_Basic_Array_Ptr<ACEXML_Char> cleanup_host_name (host_name); - - // Get the port number (if any) - unsigned short port = ACE_DEFAULT_HTTP_PORT; - if (*url == ':') - { - port = (unsigned short) ACE_OS::strtol (++url, 0, 10); // Skip over ':' - while ( *url != '\0' && *url != '/' ) - ++url; - } - - // Set the addr - int result = this->ACE_INET_Addr::set (port, host_name); - - if (result == -1) - return -1; - - // Get the path name - const ACEXML_Char* path_name = 0; - if (*url == '\0') - path_name = ACE_TEXT ("/"); - else - path_name = url; - - ACE_ALLOCATOR_RETURN (this->path_name_, ACE_OS::strdup (path_name), -1); - return result; -} - -ACEXML_URL_Addr::ACEXML_URL_Addr (const ACEXML_URL_Addr &addr) - : ACE_INET_Addr (), - path_name_ (0), - addr_string_ (0), - addr_string_len_ (0) -{ - if (this->set (addr) == -1) - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("%p\n"), - ACE_TEXT ("ACEXML_URL_Addr::ACEXML_URL_Addr"))); -} - -int -ACEXML_URL_Addr::set (const ACEXML_URL_Addr &addr) -{ - ACE_OS::free (this->path_name_); - ACE_OS::free (this->addr_string_); - if (this->ACE_INET_Addr::set (addr) == -1) - return -1; - else - { - if (addr.path_name_) - ACE_ALLOCATOR_RETURN (this->path_name_, - ACE_OS::strdup (addr.path_name_), - -1); - if (addr.addr_string_) - ACE_ALLOCATOR_RETURN (this->addr_string_, - ACE_OS::strdup (addr.addr_string_), - -1); - this->addr_string_len_ = addr.addr_string_len_; - return 0; - } -} - -ACEXML_URL_Addr::ACEXML_URL_Addr (const ACEXML_Char *host_name, - const ACEXML_Char *path_name, - unsigned short port) - : ACE_INET_Addr (port, host_name), - path_name_ (ACE_OS::strdup (path_name)), - addr_string_ (0), - addr_string_len_ (0) -{ -} - -ACEXML_URL_Addr::~ACEXML_URL_Addr (void) -{ - ACE_OS::free (this->path_name_); - ACE_OS::free (this->addr_string_); - this->path_name_ = 0; -} diff --git a/ACE/ACEXML/common/URL_Addr.h b/ACE/ACEXML/common/URL_Addr.h deleted file mode 100644 index 3c6145c2c0d..00000000000 --- a/ACE/ACEXML/common/URL_Addr.h +++ /dev/null @@ -1,137 +0,0 @@ -/* -*- C++ -*- */ - -/** @file URL_Addr.h - * - * $Id$ - * - * @author Douglas C. Schmidt <schmidt@cs.wustl.edu> - * @author Krishnakumar B <kitty@cs.wustl.edu> - * - */ - -#ifndef _ACEXML_URL_ADDR_H -#define _ACEXML_URL_ADDR_H - -#include /**/ "ace/pre.h" -#include "ACEXML/common/ACEXML_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Default_Constants.h" -#include "ace/INET_Addr.h" -#include "ACEXML/common/XML_Types.h" -#include "ACEXML/common/ACEXML_Export.h" - -/** - * @class ACEXML_URL_Addr URL_Addr.h "ACEXML/common/URL_Addr.h" - * - * Defines a URL address family address format. - */ -class ACEXML_Export ACEXML_URL_Addr : public ACE_INET_Addr -{ -public: - /// Initialization and termination methods. - ACEXML_URL_Addr (void); - - /// Constructor. - ACEXML_URL_Addr (const ACEXML_Char *host_name, - const ACEXML_Char *path_name, - unsigned short port = ACE_DEFAULT_HTTP_PORT); - - /// Copy constructor. - ACEXML_URL_Addr (const ACEXML_URL_Addr &addr); - - /// Essentially the copy constructor. - int set (const ACEXML_URL_Addr &addr); - - /** - * Initializes an <ACEXML_URL_Addr> from the <address>, which can be - * "ip-number:port-number/path-name" (e.g., - * "www.cs.wustl.edu:1234/~schmidt/" "ip-number:port-number/path-name" - * (e.g., "128.252.166.57:1234/~schmidt"). If there is no ':' in the - * <address> it is assumed to be an ip-number or ip-address number, with - * the port number <ACE_DEFAULT_HTTP_PORT>. - */ - virtual int string_to_addr (const ACEXML_Char* address, - int address_family = AF_UNSPEC); - - // Function to shut up Borland C++ -#if defined (ACE_USES_WCHAR) - virtual int string_to_addr (const char* addresss, - int address_family = AF_UNSPEC); -#endif - - /** - * Transform the current <ACE_INET_Addr> address into string format. If - * <ipaddr_format> is non-0 this produces - * "ip-number:port-number/path-name" (e.g., - * "128.252.166.57:80/~schmidt/"), whereas if <ipaddr_format> is 0 this - * produces "ip-name:port-number" (e.g., - * "www.cs.wustl.edu:80/~schmidt/"). Returns -1 if the <size> of the - * <buffer> is too small, else 0. - */ - virtual int addr_to_string (ACEXML_Char *s, - size_t size, - int ipaddr_format = 1) const; - - /** - * Transform the current <ACE_INET_Addr> address into string format. If - * <ipaddr_format> is non-0 this produces - * "ip-number:port-number/path-name" (e.g., - * "128.252.166.57:80/~schmidt/"), whereas if <ipaddr_format> is 0 this - * produces "ip-name:port-number" (e.g., - * "www.cs.wustl.edu:80/~schmidt/"). Uses dynamic memory, which is - * allocated on demand and deallocated when the object is destroyed. - * Returns -1 if dynamic memory fails, else 0. - */ - virtual const ACEXML_Char *addr_to_string (int ipaddr_format = 1); - - /// Assignment operator. - void operator= (const ACEXML_URL_Addr &addr); - - /// Destructor. - ~ACEXML_URL_Addr (void); - - /** - * Compare two addresses for equality. The addresses are considered - * equal if they contain the same IP address, port number, and path name. - */ - bool operator == (const ACEXML_URL_Addr &SAP) const; - - /// Compare two addresses for inequality. - bool operator != (const ACEXML_URL_Addr &SAP) const; - - /// Computes and returns hash value. - virtual u_long hash (void) const; - - /// Return the path name. - const ACEXML_Char *get_path_name (void) const; - - /// Commit suicide. - int destroy (void); - -private: - - /// Calculate the maximum length of the address string - size_t calculate_length (int ipaddr_format) const; - - /// Our path name. - ACEXML_Char *path_name_; - - /// The dynamically created address string that's used for the - /// <addr_to_string> method. - ACEXML_Char *addr_string_; - - /// Current length of the <addr_string_> - size_t addr_string_len_; -}; - -#if defined (__ACEXML_INLINE__) -# include "ACEXML/common/URL_Addr.inl" -#endif /* __ACEXML_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* _ACEXML_URL_ADDR_H */ diff --git a/ACE/ACEXML/common/URL_Addr.inl b/ACE/ACEXML/common/URL_Addr.inl deleted file mode 100644 index b1ac1db8322..00000000000 --- a/ACE/ACEXML/common/URL_Addr.inl +++ /dev/null @@ -1,65 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -#include "ace/ACE.h" -#include "ace/INET_Addr.h" -#include "ace/Log_Msg.h" -#include "ace/OS_NS_string.h" - -ACE_INLINE size_t -ACEXML_URL_Addr::calculate_length (int ipaddr_format) const -{ - return ACE_OS::strlen (ipaddr_format == 0 ? - this->get_host_name () : this->get_host_addr ()) - + ACE_OS::strlen ("65536") // Assume the max port number. - + ACE_OS::strlen (this->get_path_name ()) - + sizeof (':') - + sizeof ('/') - + sizeof ('\0'); // For trailing '\0'. -} - -ACE_INLINE void -ACEXML_URL_Addr::operator= (const ACEXML_URL_Addr &addr) -{ - if (this->set (addr) == -1) - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("%p\n"), - ACE_TEXT ("ACEXML_URL_Addr::ACEXML_URL_Addr"))); -} - -ACE_INLINE u_long -ACEXML_URL_Addr::hash (void) const -{ - u_long result = this->ACE_INET_Addr::hash () - + ACE::hash_pjw (this->get_path_name ()); - return result; -} - -ACE_INLINE bool -ACEXML_URL_Addr::operator== (const ACEXML_URL_Addr &addr) const -{ - return ACE_OS::strcmp (addr.get_path_name (), this->get_path_name ()) == 0 - && addr.get_port_number () == this->get_port_number () - && addr.get_ip_address () == this->get_ip_address (); -} - -ACE_INLINE bool -ACEXML_URL_Addr::operator!= (const ACEXML_URL_Addr &addr) const -{ - return !(*this == addr); -} - -ACE_INLINE const ACEXML_Char * -ACEXML_URL_Addr::get_path_name (void) const -{ - return this->path_name_; -} - -ACE_INLINE int -ACEXML_URL_Addr::destroy (void) -{ - // Commit suicide. - delete this; - return 0; -} diff --git a/ACE/ACEXML/common/Validator.cpp b/ACE/ACEXML/common/Validator.cpp deleted file mode 100644 index cf3ce502200..00000000000 --- a/ACE/ACEXML/common/Validator.cpp +++ /dev/null @@ -1,8 +0,0 @@ -// $Id$ - -#include "ACEXML/common/Validator.h" - -ACEXML_Validator::~ACEXML_Validator () -{ - -} diff --git a/ACE/ACEXML/common/Validator.h b/ACE/ACEXML/common/Validator.h deleted file mode 100644 index fad96bf2f91..00000000000 --- a/ACE/ACEXML/common/Validator.h +++ /dev/null @@ -1,64 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Validator.h - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - */ -//============================================================================= -#ifndef _ACEXML_VALIDATOR_H_ -#define _ACEXML_VALIDATOR_H_ - -#include /**/ "ace/pre.h" -#include "ACEXML/common/ACEXML_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ACEXML/common/Attributes.h" -#include "ACEXML/common/Env.h" -#include "ACEXML/common/SAXExceptions.h" - -/** - * @class ACEXML_Validator Validator.h "common/Validator.h" - * - * @brief An abstract virtual class defining validator interface. - * - * An validator provides validation service for one XML element. - * ACEXML_Validators are stateful object. Implementations should - * remember the current element encountered and determine if - * it's a valid sequence of child elements. A parser fishes - * out a validator of certain - */ -class ACEXML_Export ACEXML_Validator -{ -public: - virtual ~ACEXML_Validator () = 0; - - /** - * Validate attributes of an element. - * - * @retval 0 if valid, -1 otherwise. - */ - virtual int startElement (ACEXML_Attributes *atts ACEXML_ENV_ARG_DECL) - = 0; - - /** - * Validate the next child element. - * - * @retval 0 if valid, -1 otherwise. - */ - virtual int nextElement (const ACEXML_Char *namespaceURI, - const ACEXML_Char *localName, - const ACEXML_Char *qName ACEXML_ENV_ARG_DECL) - = 0; -}; - - -#include /**/ "ace/post.h" - -#endif /* _ACEXML_VALIDATOR_H_ */ diff --git a/ACE/ACEXML/common/XMLFilter.h b/ACE/ACEXML/common/XMLFilter.h deleted file mode 100644 index c012ee706e2..00000000000 --- a/ACE/ACEXML/common/XMLFilter.h +++ /dev/null @@ -1,56 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file XMLFilter.h - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - */ -//============================================================================= -#ifndef _ACEXML_XMLFILTER_H_ -#define _ACEXML_XMLFILTER_H_ - -#include /**/ "ace/pre.h" -#include "ACEXML/common/ACEXML_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ACEXML/common/XMLReader.h" - -/** - * @class ACEXML_XMLFilter XMLFilter.h "ACEXML/common/XMLFilter.h" - * - * @brief ACEXML_XMLFilter - * - * An XML filter is like an XML reader, except that it obtains its events - * from another XML reader rather than a primary source like an XML - * document or database. Filters can modify a stream of events as they pass - * on to the final application. - * - * The XMLFilterImpl helper class provides a convenient base for creating - * SAX2 filters, by passing on all ACEXML_EntityResolver, - * ACEXML_DTDHandler, ACEXML_ContentHandler and ACEXML_ErrorHandler events - * automatically. - */ -class ACEXML_Export ACEXML_XMLFilter : public ACEXML_XMLReader -{ -public: - /** - * Get the parent reader. - */ - virtual ACEXML_XMLReader *getParent (void) const = 0; - - /** - * Set the parent reader. - */ - virtual void setParent (ACEXML_XMLReader *parent) = 0; -}; - - -#include /**/ "ace/post.h" - -#endif /* _ACEXML_XMLFILTER_H_ */ diff --git a/ACE/ACEXML/common/XMLFilterImpl.cpp b/ACE/ACEXML/common/XMLFilterImpl.cpp deleted file mode 100644 index 6e5be6b7efa..00000000000 --- a/ACE/ACEXML/common/XMLFilterImpl.cpp +++ /dev/null @@ -1,314 +0,0 @@ -// -*- C++ -*- $Id$ - -#include "ACEXML/common/XMLFilterImpl.h" - -#if !defined (__ACEXML_INLINE__) -# include "ACEXML/common/XMLFilterImpl.inl" -#endif /* __ACEXML_INLINE__ */ - -ACEXML_XMLFilterImpl::ACEXML_XMLFilterImpl (void) - : parent_ (0), - locator_ (0), - entityResolver_ (0), - dtdHandler_ (0), - contentHandler_ (0), - errorHandler_ (0) -{ -} - -ACEXML_XMLFilterImpl::ACEXML_XMLFilterImpl (ACEXML_XMLReader *parent) - : parent_ (parent), - locator_ (0), - entityResolver_ (0), - dtdHandler_ (0), - contentHandler_ (0), - errorHandler_ (0) -{ -} - -ACEXML_XMLFilterImpl::~ACEXML_XMLFilterImpl (void) -{ - // @@ How are all the object lifecycles managed? -} - -void -ACEXML_XMLFilterImpl::parse (ACEXML_InputSource *input ACEXML_ENV_ARG_DECL) -{ - if (this->setupParser () < 0) - { - ACEXML_THROW (ACEXML_SAXException (ACE_TEXT ("No Parent available"))); - } - this->parent_->parse (input ACEXML_ENV_ARG_PARAMETER); - return; -} - -void -ACEXML_XMLFilterImpl::parse (const ACEXML_Char *systemId ACEXML_ENV_ARG_DECL) -{ - if (this->setupParser () < 0) - { - ACEXML_THROW (ACEXML_SAXException (ACE_TEXT ("No Parent available"))); - } - - this->parent_->parse (new ACEXML_InputSource (systemId) ACEXML_ENV_ARG_PARAMETER); - return; -} - -int -ACEXML_XMLFilterImpl::getFeature (const ACEXML_Char *name ACEXML_ENV_ARG_DECL) -{ - if (this->parent_ != 0) - return this->parent_->getFeature (name ACEXML_ENV_ARG_PARAMETER); - - ACEXML_THROW_RETURN (ACEXML_SAXNotRecognizedException (name), 0); -} - -void * -ACEXML_XMLFilterImpl::getProperty (const ACEXML_Char *name ACEXML_ENV_ARG_DECL) -{ - if (this->parent_ != 0) - return this->parent_->getProperty (name ACEXML_ENV_ARG_PARAMETER); - - ACEXML_THROW_RETURN (ACEXML_SAXNotRecognizedException (name), 0); -} - -void -ACEXML_XMLFilterImpl::setFeature (const ACEXML_Char *name, - int boolean_value ACEXML_ENV_ARG_DECL) -{ - if (this->parent_ != 0) - { - this->parent_->setFeature (name, - boolean_value ACEXML_ENV_ARG_PARAMETER); - return; - } - - ACEXML_THROW (ACEXML_SAXNotRecognizedException (name)); -} - -void -ACEXML_XMLFilterImpl::setProperty (const ACEXML_Char *name, - void *value ACEXML_ENV_ARG_DECL) -{ - if (this->parent_ != 0) - { - this->parent_->setProperty (name, - value ACEXML_ENV_ARG_PARAMETER); - return; - } - - ACEXML_THROW (ACEXML_SAXNotRecognizedException (name)); -} - -ACEXML_XMLReader * -ACEXML_XMLFilterImpl::getParent (void) const -{ - return this->parent_; -} - -void -ACEXML_XMLFilterImpl::setParent (ACEXML_XMLReader *parent) -{ - this->parent_ = parent; -} - -void -ACEXML_XMLFilterImpl::characters (const ACEXML_Char *ch, - size_t start, - size_t length - ACEXML_ENV_ARG_DECL) -{ - if (this->contentHandler_ != 0) - this->contentHandler_->characters (ch, start, length ACEXML_ENV_ARG_PARAMETER); -} - -void -ACEXML_XMLFilterImpl::endDocument (ACEXML_ENV_SINGLE_ARG_DECL) -{ - if (this->contentHandler_ != 0) - this->contentHandler_->endDocument (ACEXML_ENV_SINGLE_ARG_PARAMETER); -} - -void -ACEXML_XMLFilterImpl::endElement (const ACEXML_Char *namespaceURI, - const ACEXML_Char *localName, - const ACEXML_Char *qName ACEXML_ENV_ARG_DECL) -{ - if (this->contentHandler_ != 0) - this->contentHandler_->endElement (namespaceURI, - localName, - qName ACEXML_ENV_ARG_PARAMETER); -} - -void -ACEXML_XMLFilterImpl::endPrefixMapping (const ACEXML_Char *prefix ACEXML_ENV_ARG_DECL) -{ - if (this->contentHandler_ != 0) - this->contentHandler_->endPrefixMapping (prefix ACEXML_ENV_ARG_PARAMETER); -} - -void -ACEXML_XMLFilterImpl::ignorableWhitespace (const ACEXML_Char *ch, - int start, - int length ACEXML_ENV_ARG_DECL) -{ - if (this->contentHandler_ != 0) - this->contentHandler_->ignorableWhitespace (ch, - start, - length ACEXML_ENV_ARG_PARAMETER); -} - -void -ACEXML_XMLFilterImpl::processingInstruction (const ACEXML_Char *target, - const ACEXML_Char *data ACEXML_ENV_ARG_DECL) -{ - if (this->contentHandler_ != 0) - this->contentHandler_->processingInstruction (target, - data ACEXML_ENV_ARG_PARAMETER); -} - -void -ACEXML_XMLFilterImpl::setDocumentLocator (ACEXML_Locator *locator) -{ - if (this->contentHandler_ != 0) - this->contentHandler_->setDocumentLocator (locator); -} - -void -ACEXML_XMLFilterImpl::skippedEntity (const ACEXML_Char *name ACEXML_ENV_ARG_DECL) -{ - if (this->contentHandler_ != 0) - this->contentHandler_->skippedEntity (name ACEXML_ENV_ARG_PARAMETER); -} - -void -ACEXML_XMLFilterImpl::startDocument (ACEXML_ENV_SINGLE_ARG_DECL) -{ - if (this->contentHandler_ != 0) - this->contentHandler_->startDocument (ACEXML_ENV_SINGLE_ARG_PARAMETER); -} - -void -ACEXML_XMLFilterImpl::startElement (const ACEXML_Char *namespaceURI, - const ACEXML_Char *localName, - const ACEXML_Char *qName, - ACEXML_Attributes *atts ACEXML_ENV_ARG_DECL) -{ - if (this->contentHandler_ != 0) - this->contentHandler_->startElement (namespaceURI, - localName, - qName, - atts ACEXML_ENV_ARG_PARAMETER); -} - -void -ACEXML_XMLFilterImpl::startPrefixMapping (const ACEXML_Char *prefix, - const ACEXML_Char *uri ACEXML_ENV_ARG_DECL) -{ - if (this->contentHandler_ != 0) - this->contentHandler_->startPrefixMapping (prefix, - uri ACEXML_ENV_ARG_PARAMETER); -} - -void -ACEXML_XMLFilterImpl::notationDecl (const ACEXML_Char *name, - const ACEXML_Char *publicId, - const ACEXML_Char *systemId ACEXML_ENV_ARG_DECL) -{ - if (this->dtdHandler_ != 0) - this->dtdHandler_->notationDecl (name, - publicId, - systemId ACEXML_ENV_ARG_PARAMETER); -} - -void -ACEXML_XMLFilterImpl::unparsedEntityDecl (const ACEXML_Char *name, - const ACEXML_Char *publicId, - const ACEXML_Char *systemId, - const ACEXML_Char *notationName ACEXML_ENV_ARG_DECL) -{ - if (this->dtdHandler_ != 0) - this->dtdHandler_->unparsedEntityDecl (name, - publicId, - systemId, - notationName ACEXML_ENV_ARG_PARAMETER); -} - -ACEXML_InputSource * -ACEXML_XMLFilterImpl::resolveEntity (const ACEXML_Char *publicId, - const ACEXML_Char *systemId ACEXML_ENV_ARG_DECL) -{ - if (this->entityResolver_ != 0) - return this->entityResolver_->resolveEntity (publicId, - systemId ACEXML_ENV_ARG_PARAMETER); - return 0; -} - -void -ACEXML_XMLFilterImpl::error (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL) -{ - if (this->errorHandler_ != 0) - this->errorHandler_->error (exception ACEXML_ENV_ARG_PARAMETER); -} - -void -ACEXML_XMLFilterImpl::fatalError (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL) -{ - if (this->errorHandler_ != 0) - this->errorHandler_->fatalError (exception ACEXML_ENV_ARG_PARAMETER); -} - -void -ACEXML_XMLFilterImpl::warning (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL) -{ - if (this->errorHandler_ != 0) - this->errorHandler_->warning (exception ACEXML_ENV_ARG_PARAMETER); -} - -ACEXML_DTDHandler * -ACEXML_XMLFilterImpl::getDTDHandler (void) const -{ - return this->dtdHandler_; -} - -ACEXML_ContentHandler * -ACEXML_XMLFilterImpl::getContentHandler (void) const -{ - return this->contentHandler_; -} - -ACEXML_EntityResolver * -ACEXML_XMLFilterImpl::getEntityResolver (void) const -{ - return this->entityResolver_; -} - -ACEXML_ErrorHandler * -ACEXML_XMLFilterImpl::getErrorHandler (void) const -{ - return this->errorHandler_; -} - -void -ACEXML_XMLFilterImpl::setDTDHandler (ACEXML_DTDHandler *handler) -{ - this->dtdHandler_ = handler; -} - -void -ACEXML_XMLFilterImpl::setContentHandler (ACEXML_ContentHandler *handler) -{ - this->contentHandler_ = handler; -} - -void -ACEXML_XMLFilterImpl::setEntityResolver (ACEXML_EntityResolver *handler) -{ - this->entityResolver_ = handler; -} - -void -ACEXML_XMLFilterImpl::setErrorHandler (ACEXML_ErrorHandler *handler) -{ - this->errorHandler_ = handler; -} diff --git a/ACE/ACEXML/common/XMLFilterImpl.h b/ACE/ACEXML/common/XMLFilterImpl.h deleted file mode 100644 index fa4913e0910..00000000000 --- a/ACE/ACEXML/common/XMLFilterImpl.h +++ /dev/null @@ -1,270 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file XMLFilterImpl.h - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - */ -//============================================================================= -#ifndef ACEXML_XMLFILTERIMPL_H -#define ACEXML_XMLFILTERIMPL_H -#include /**/ "ace/pre.h" - -#include "ACEXML/common/XMLFilter.h" -#include "ACEXML/common/XMLReader.h" -#include "ACEXML/common/Locator.h" -#include "ACEXML/common/ContentHandler.h" -#include "ACEXML/common/DTDHandler.h" -#include "ACEXML/common/EntityResolver.h" -#include "ACEXML/common/ErrorHandler.h" - -/** - * @class ACEXML_XMLFilterImpl XMLFilterImpl.h "ACEXML/common/XMLFilterImpl.h" - * - * @brief ACEXML_XMLFilterImpl - * - * This class is designed to sit between an XMLReader and the client - * application's event handlers. By default, it does nothing but pass - * requests up to the reader and events on to the handlers unmodified, but - * subclasses can override specific methods to modify the event stream or - * the configuration requests as they pass through. - */ -class ACEXML_Export ACEXML_XMLFilterImpl - : public ACEXML_XMLFilter, - public ACEXML_ContentHandler, - public ACEXML_DTDHandler, - public ACEXML_EntityResolver, - public ACEXML_ErrorHandler -{ -public: - /** - * Default constructor. Create with no parent. - */ - ACEXML_XMLFilterImpl (void); - - /** - * Construct an XML filter with the specified parent. - */ - ACEXML_XMLFilterImpl (ACEXML_XMLReader *parent); - - /** - * Destructor. - */ - virtual ~ACEXML_XMLFilterImpl (void); - - /* - * Look up the value of a feature. - */ - virtual int getFeature (const ACEXML_Char *name ACEXML_ENV_ARG_DECL); - - /* - * Look up the value of a property. - */ - virtual void * getProperty (const ACEXML_Char *name ACEXML_ENV_ARG_DECL); - - /* - * Parse an XML document. - */ - virtual void parse (ACEXML_InputSource *input ACEXML_ENV_ARG_DECL); - - /* - * Parse an XML document from a system identifier (URI). - */ - virtual void parse (const ACEXML_Char *systemId ACEXML_ENV_ARG_DECL) - // @@ throw IOException??? - ; - - /* - * Set the state of a feature. - */ - virtual void setFeature (const ACEXML_Char *name, - int boolean_value ACEXML_ENV_ARG_DECL); - - /* - * Set the value of a property. - */ - virtual void setProperty (const ACEXML_Char *name, - void *value ACEXML_ENV_ARG_DECL); - - /* - * Get the parent reader. - */ - virtual ACEXML_XMLReader *getParent (void) const; - - /* - * Set the parent reader. - */ - virtual void setParent (ACEXML_XMLReader *parent); - - /* - * Get the current DTD event handler. - */ - virtual ACEXML_DTDHandler *getDTDHandler (void) const; - - /* - * Get the current content event handler. - */ - virtual ACEXML_ContentHandler *getContentHandler (void) const; - - /* - * Get the current entity resolver. - */ - virtual ACEXML_EntityResolver *getEntityResolver (void) const; - - /* - * Get the current error event handler. - */ - virtual ACEXML_ErrorHandler *getErrorHandler (void) const; - - /* - * Set the DTD event handler. - */ - virtual void setDTDHandler (ACEXML_DTDHandler *handler); - - /* - * Set the content event handler. - */ - virtual void setContentHandler (ACEXML_ContentHandler *handler); - - /* - * Set the entity resolver. - */ - virtual void setEntityResolver (ACEXML_EntityResolver *handler); - - /* - * Set the error event handler. - */ - virtual void setErrorHandler (ACEXML_ErrorHandler *handler); - - /* - * Receive notification of character data. - */ - virtual void characters (const ACEXML_Char *ch, - size_t start, - size_t length - ACEXML_ENV_ARG_DECL); - - /* - * Receive notification of the end of a document. - */ - virtual void endDocument (ACEXML_ENV_SINGLE_ARG_DECL); - - /* - * Receive notification of the end of an element. - */ - virtual void endElement (const ACEXML_Char *namespaceURI, - const ACEXML_Char *localName, - const ACEXML_Char *qName ACEXML_ENV_ARG_DECL); - - /* - * End the scope of a prefix-URI mapping. - */ - virtual void endPrefixMapping (const ACEXML_Char *prefix ACEXML_ENV_ARG_DECL); - - /* - * Receive notification of ignorable whitespace in element content. - */ - virtual void ignorableWhitespace (const ACEXML_Char *ch, - int start, - int length ACEXML_ENV_ARG_DECL); - - /* - * Receive notification of a processing instruction. - */ - virtual void processingInstruction (const ACEXML_Char *target, - const ACEXML_Char *data ACEXML_ENV_ARG_DECL); - - /* - * Receive an object for locating the origin of SAX document events. - */ - virtual void setDocumentLocator (ACEXML_Locator *locator) ; - - /* - * Receive notification of a skipped entity. - */ - virtual void skippedEntity (const ACEXML_Char *name ACEXML_ENV_ARG_DECL); - - /* - * Receive notification of the beginning of a document. - */ - virtual void startDocument (ACEXML_ENV_SINGLE_ARG_DECL); - - /* - * Receive notification of the beginning of an element. - */ - virtual void startElement (const ACEXML_Char *namespaceURI, - const ACEXML_Char *localName, - const ACEXML_Char *qName, - ACEXML_Attributes *atts ACEXML_ENV_ARG_DECL); - - /* - * Begin the scope of a prefix-URI Namespace mapping. - */ - virtual void startPrefixMapping (const ACEXML_Char *prefix, - const ACEXML_Char *uri ACEXML_ENV_ARG_DECL); - - // *** Methods inherit from ACEXML_DTDHandler. - - /* - * Receive notification of a notation declaration event. - */ - virtual void notationDecl (const ACEXML_Char *name, - const ACEXML_Char *publicId, - const ACEXML_Char *systemId ACEXML_ENV_ARG_DECL); - - /* - * Receive notification of an unparsed entity declaration event. - */ - virtual void unparsedEntityDecl (const ACEXML_Char *name, - const ACEXML_Char *publicId, - const ACEXML_Char *systemId, - const ACEXML_Char *notationName ACEXML_ENV_ARG_DECL); - - // Methods inherit from ACEXML_EnitityResolver. - - /* - * Allow the application to resolve external entities. - */ - virtual ACEXML_InputSource *resolveEntity (const ACEXML_Char *publicId, - const ACEXML_Char *systemId ACEXML_ENV_ARG_DECL); - - // Methods inherit from ACEXML_ErrorHandler. - - /* - * Receive notification of a recoverable error. - */ - virtual void error (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL); - - /* - * Receive notification of a non-recoverable error. - */ - virtual void fatalError (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL); - - /* - * Receive notification of a warning. - */ - virtual void warning (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL); -protected: - int setupParser (void); - // Set up the event handlers of parent parser to this. - // Returns -1 if no valid parent is set. - -private: - ACEXML_XMLReader *parent_; - ACEXML_Locator *locator_; - ACEXML_EntityResolver *entityResolver_; - ACEXML_DTDHandler *dtdHandler_; - ACEXML_ContentHandler *contentHandler_; - ACEXML_ErrorHandler *errorHandler_; -}; - -#if defined (__ACEXML_INLINE__) -# include "ACEXML/common/XMLFilterImpl.inl" -#endif /* __ACEXML_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* ACEXML_XMLFILTERIMPL_H */ diff --git a/ACE/ACEXML/common/XMLFilterImpl.inl b/ACE/ACEXML/common/XMLFilterImpl.inl deleted file mode 100644 index 4be2ceeceea..00000000000 --- a/ACE/ACEXML/common/XMLFilterImpl.inl +++ /dev/null @@ -1,14 +0,0 @@ -// -*- C++ -*- $Id$ - -ACEXML_INLINE int -ACEXML_XMLFilterImpl::setupParser (void) -{ - if (this->parent_ == 0) - return -1; - - this->parent_->setEntityResolver (this); - this->parent_->setDTDHandler (this); - this->parent_->setContentHandler (this); - this->parent_->setErrorHandler (this); - return 0; -} diff --git a/ACE/ACEXML/common/XMLReader.cpp b/ACE/ACEXML/common/XMLReader.cpp deleted file mode 100644 index d762c79a3a2..00000000000 --- a/ACE/ACEXML/common/XMLReader.cpp +++ /dev/null @@ -1,11 +0,0 @@ -#include "XMLReader.h" - - -ACE_RCSID (common, - XMLReader, - "$Id$") - - -ACEXML_XMLReader::~ACEXML_XMLReader (void) -{ -} diff --git a/ACE/ACEXML/common/XMLReader.h b/ACE/ACEXML/common/XMLReader.h deleted file mode 100644 index 9cbc6bca7f2..00000000000 --- a/ACE/ACEXML/common/XMLReader.h +++ /dev/null @@ -1,132 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file XMLReader.h - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - */ -//============================================================================= -#ifndef _ACEXML_XMLREADER_H_ -#define _ACEXML_XMLREADER_H_ - -#include /**/ "ace/pre.h" -#include "ACEXML/common/ACEXML_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ACEXML/common/ContentHandler.h" -#include "ACEXML/common/DTDHandler.h" -#include "ACEXML/common/EntityResolver.h" -#include "ACEXML/common/ErrorHandler.h" - -/** - * @class ACEXML_XMLReader XMLReader.h "ACEXML/common/XMLReader.h" - * - * @brief ACEXML_XMLReader - * - * XMLReader is the interface that an XML parser's SAX2 driver must - * implement. This interface allows an application to set and query - * features and properties in the parser, to register event handlers - * for document processing, and to initiate a document parse. - * - * All SAX interfaces are assumed to be synchronous: the parse methods - * must not return until parsing is complete, and readers must wait - * for an event-handler callback to return before reporting the next - * event. - */ -class ACEXML_Export ACEXML_XMLReader -{ -public: - - virtual ~ACEXML_XMLReader (void); - - /** - * Return the current content handler. - */ - virtual ACEXML_ContentHandler *getContentHandler (void) const = 0; - - /** - * Return the current DTD handler. - */ - virtual ACEXML_DTDHandler *getDTDHandler (void) const = 0; - - /** - * Return the current entity resolver. - */ - virtual ACEXML_EntityResolver *getEntityResolver (void) const = 0; - - /** - * Return the current error handler. - */ - virtual ACEXML_ErrorHandler *getErrorHandler (void) const = 0; - - /** - * Look up the value of a feature. This method allows - * programmers to check whether a specific feature has been - * activated in the parser. - */ - virtual int getFeature (const ACEXML_Char *name ACEXML_ENV_ARG_DECL) - = 0; - - /** - * Look up the value of a property. - */ - virtual void * getProperty (const ACEXML_Char *name ACEXML_ENV_ARG_DECL) - = 0; - - /** - * Parse an XML document. - */ - virtual void parse (ACEXML_InputSource *input ACEXML_ENV_ARG_DECL) - = 0; - - /** - * Parse an XML document from a system identifier (URI). - */ - virtual void parse (const ACEXML_Char *systemId ACEXML_ENV_ARG_DECL) - = 0; - - /** - * Allow an application to register a content event handler. - */ - virtual void setContentHandler (ACEXML_ContentHandler *handler) = 0; - - /** - * Allow an application to register a DTD event handler. - */ - virtual void setDTDHandler (ACEXML_DTDHandler *handler) = 0; - - /** - * Allow an application to register an entity resolver. - */ - virtual void setEntityResolver (ACEXML_EntityResolver *resolver) = 0; - - /** - * Allow an application to register an error event handler. - */ - virtual void setErrorHandler (ACEXML_ErrorHandler *handler) = 0; - - /** - * Activating or deactivating a feature. - */ - virtual void setFeature (const ACEXML_Char *name, - int boolean_value ACEXML_ENV_ARG_DECL) - = 0; - - /** - * Set the value of a property. - */ - virtual void setProperty (const ACEXML_Char *name, - void *value ACEXML_ENV_ARG_DECL) - = 0; -}; - - -#include /**/ "ace/post.h" - -#endif /* _ACEXML_XMLREADER_H_ */ diff --git a/ACE/ACEXML/common/XML_Codecs.cpp b/ACE/ACEXML/common/XML_Codecs.cpp deleted file mode 100644 index 9566158ddfd..00000000000 --- a/ACE/ACEXML/common/XML_Codecs.cpp +++ /dev/null @@ -1,94 +0,0 @@ -// -*- C++ -*- $Id$ - -#include "ace/Auto_Ptr.h" -#include "ace/OS_Memory.h" -#include "ace/OS_NS_string.h" -#include "ACEXML/common/XML_Codecs.h" - -ACE_RCSID (common, XML_Codecs, "$Id$") - -ACEXML_Char* -ACEXML_Base64::encode (const ACEXML_Char* input, - size_t* output_len) -{ - if (!input) - return 0; - size_t len = ACE_OS::strlen (input); - - ACE_Byte* buf = 0; - ACE_NEW_RETURN (buf, - ACE_Byte[len], - 0); - ACE_Auto_Basic_Array_Ptr<ACE_Byte> cleanup_buf (buf); - - for (size_t i = 0; i < len; ++i) - buf[i] = (ACE_Byte)input[i]; - buf[len] = 0; - - size_t encode_len = 0; - ACE_Byte* encodedBuf = ACE_Base64::encode (buf, len, &encode_len); - - if (!encodedBuf) - return 0; - - ACEXML_Char* result = 0; - ACE_NEW_RETURN (result, - ACEXML_Char[encode_len+1], - 0); - - for (size_t j = 0; j < encode_len; ++j) - result[j] = (ACEXML_Char)encodedBuf[j]; - result[encode_len] = 0; - - *output_len = encode_len; - delete[] encodedBuf; - return result; -} - - -ACEXML_Char* -ACEXML_Base64::decode (const ACEXML_Char* input, - size_t* output_len) -{ - if (!input) - return 0; - - size_t len = ACE_OS::strlen (input); - - ACE_Byte* buf = 0; - - ACE_NEW_RETURN (buf, - ACE_Byte[len], - 0); - - ACE_Auto_Basic_Array_Ptr<ACE_Byte> cleanup (buf); - - for (size_t i = 0; i < len; ++i) - buf[i] = (ACE_Byte)input[i]; - - buf[len] = 0; - - size_t decode_len = 0; - - ACE_Byte* decodedBuf = ACE_Base64::decode (buf, &decode_len); - - if (!decodedBuf) - return 0; - - ACEXML_Char* result = 0; - - ACE_NEW_RETURN (result, - ACEXML_Char[decode_len+1], - 0); - - for (size_t j = 0; j < decode_len; ++j) - result[j] = (ACEXML_Char)decodedBuf[j]; - - result[decode_len] = 0; - - *output_len = decode_len; - delete[] decodedBuf; - - return result; -} - diff --git a/ACE/ACEXML/common/XML_Codecs.h b/ACE/ACEXML/common/XML_Codecs.h deleted file mode 100644 index 10101d4e5b4..00000000000 --- a/ACE/ACEXML/common/XML_Codecs.h +++ /dev/null @@ -1,73 +0,0 @@ -// -*- C++ -*- - -/** - * @file XML_Codecs.h - * - * $Id$ - * - * @author Krishnakumar B <kitty@cs.wustl.edu> - * - * XML_Codecs is a generic wrapper for various encoding and decoding - * mechanisms used in ACEXML. Currently it includes support for handling - * Base64 content transfer-encoding of ACEXML_Chars. - * - */ - -#ifndef _ACEXML_XML_CODECS_H -#define _ACEXML_XML_CODECS_H - -#include /**/ "ace/pre.h" -#include "ACEXML/common/ACEXML_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ACEXML/common/XML_Types.h" -#include "ace/Codecs.h" - -/** - * @class ACEXML_Base64 - * - * @brief Encode/Decode a stream of ACEXML_Chars according to Base64 encoding. - * - * This class provides methods to encode or decode a stream of ACEXML_Chars - * to/from Base64 encoding. It doesn't convert the input stream to a - * canonical form before encoding. - * - */ -class ACEXML_Export ACEXML_Base64 : public ACE_Base64 -{ -public: - - //@{ - - /** - * Encodes a stream of octets to Base64 data - * - * @param input Binary data in ACEXML_Char stream. - * @param output_len Length of the encoded Base64 ACEXML_Char stream. - * @return Encoded Base64 data in ACEXML_Char stream or NULL if input data - * cannot be encoded. - */ - - static ACEXML_Char* encode (const ACEXML_Char* input, - size_t* output_len); - /** - * Decodes a stream of Base64 to octets data - * - * @param input Encoded Base64 data in ACEXML_Char stream. - * @param output_len Length of the binary ACEXML_Char stream. - * @return Binary data in ACEXML_Char stream or NULL if input data cannot - * be encoded. - */ - static ACEXML_Char* decode (const ACEXML_Char* input, - size_t* output_len); - - //@} -}; - - -#include /**/ "ace/post.h" - -#endif /* _ACEXML_XML_CODECS_H */ diff --git a/ACE/ACEXML/common/XML_Macros.h b/ACE/ACEXML/common/XML_Macros.h deleted file mode 100644 index 9ee1e90c196..00000000000 --- a/ACE/ACEXML/common/XML_Macros.h +++ /dev/null @@ -1,456 +0,0 @@ -// -*- C++ -*- - -// ============================================================================ -/** - * @file XML_Macros.h - * - * $Id$ - * - * Writing code that is portable between platforms with or without - * native C++ exceptions is hard. The following macros offer some - * help on this task. - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - * @author Aniruddha Gokhale <gokhale@sahyadri.research.bell-labs.com> - * @author Carlos O'Ryan <coryan@uci.edu> - * @author Krishnakumar B <kitty@cs.wustl.edu>, et al. - */ -// ============================================================================ - -// Macros for handling exceptions. - -#ifndef _ACEXML_MACROS_H -#define _ACEXML_MACROS_H - -#include /**/ "ace/pre.h" - -#include "ace/config-all.h" - -# if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -# endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Exception_Macros.h" - -// The Windows MFC exception mechanism requires that a caught CException -// (including the CMemoryException in use here) be freed using its Delete() -// method. Thus, when MFC is in use and we're catching exceptions as a result -// of new(), the exception's Delete() method has to be called. No other -// platform imposes this sort of restriction/requirement. The Windows -// config stuff (at least for MSVC/MFC) defines a ACE_del_bad_alloc macro -// that works with its ACE_bad_alloc macro to implement this cleanup -// requirement. Since no other platform requires this, define it as -// empty here. -#if !defined (ACE_del_bad_alloc) -# define ACE_del_bad_alloc -#endif - -// The following macros assume that an environment variable is passed -// in/out of each function that can throw an exception. The type of the -// environment variable is defined by ACEXML_ENV_TYPE. - -#if !defined (ACEXML_ENV_TYPE) -# define ACEXML_ENV_TYPE ACEXML_Env -#endif /* ACEXML_ENV_TYPE */ - -// The name of the variable defined by ACEXML_TRY_ENV. Below is the name -// that we use by default. If you wish to change it you can redefine -// ACEXML_TRY_ENV to change the default name. Also ACEXML_ADOPT_ENV allows the -// use of non-standard name within a scope. - -#if !defined (ACEXML_TRY_ENV) -# define ACEXML_TRY_ENV _ACEXML_Env_variable -#endif /* ACEXML_TRY_ENV */ - -// The base type of Exception from which all the other exception types are -// derived. By default, it is set to ACEXML_Exception. - -#if !defined (ACEXML_EXCEPTION_TYPE) -# define ACEXML_EXCEPTION_TYPE ACEXML_Exception -#endif /* ACEXML_EXCEPTION_TYPE */ - -// This is the exception caught by ACEXML_CATCHANY. -#if !defined (ACEXML_ANY_EXCEPTION) -# define ACEXML_ANY_EXCEPTION ex -#endif /* ACEXML_ANY_EXCEPTION */ - -// Declare a new environment variable on the stack. The type of the -// environment variable is determined by ACEXML_ENV_TYPE. -#define ACEXML_DECLARE_NEW_ENV \ - ACEXML_ENV_TYPE ACEXML_TRY_ENV - -#if defined (ACE_USES_NATIVE_EXCEPTIONS) -// ----------------------------------------------------------------- - -#define ACEXML_ADOPT_ENV (ENV) - -// No need to check. Native exceptions handle the control flow -// automatically when an exception occurs. -# define ACEXML_CHECK - -// Used when the function requires a return value. -# define ACEXML_CHECK_RETURN(RETV) - -// ACEXML_THROW_R_INT should not be used by the user. -# define ACEXML_THROW_R_INT(EXCEPTION) \ - throw EXCEPTION - -// Throwing an exception is easy. These two macros should _NOT_ be -// used within try blocks. -# define ACEXML_THROW(EXCEPTION) \ - throw EXCEPTION - -// Throwing an exception when the function reqires a return value. -# if defined (__HP_aCC) -# define ACEXML_THROW_RETURN(EXCEPTION, RETV) \ - do \ - { \ - throw EXCEPTION; \ - return RETV; \ - } while (0) -# else /* WIN32 */ -# define ACEXML_THROW_RETURN(EXCEPTION,RETV) \ - throw EXCEPTION -# endif /* WIN32 */ - -// For compilers with native exceptions, we can simply use try to try. ;-) -// do {} while (0) is required to avoid compilation warnings. -# define ACEXML_TRY \ - do \ - { \ - try \ - { -# define ACEXML_TRY_NEW_ENV \ - do \ - { \ - ACEXML_ENV_TYPE ACEXML_TRY_ENV; \ - try \ - { -# define ACEXML_TRY_EX(LABEL) \ - do \ - { \ - try \ - { - -// No need to check for exceptions within try block for compilers with -// native exceptions. -# define ACEXML_TRY_CHECK -# define ACEXML_TRY_CHECK_EX(LABEL) - -// Likewise, throwing exceptions within try blocks is easy. -# define ACEXML_TRY_THROW(EXCEPTION) throw EXCEPTION -# define ACEXML_TRY_THROW_EX(EXCEPTION,LABEL) throw EXCEPTION - -// Same thing for catch. -# define ACEXML_CATCH(EXCEPTION,VAR) \ - } \ - catch (EXCEPTION & VAR) \ - { \ - ACE_UNUSED_ARG (VAR); - -# define ACEXML_CATCHANY \ - ACEXML_CATCH(ACEXML_EXCEPTION_TYPE, ACEXML_ANY_EXCEPTION) - -# define ACEXML_CATCHALL \ - } \ - catch (...) \ - { - -// Rethrowing the exception from catch blocks. -# define ACEXML_RE_THROW throw -# define ACEXML_RE_THROW_EX(LABEL) throw - -// Close the catch block. -# define ACEXML_ENDTRY \ - } \ - } while (0) - -#else /* ! ACEXML_USES_NATIVE_EXCEPTIONS */ -// ----------------------------------------------------------------- - -// When handling compilers without native exceptions, things get a bit -// hairy. Exceptions are simulated using ACEXML_ENV_TYPE. The trick here is to -// make sure the flow-of-control can simulate the case when native -// exceptions occur... - -# define ACEXML_ADOPT_ENV(ENV) ACEXML_ENV_TYPE &ACEXML_TRY_ENV = ENV - -// Follow every statement that could throw exceptions with ACEXML_CHECK or -// ACEXML_CHECK_RETURN. These two macros should _NOT_ be used within try -// blocks. Use ACEXML_TRY_CHECK or ACEXML_TRY_CHECK_EX instead. -# define ACEXML_CHECK \ - if (ACEXML_TRY_ENV . exception () != 0) \ - return -// When function requires a return value -# define ACEXML_CHECK_RETURN(RETV) \ - if (ACEXML_TRY_ENV . exception () != 0) \ - return RETV - -// ACEXML_THROW_R_INT should not be used by the user. -# define ACEXML_THROW_R_INT(EXCEPTION) ACEXML_TRY_ENV.exception (new EXCEPTION) - -// Throwing exceptions will inevitably cause a return from the current -// function. These two macros should _NOT_ be used within try blocks. Use -// ACEXML_TRY_THROW or ACEXML_TRY_THROW_EX instead. -# define ACEXML_THROW(EXCEPTION) \ - do \ - { \ - ACEXML_TRY_ENV.exception (new EXCEPTION); \ - return; \ - } while (0) - -# define ACEXML_THROW_RETURN(EXCEPTION,RETV) \ - do \ - { \ - ACEXML_TRY_ENV.exception (new EXCEPTION); \ - return RETV; \ - } while (0) - -// ACEXML_TRY sets up flags to control program flow. ACEXML_TRY_FLAG acts -// like a one-shot flip-flop. When an exception occurs (detected using -// ACEXML_TRY_CHECK,) ACEXML_TRY_FLAG will be reset and the control goes -// back into ACEXML_TRY_LABEL. Since ACEXML_TRY_FLAG is reset, the try -// block won't get executed again and the control proceeds to the following -// catch blocks. ACEXML_EXCEPTION_NOT_CAUGHT flag is used to prevent -// catching an exception twice. This macro assumes there's already an -// ACEXML_ENV_TYPE variable ACEXML_TRY_ENV defined (which should be the -// case normally) -# define ACEXML_TRY \ - do { \ - int ACEXML_TRY_FLAG = 1; \ - int ACEXML_EXCEPTION_NOT_CAUGHT = 1; \ - ACEXML_TRY_LABEL: \ - if (ACEXML_TRY_FLAG) \ - do { - -// ACEXML_TRY_NEW_ENV functions like the macro ACEXML_TRY but defines a new -// ACEXML_ENV_TYPE variable ACEXML_TRY_ENV. It is most often used in the outer -// most function where no ACEXML_TRY_ENV is available. -# define ACEXML_TRY_NEW_ENV \ - do { \ - ACEXML_ENV_TYPE ACEXML_TRY_ENV;\ - int ACEXML_TRY_FLAG = 1; \ - int ACEXML_EXCEPTION_NOT_CAUGHT = 1; \ - ACEXML_TRY_LABEL: \ - if (ACEXML_TRY_FLAG) \ - do { - -// ACEXML_TRY_EX works exactly like ACEXML_TRY macro except the label used -// in the try block is customizable to avoid name clashing. It should be -// used when nested try blocks or multiple try blocks are required, in the -// same function. -# define ACEXML_TRY_EX(LABEL) \ - do { \ - int ACEXML_TRY_FLAG = 1; \ - int ACEXML_EXCEPTION_NOT_CAUGHT = 1; \ - ACEXML_TRY_LABEL ## LABEL: \ - if (ACEXML_TRY_FLAG) \ - do { - -// Check for exceptions within try blocks. -# define ACEXML_TRY_CHECK \ - { \ - if (ACEXML_TRY_ENV.exception () != 0) \ - { \ - ACEXML_TRY_FLAG = 0; \ - goto ACEXML_TRY_LABEL; \ - } \ - } - -// Checking exception within EX try blocks. -# define ACEXML_TRY_CHECK_EX(LABEL) \ - { \ - if (ACEXML_TRY_ENV.exception () != 0) \ - { \ - ACEXML_TRY_FLAG = 0; \ - goto ACEXML_TRY_LABEL ## LABEL; \ - } \ - } - -// Throwing exception within TRY blocks. -# define ACEXML_TRY_THROW(EXCEPTION) \ - { \ - ACEXML_TRY_ENV.exception (new EXCEPTION); \ - ACEXML_TRY_FLAG = 0; \ - goto ACEXML_TRY_LABEL; \ - } - -# define ACEXML_TRY_THROW_EX(EXCEPTION,LABEL) \ - { \ - ACEXML_TRY_ENV.exception (new EXCEPTION); \ - ACEXML_TRY_FLAG = 0; \ - goto ACEXML_TRY_LABEL ## LABEL; \ - } - -// When exceptions occur or try block finishes execution without exception, -// control will continue in the catch block. This macro first checks if -// there's any uncaught exception left. If all the conditions are met, we -// have caught an exception. It then resets ACEXML_EXCEPTION_NOT_CAUGHT to -// prevent subsequent catch blocks from catching the same exception again, -// and extracts out the underlying exception in ACEXML_TRY_ENV. We also make a -// copy of ACEXML_TRY_ENV in ACEXML_CAUGHT_ENV, in case we want to rethrow the -// exception. ACEXML_TRY_ENV is cleared out after the exception is caught so -// you should not use ACEXML_TRY_ENV within the catch block(You should use the -// exception directly). -# define ACEXML_CATCH(TYPE,VAR) \ - } while (0); \ - do \ - if (ACEXML_TRY_ENV.exception () != 0 && ACEXML_EXCEPTION_NOT_CAUGHT && \ - TYPE::_downcast(ACEXML_TRY_ENV.exception ()) != 0) \ - { \ - ACEXML_ENV_TYPE ACEXML_CAUGHT_ENV = ACEXML_TRY_ENV;\ - ACEXML_EXCEPTION_NOT_CAUGHT = 0; \ - TYPE &VAR = *TYPE::_downcast (ACEXML_CAUGHT_ENV.exception ()); \ - ACE_UNUSED_ARG (VAR); \ - ACEXML_TRY_ENV.clear (); - -// ACEXML_CATCHANY uses ACEXML_CATCH to catch all exceptions derived from -// ACEXML_EXCEPTION_TYPE -# define ACEXML_CATCHANY ACEXML_CATCH (ACEXML_EXCEPTION_TYPE, ACEXML_ANY_EXCEPTION) - -// Since there's no other exception for compilers without exception -// support, we simply catch all ACEXML_EXCEPTION_TYPE exceptions for -// ACEXML_CATCHALL. -# define ACEXML_CATCHALL ACEXML_CATCHANY - -// Rethrowing exception within catch blocks. Notice that we depend on the -// ACEXML_CHECK/ACEXML_CHECK_RETURN following the ACEXML_ENDTRY, or -// ACEXML_TRY_CHECK/ ACEXML_TRY_CHECK_EX following the ACEXML_ENDTRY when -// the catch block is within another try block, to do the "Right -// Thing[TM]." -# define ACEXML_RE_THROW \ - do {\ - ACEXML_TRY_ENV = ACEXML_CAUGHT_ENV; \ - goto ACEXML_TRY_LABEL; \ - } while (0) -# define ACEXML_RE_THROW_EX(LABEL) \ - do {\ - ACEXML_TRY_ENV = ACEXML_CAUGHT_ENV; \ - goto ACEXML_TRY_LABEL ## LABEL; \ - } while (0) - -// Close the try block. Since exceptions may not get caught, and exceptions -// can also be rethrown from the catch block, it's always a good idea to -// follow ACEXML_ENDTRY with ACEXML_CHECK or ACEXML_TRY_CHECK (depending on -// the context.) -# define ACEXML_ENDTRY \ - } while (0); \ - } while (0) - -#endif /* ! ACE_USES_NATIVE_EXCEPTIONS */ - -// ACE_HAS_EXCEPTIONS is not the same as ACE_NEW_THROWS_EXCEPTIONS. -#if defined(ACE_NEW_THROWS_EXCEPTIONS) - -# define ACEXML_NEW_THROW_EX(POINTER,CONSTRUCTOR,EXCEPTION) \ - do { try { POINTER = new CONSTRUCTOR; } \ - catch (ACE_bad_alloc) { ACE_del_bad_alloc errno = ENOMEM; ACEXML_THROW_R_INT (EXCEPTION); } \ - } while (0) - -#else /* ! ACE_NEW_THROWS_EXCEPTIONS */ - -# define ACEXML_NEW_THROW_EX(POINTER,CONSTRUCTOR,EXCEPTION) \ - do { POINTER = new CONSTRUCTOR; \ - if (POINTER == 0) { errno = ENOMEM; ACEXML_THROW_R_INT (EXCEPTION); } \ - } while (0) - -#endif /* ACE_NEW_THROWS_EXCEPTIONS */ - -# define ACEXML_GUARD_THROW_EX(MUTEX,OBJ,LOCK,EXCEPTION) \ - ACE_Guard< MUTEX > OBJ (LOCK); \ - if (OBJ.locked () == 0) ACEXML_THROW_R_INT (EXCEPTION); - -# define ACEXML_READ_GUARD_THROW_EX(MUTEX,OBJ,LOCK,EXCEPTION) \ - ACE_Read_Guard< MUTEX > OBJ (LOCK); \ - if (OBJ.locked () == 0) ACEXML_THROW_R_INT (EXCEPTION); - -# define ACEXML_WRITE_GUARD_THROW_EX(MUTEX,OBJ,LOCK,EXCEPTION) \ - ACE_Write_Guard< MUTEX > OBJ (LOCK); \ - if (OBJ.locked () == 0) ACEXML_THROW_R_INT (EXCEPTION); - -//@{ -/** - * @name Native C++ exceptions portability macros. - * - * The following macros are used to write code portable between platforms - * with and without native C++ exception support. Their main goal is to - * hide the presence of the ACEXML_ENV_TYPE argument, but they collaborate - * with the ACEXML_TRY_* macros to emulate the try/catch blocks. - */ - -/// Define a macro to emit code only when ACEXML_ENV_TYPE is used -#if !defined (ACE_USES_NATIVE_EXCEPTIONS) || defined (ACEXML_ENV_BKWD_COMPAT) -# define ACEXML_ENV_EMIT_CODE(X) X -#else -# define ACEXML_ENV_EMIT_CODE(X) -#endif /* ACE_USES_NATIVE_EXCEPTIONS && ! ACEXML_ENV_BKWD_COMPAT */ - -/// Another macro to emit code only when ACEXML_ENV_TYPE is used -#if !defined (ACE_USES_NATIVE_EXCEPTIONS) || defined (ACEXML_ENV_BKWD_COMPAT) -# define ACEXML_ENV_EMIT_CODE2(X,Y) X,Y -#else -# define ACEXML_ENV_EMIT_CODE2(X,Y) -#endif /* ACE_USES_NATIVE_EXCEPTIONS && ! ACEXML_ENV_BKWD_COMPAT */ - -/// Helper macro -#define ACEXML_ENV_EMIT_DUMMY - -/// Declare a ACEXML_ENV_TYPE argument as the last argument of a -/// function -/** - * Normally this macro is used as follows: - * - * <CODE>void my_funct (int x, int y ACEXML_ENV_ARG_DECL);</CODE> - * - * Its purpose is to provide developers (and users) with a mechanism to - * write code that is portable to platforms with and without native C++ - * exceptions. - */ -#define ACEXML_ENV_ARG_DECL \ - ACEXML_ENV_EMIT_CODE2(ACEXML_ENV_EMIT_DUMMY, \ - ACEXML_ENV_TYPE &ACEXML_TRY_ENV) - -/// Declare a ACEXML_ENV_TYPE argument that is not used by the -/// function definition. -/** - * Similar to ACEXML_ENV_ARG_DECL, but the formal parameter name is dropped to - * avoid warnings about unused parameters - */ -#define ACEXML_ENV_ARG_DECL_NOT_USED \ - ACEXML_ENV_EMIT_CODE2(ACEXML_ENV_EMIT_DUMMY, \ - ACEXML_ENV_TYPE &) - -/// Declare a ACEXML_ENV_TYPE argument for methods that do not take any other -/// parameters -#define ACEXML_ENV_SINGLE_ARG_DECL \ - ACEXML_ENV_EMIT_CODE(ACEXML_ENV_TYPE &ACEXML_TRY_ENV) - -/// Declare a ACEXML_ENV_TYPE argument for methods which don't use it. -#define ACEXML_ENV_SINGLE_ARG_DECL_NOT_USED \ - ACEXML_ENV_EMIT_CODE(ACEXML_ENV_TYPE &) - -/// Use the ACEXML_ENV_TYPE argument in a nested call -#define ACEXML_ENV_ARG_PARAMETER \ - ACEXML_ENV_EMIT_CODE2(ACEXML_ENV_EMIT_DUMMY, \ - ACEXML_TRY_ENV) - -/// Use the ACEXML_ENV_TYPE argument in a nested call, assuming that the -/// called function takes only the ACEXML_TRY_ENV argument. -#define ACEXML_ENV_SINGLE_ARG_PARAMETER \ - ACEXML_ENV_EMIT_CODE(ACEXML_TRY_ENV) - -/// Eliminate unused argument warnings about ACEXML_TRY_ENV -#define ACEXML_ENV_ARG_NOT_USED \ - ACEXML_ENV_EMIT_CODE(ACE_UNUSED_ARG(ACEXML_TRY_ENV)) -//@} - -#if !defined (ACE_USES_NATIVE_EXCEPTIONS) -// This thing can be moved above when we drop ACEXML_ENV_BKWD_COMPAT. -# define ACEXML_ENV_RAISE(ex) ACEXML_TRY_ENV.exception (ex) -#else -# define ACEXML_ENV_RAISE(ex) (ex)->_raise () -#endif /* ACEXML_CORBA_HAS_EXCEPTIONS */ - -#include /**/ "ace/post.h" - -#endif /* _ACEXML_MACROS_H */ diff --git a/ACE/ACEXML/common/XML_Types.h b/ACE/ACEXML/common/XML_Types.h deleted file mode 100644 index 5a55d6b7754..00000000000 --- a/ACE/ACEXML/common/XML_Types.h +++ /dev/null @@ -1,83 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file XML_Types.h - * - * This file collects the type definitions for data types - * used in ACE XML parser. - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - */ -//============================================================================= - -#ifndef _ACEXML_XML_TYPES_H_ -#define _ACEXML_XML_TYPES_H_ - -#include /**/ "ace/pre.h" -#include "ace/config-all.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Basic_Types.h" -#include "ace/SString.h" -#include "ace/Functor_String.h" - -# if defined (ACE_HAS_WCHAR) && (ACE_SIZEOF_WCHAR == 2) -typedef wchar_t ACEXML_UTF16; -# else -typedef ACE_USHORT16 ACEXML_UTF16; -# endif /* ACE_HAS_WCHAR && ACE_SIZEOF_WCHAR == 2 */ - -# if defined (ACE_HAS_WCHAR) && (ACE_SIZEOF_WCHAR == 4) -typedef wchar_t ACEXML_UCS4; -# else -typedef ACE_UINT32 ACEXML_UCS4; -# endif /* ACE_HAS_WCHAR && ACE_SIZEOF_WCHAR == 4 */ - -typedef char ACEXML_UTF8; - -/** - * @typedef ACEXML_Char - * ACEXML_Char only maps to ACEXML_UTF16 when ACE_USES_WCHAR is defined. - * Here we assume sizeof (wchar_t) is always 2 bytes. - * - * Default XML strings will use UTF-8 encoding. We would like to use - * the string classes in standard C++ Library here. But they are not - * very portable yet (as far as I know,) and I'll just use ACE_CString - * for now, unless UNICODE support is turned on. Notice that you - * should never convert strings between ACE_CString and ACE_WString - * using the built-in conversion functions as they only perform simple - * copy without any encoding conversion. - */ -typedef ACE_TCHAR ACEXML_Char; -# if defined (ACE_USES_WCHAR) -//typedef ACEXML_UTF16 ACEXML_Char; -typedef ACE_WString ACEXML_String; -# else -//typedef ACEXML_UTF8 ACEXML_Char; -typedef ACE_CString ACEXML_String; -# endif /* ACE_USES_WCHAR */ - -# if (!defined (ACEXML_HAS_INLINE) && defined (__ACE_INLINE__)) || (ACEXML_HAS_INLINE == 1) -# define __ACEXML_INLINE__ inline -# else -# if defined (__ACEXML_INLINE__) -# undef __ACEXML_INLINE__ -# endif /* __ACEXML_INLINE__ */ -# endif /* (!ACEXML_HAS_INLINE) && (__ACE_INLINE__) || (ACEXML_HAS_INLINE == 1) */ - -# if defined (__ACEXML_INLINE__) -# define ACEXML_INLINE inline -# else -# define ACEXML_INLINE -# endif /* __ACEXML_INLINE */ - - -#include /**/ "ace/post.h" - -#endif /* _ACEXML_XML_TYPE_H_ */ diff --git a/ACE/ACEXML/common/XML_Util.cpp b/ACE/ACEXML/common/XML_Util.cpp deleted file mode 100644 index 7b9b9fb00fe..00000000000 --- a/ACE/ACEXML/common/XML_Util.cpp +++ /dev/null @@ -1,46 +0,0 @@ -// $Id$ - -#include "ACEXML/common/XML_Util.h" - -static const ACEXML_Char ESCAPED_AMP[] = ACE_TEXT("&"); -static const ACEXML_Char ESCAPED_LESS[] = ACE_TEXT("<"); -static const ACEXML_Char ESCAPED_GREATER[] = ACE_TEXT(">"); -static const ACEXML_Char ESCAPED_APOS[] = ACE_TEXT("'"); -static const ACEXML_Char ESCAPED_QUOTE[] = ACE_TEXT("""); - -#define CSTRLEN(x) ((sizeof(x) / sizeof(ACEXML_Char)) - 1) - -ACEXML_String ACEXML_escape_string(const ACEXML_String& str) -{ - ACEXML_String ret(str.length ()); - ACEXML_escape_string(str, ret); - return ret; -} - -void ACEXML_escape_string(const ACEXML_String& in, ACEXML_String& out) -{ - size_t len = in.length (); - out.clear(); - for (size_t stridx = 0; stridx < len; ++stridx) - { - switch (in[stridx]) { - case '&': - out.append(ESCAPED_AMP, CSTRLEN(ESCAPED_AMP)); - break; - case '<': - out.append(ESCAPED_LESS, CSTRLEN(ESCAPED_LESS)); - break; - case '>': - out.append(ESCAPED_GREATER, CSTRLEN(ESCAPED_GREATER)); - break; - case '\'': - out.append(ESCAPED_APOS, CSTRLEN(ESCAPED_APOS)); - break; - case '\"': - out.append(ESCAPED_QUOTE, CSTRLEN(ESCAPED_QUOTE)); - break; - default: - out += in[stridx]; - } - } -} diff --git a/ACE/ACEXML/common/XML_Util.h b/ACE/ACEXML/common/XML_Util.h deleted file mode 100644 index 2844c33f397..00000000000 --- a/ACE/ACEXML/common/XML_Util.h +++ /dev/null @@ -1,33 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file XML_Util.h - * - * Initially contains a function to escape strings for use in XML files. - * - * $Id$ - * - * @author Justin Michel <michel_j@ociweb.com> - */ -//============================================================================= - -#ifndef _ACEXML_XML_UTIL_H_ -#define _ACEXML_XML_UTIL_H_ - -#include /**/ "ace/pre.h" - -#include "ACEXML/common/ACEXML_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ACEXML/common/XML_Types.h" - -ACEXML_Export ACEXML_String ACEXML_escape_string(const ACEXML_String& str); -ACEXML_Export void ACEXML_escape_string(const ACEXML_String& in, ACEXML_String& out); - -#include /**/ "ace/post.h" - -#endif /* _ACEXML_XML_UTIL_H_ */ diff --git a/ACE/ACEXML/common/ZipCharStream.cpp b/ACE/ACEXML/common/ZipCharStream.cpp deleted file mode 100644 index 4de9dc33abd..00000000000 --- a/ACE/ACEXML/common/ZipCharStream.cpp +++ /dev/null @@ -1,255 +0,0 @@ -// $Id$ - -#ifdef USE_ZZIP - -#include "ACEXML/common/ZipCharStream.h" -#include "ace/ACE.h" - - -ACEXML_ZipCharStream::ACEXML_ZipCharStream (void) - : filename_ (0), encoding_ (0), size_ (0), infile_ (0), pos_ (0), - limit_ (0) -{ -} - -ACEXML_ZipCharStream::~ACEXML_ZipCharStream (void) -{ - this->close(); -} - -int -ACEXML_ZipCharStream::open (const ACEXML_Char *name) -{ - delete[] this->filename_; - this->filename_ = 0; - - delete[] this->encoding_; - this->encoding_ = 0; - - this->infile_ = zzip_fopen (name, ACE_TEXT ("r")); - if (this->infile_ == 0) - return -1; - - this->filename_ = ACE::strnew (ACE::basename (name)); - return this->determine_encoding(); -} - -int -ACEXML_ZipCharStream::determine_encoding (void) -{ - if (this->infile_ == 0) - return -1; - char input[4]; - int i = 0; - for (; i < 4 && (input[i] = this->peekchar_i(i)) > 0; ++i) - ; - if (i < 4) - return -1; - const ACEXML_Char* temp = ACEXML_Encoding::get_encoding (input); - if (!temp) - return -1; - else - { - if (this->encoding_) - delete [] this->encoding_; - this->encoding_ = ACE::strnew (temp); - // ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("File's encoding is %s\n"), -// this->encoding_)); - } - // Move over the byte-order-mark if present. - char ch; - for (int j = 0; j < 3; ++j) - { - if ((ch = this->peekchar_i()) < 0) - return -1; - if (ch == '\xFF' || ch == '\xFE' || ch == '\xEF' || ch == '\xBB' || - ch == '\xBF') - this->get(ch); - else - break; - } - return 0; -} - -void -ACEXML_ZipCharStream::rewind() -{ - if (this->infile_ == 0) - return; - zzip_rewind (this->infile_); - this->determine_encoding(); -} - -int -ACEXML_ZipCharStream::available (void) -{ - if (this->infile_ == 0) - return -1; - long curr; - if ((curr = zzip_tell (this->infile_)) < 0) - return -1; - return (this->size_ - curr); -} - -int -ACEXML_ZipCharStream::close (void) -{ - if (this->infile_ != 0) - { - zzip_close (this->infile_); - this->infile_ = 0; - } - delete[] this->filename_; - this->filename_ = 0; - delete[] this->encoding_; - this->encoding_ = 0; - this->size_ = 0; - this->pos_ = 0; - this->limit_ = 0; - return 0; -} - - -int -ACEXML_ZipCharStream::getchar_i (char& ch) -{ - if (this->infile_ == 0) - return -1; - - if (this->pos_ < this->limit_) - { - ch = this->buf_[this->pos_++]; - return 0; - } - this->limit_ = zzip_read (this->infile_, this->buf_, sizeof (this->buf_)); - if (this->limit_ == 0) - return -1; - this->pos_ = 0; - ch = this->buf_[this->pos_++]; - return 0; -} - -int -ACEXML_ZipCharStream::peekchar_i (ACE_OFF_T offset) -{ - if (this->infile_ == 0) - return -1; - - if (offset > (ACE_OFF_T) sizeof (this->buf_)) - return -1; - if (this->pos_ + offset < this->limit_) - return this->buf_[this->pos_ + offset]; - int i = 0; - for (; this->pos_ < this->limit_; ++this->pos_, ++i) - this->buf_[i] = this->buf_[this->pos_]; - this->limit_ = zzip_read (this->infile_, this->buf_ + i, - sizeof (this->buf_) - i); - this->limit_ += i; - if (this->limit_ == 0) - return -1; - this->pos_ = 0; - return this->buf_[this->pos_ + offset]; -} - -int -ACEXML_ZipCharStream::read (ACEXML_Char *str, size_t len) -{ - if (this->infile_ == 0) - return -1; - - size_t i = 0; - for (; i < len && this->pos_ < this->limit_; ++i) - str[i] = this->buf_[this->pos_++]; - if (i == len) - return len; - len = len - i; - this->pos_ = 0; - this->limit_ = 0; - int bytes = zzip_fread (str + i, sizeof (ACEXML_Char), len, this->infile_); - return (bytes + i); -} - -int -ACEXML_ZipCharStream::get (ACEXML_Char& ch) -{ -#if defined (ACE_USES_WCHAR) - return this->get_i (ch); -#else - return this->getchar_i (ch); -#endif /* ACE_USES_WCHAR */ -} - - -int -ACEXML_ZipCharStream::peek (void) -{ -#if defined (ACE_USES_WCHAR) - return this->peek_i(); -#else - return this->peekchar_i(); -#endif /* ACE_USES_WCHAR */ -} - -const ACEXML_Char* -ACEXML_ZipCharStream::getEncoding (void) -{ - return this->encoding_; -} - -const ACEXML_Char* -ACEXML_ZipCharStream::getSystemId (void) -{ - return this->filename_; -} - -#if defined (ACE_USES_WCHAR) -int -ACEXML_ZipCharStream::get_i (ACEXML_Char& ch) -{ - if (ACE_OS::strcmp (this->encoding_, ACE_TEXT ("UTF-8")) == 0) - return this->getchar_i (ch); - - int BE = (ACE_OS::strcmp (this->encoding_, - ACE_TEXT ("UTF-16BE")) == 0) ? 1 : 0; - ACEXML_Char input[2]; - int i = 0; - for (; i < 2 && (this->getchar_i (input[i]) == 0); ++i) - ; - if (i < 2) - { - ch = 0; - return -1; - } - ch = BE ? input[0] << 8 | input[1] : input[1] << 8 | input[0]; - return 0; -} - -int -ACEXML_ZipCharStream::peek_i (void) -{ - - // If we are reading a UTF-8 encoded file, just use the plain unget. - if (ACE_OS::strcmp (this->encoding_, ACE_TEXT ("UTF-8")) == 0) - return this->peekchar_i(); - - // Peek into the stream. This reads two characters off the stream, keeps - // it in peek_. - int BE = (ACE_OS::strcmp (this->encoding_, - ACE_TEXT ("UTF-16BE")) == 0) ? 1 : 0; - - ACEXML_Char input[2]; - int i = 0; - for (; i < 2 && (input[i] = this->peekchar_i (i)) > 0; ++i) - ; - if (i < 2) - return -1; - return (BE ? input[0] << 8 | input[1] : input[1] << 8 | input[0]); -} -#endif /* ACE_USES_WCHAR */ - -#else -#if defined (__HP_aCC) -static int shut_up_aCC = 0; -#endif /* __HP_aCC */ - -#endif /* USE_ZZIP */ diff --git a/ACE/ACEXML/common/ZipCharStream.h b/ACE/ACEXML/common/ZipCharStream.h deleted file mode 100644 index 1aa28f6f0b8..00000000000 --- a/ACE/ACEXML/common/ZipCharStream.h +++ /dev/null @@ -1,144 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file ZipCharStream.h - * - * $Id$ - * - * @author Krishnakumar B <kitty@cs.wustl.edu> - */ -//============================================================================= - -#ifndef _ACEXML_ZIPCHARSTREAM_H_ -#define _ACEXML_ZIPCHARSTREAM_H_ - -#ifdef USE_ZZIP - -#include /**/ "ace/pre.h" -#include "ACEXML/common/ACEXML_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ACEXML/common/CharStream.h" -#include "ACEXML/common/Encoding.h" -#include "zzip/zzip.h" - -// Ugly wart to get aroung a macro version of read defined in zzip.h. Evil... -#ifdef read -#undef read -#endif - -/** - * @class ACEXML_ZipCharStream - * - * An implementation of ACEXML_CharStream for reading input from a ZIP archive. - */ -class ACEXML_Export ACEXML_ZipCharStream : public ACEXML_CharStream -{ -public: - /// Default constructor. - ACEXML_ZipCharStream (void); - - /// Destructor - virtual ~ACEXML_ZipCharStream (void); - - /// Open a file. - int open (const ACEXML_Char *name); - - /** - * Returns the available ACEXML_Char in the buffer. -1 - * if the object is not initialized properly. - */ - virtual int available (void); - - /** - * Close this stream and release all resources used by it. - */ - virtual int close (void); - - /** - * Read the next ACEXML_Char. Return -1 if we are not able to - * return an ACEXML_Char, 0 if EOF is reached, or 1 if succeed. - */ - virtual int get (ACEXML_Char& ch); - - /** - * Read the next batch of ACEXML_Char strings - */ - virtual int read (ACEXML_Char *str, size_t len); - - /** - * Determine the encoding of the file. - */ - virtual int determine_encoding (void); - - - /** - * Peek the next ACEXML_Char in the CharStream. Return the - * character if success, -1 if EOF is reached. - */ - virtual int peek (void); - - /** - * Resets the file pointer to the beginning of the stream. - */ - virtual void rewind (void); - - /* - * Get the character encoding for a byte stream or URI. - */ - virtual const ACEXML_Char *getEncoding (void); - - /* - * Get the systemId for the underlying CharStream - */ - virtual const ACEXML_Char* getSystemId (void); - -protected: - - /** Read the next character as a normal character. Return -1 if EOF is - * reached, else return 0. - */ - virtual int getchar_i (char& ch); - - /** - * Peek @c offset bytes into the stream and return the character at @c - * offset. If EOF is reached, return -1. - */ - virtual int peekchar_i (ACE_OFF_T offset = 0); - -private: - -#if defined (ACE_USES_WCHAR) - /** - * Read the next character from the stream taking into account the - * encoding of the file. - */ - int get_i (ACEXML_Char& ch); - - /** - * Return the next character from the stream taking into account the - * encoding of the file. Subsequent call to get() returns this - * character. - */ - int peek_i (void); - -#endif /* ACE_USES_WCHAR */ - - ACEXML_Char* filename_; - ACEXML_Char* encoding_; - ACE_OFF_T size_; - ZZIP_FILE* infile_; - char buf_[80]; - int pos_; - int limit_; -}; - -#include /**/ "ace/post.h" - -#endif /* USE_ZZIP */ - -#endif /* _ACEXML_ZIPCHARSTREAM_H_ */ diff --git a/ACE/ACEXML/common/codecs.mpb b/ACE/ACEXML/common/codecs.mpb deleted file mode 100644 index aea3ee9b7e0..00000000000 --- a/ACE/ACEXML/common/codecs.mpb +++ /dev/null @@ -1,8 +0,0 @@ -// -*- MPC -*- -// $Id$ - -feature(ace_codecs, !ace_for_tao) { - Source_Files { - XML_Codecs.cpp - } -} diff --git a/ACE/ACEXML/common/common.mpc b/ACE/ACEXML/common/common.mpc deleted file mode 100644 index 3b469ffde37..00000000000 --- a/ACE/ACEXML/common/common.mpc +++ /dev/null @@ -1,33 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project(ACEXML): acelib, ace_output, codecs, install, zzip, zlib { - avoids += ace_for_tao - sharedname = ACEXML - dynamicflags += ACEXML_BUILD_DLL - - Source_Files { - // This file will only be added if the ace_codecs feature is enabled. - // See codecs.mpb for more information. - !XML_Codecs.cpp - } - - Header_Files { - ACEXML_Export.h - Attributes.h - ContentHandler.h - DTDHandler.h - EntityResolver.h - ErrorHandler.h - Locator.h - XMLFilter.h - XMLReader.h - XML_Macros.h - XML_Types.h - XML_Util.h - } - - Pkgconfig_Files { - ACEXML.pc.in - } -} diff --git a/ACE/ACEXML/docs/TODO.txt b/ACE/ACEXML/docs/TODO.txt deleted file mode 100644 index e7e48ca67c4..00000000000 --- a/ACE/ACEXML/docs/TODO.txt +++ /dev/null @@ -1,17 +0,0 @@ -/** -@page acexml_todo ACEXML TO-DO List - -<ul> - - <li>Add Schema parsing ability. - - <li>Add support for resolving external entities, such as a - schema/namespace definition located on the web. - - <li>Add parameterized entity management class. See above. - - <li>Define validator building/calling interfaces. - -</ul> - -*/ diff --git a/ACE/ACEXML/docs/bugs.txt b/ACE/ACEXML/docs/bugs.txt deleted file mode 100644 index 136e0cd7117..00000000000 --- a/ACE/ACEXML/docs/bugs.txt +++ /dev/null @@ -1,17 +0,0 @@ -/** -@page acexml_bugs ACEXML Known Bugs - -<ul> - <li>ACEXML currently do not validate an XML files. The validator - hooks have not fully integrated into the parser yet. - - <li>Need to verify predefined entities are working correctly. Check - out the SAXPrint example. - - <li>Currently, replacement of parameterized reference (PEReference) is - not working. - -</ul> - - -*/ diff --git a/ACE/ACEXML/docs/guidelines.txt b/ACE/ACEXML/docs/guidelines.txt deleted file mode 100644 index 9d084924c2c..00000000000 --- a/ACE/ACEXML/docs/guidelines.txt +++ /dev/null @@ -1,39 +0,0 @@ -// -*- HTML-Helper -*- $Id$ - -/** -@page acexml_guides ACEXML Programming Guidelines - -<ul> - <li>A lot of class names under @c $(ACE_ROOT)/ACEXML/common do not - follow the naming convention suggested in ACE-guidelines.html. - The reason for that is because those classes were derived from - the SAX2 API and we would like to keep them as similar as - possible. - <li>Character encoding: The default character encoding for ACEXML - can be set at compile time. ACEXML uses UTF-8 encoding in most - platforms where <code>ACEXML_Char</code> maps to - <code>char</code> in this case. When ACE is configured to use - <CODE>wchar</CODE> and <CODE>UNICODE</CODE>, ACEXML uses UTF-16 - encoding and <code>ACEXML_Char</code> maps to - <code>wchar_t</code>. Notice that ACEXML assume - <code>sizeof (wchar_t)</code> is of 2-byte long. For platforms - using 4-byte <code>wchar_t</code>, ACEXML will not work - correctly, but it should be trivial to fix.<p> - - <li>Currently, there's only an example showing how to use the parser - under @c $(ACE_ROOT)/ACEXML/examples/SAXPrint/. - - <li><b>(Not supported yet)</b> To develop a new validator, one must - create a DLL implementing - @c ACEXML_Attributes_Def_Builder, @c - ACEXML_Attribute_Def_Builder, @c ACEXML_Element_Def_Builder, - @c ACEXML_Validator, and @c ACEXML_DTD_Manager. The DLL should - also export a traditional C function called @c - create_dtd_manager. The XML parser itself should also be - modified to support and dynamically link with the new validator. - See @c $(ACE_ROOT)/ACEXML/parser/debug_validator/ for an example. - -</ul> - - -*/ diff --git a/ACE/ACEXML/docs/parser_features.txt b/ACE/ACEXML/docs/parser_features.txt deleted file mode 100644 index c65930e32a2..00000000000 --- a/ACE/ACEXML/docs/parser_features.txt +++ /dev/null @@ -1,25 +0,0 @@ -/** -*- HTML-Helper -*- $Id$ -@defgroup acexml_parser_features Configurable Special Features of ACEXML Parser -@{ - -There are special features in ACEXML Parser that can be -activated/deactivated thru @c setFeature. Likewise, whether a feature -has been activated or not can be queried using @c getFeature. - -@sa ACEXML_XMLReader::setFeature -@sa ACEXML_XMLReader::getFeature - -Here is a list of supported features: - -<OL> - <li> namespaces - When this feature is enabled, ACEXML parser allows - access by namespace qualified names. - - <li> namespace_prefixes - Normally the list of attributes returned by the - parser will not contain attributes used as namespace declarations - (xmlns:foo="bar"). When this feature is enabled, the list of attributes - contains the namespace declarations also. -</OL> - -@} -*/ diff --git a/ACE/ACEXML/docs/readme.txt b/ACE/ACEXML/docs/readme.txt deleted file mode 100644 index f0de833b526..00000000000 --- a/ACE/ACEXML/docs/readme.txt +++ /dev/null @@ -1,36 +0,0 @@ -/** -*- HTML-Helper -*- $Id$ -@mainpage ACEXML - A Small and Portable XML Parser - -@section acexml_synopsis Synopsis -ACEXML is a small footprint and portable framework for integrating XML -parsing ability into user applications. The framework is based on the - <a href="http://www.saxproject.org/"> Simple API for XML -(SAX 2.0) </A> by David Megginson. A simple non-conformant XML parser -is also included in the framework. Since our original motivation was -to use the parser for specifying software composition and -configuration descriptors, at the current stage, the parser does not -fully support all the features specified in the XML specification. - -We do, however, plan to add more features to the parser and will -either release a more versatile parser or allow the current parser to -dynamically load in the extra features in the future. - -@section acexml_features Features of ACEXML -<ul> - <li> ACEXML only recognize UNICODE documents, although they can be - in various different encoding, such as UTF-8, UTF-16, or UCS-4. - Therefore, it might be a problem to handle document containing - multi-byte charatersets. They can, however, be translated into - UNICODE before being parsed by ACEXML parser. -</ul> - - -@section acexml_others Other Topics -<ol> - <li>@ref acexml_parser_features - <li>@ref acexml_guides - <li>@ref acexml_bugs - <li>@ref acexml_todo -</ol> - -*/ diff --git a/ACE/ACEXML/examples/Makefile.am b/ACE/ACEXML/examples/Makefile.am deleted file mode 100644 index 0ddb642570a..00000000000 --- a/ACE/ACEXML/examples/Makefile.am +++ /dev/null @@ -1,13 +0,0 @@ -## Process this file with automake to create Makefile.in -## -## $Id$ -## -## This file was generated by MPC. Any changes made directly to -## this file will be lost the next time it is generated. -## -## MPC Command: -## ./bin/mwc.pl -type automake -noreldefs ACE.mwc - -SUBDIRS = \ - SAXPrint - diff --git a/ACE/ACEXML/examples/SAXPrint/Makefile.am b/ACE/ACEXML/examples/SAXPrint/Makefile.am deleted file mode 100644 index d196510359f..00000000000 --- a/ACE/ACEXML/examples/SAXPrint/Makefile.am +++ /dev/null @@ -1,75 +0,0 @@ -## Process this file with automake to create Makefile.in -## -## $Id$ -## -## This file was generated by MPC. Any changes made directly to -## this file will be lost the next time it is generated. -## -## MPC Command: -## ./bin/mwc.pl -type automake -noreldefs ACE.mwc - -ACE_BUILDDIR = $(top_builddir) -ACE_ROOT = $(top_srcdir) - - -## Makefile.SAXPrint.am - -if BUILD_ACEXML -if !BUILD_ACE_FOR_TAO - -noinst_PROGRAMS = SAXPrint - -SAXPrint_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(ACE_ROOT)/ACEXML/common - -if BUILD_ZLIB -if BUILD_ZZIP -SAXPrint_CPPFLAGS += \ - $(ACE_ZZIP_CPPFLAGS) \ - $(ACE_ZLIB_CPPFLAGS) -endif BUILD_ZZIP -endif BUILD_ZLIB - -SAXPrint_SOURCES = \ - Print_Handler.cpp \ - SAXPrint_Handler.cpp \ - main.cpp \ - Print_Handler.h \ - SAXPrint_Handler.h \ - SAXPrint_Handler.inl - -SAXPrint_LDFLAGS = - -if BUILD_ZLIB -if BUILD_ZZIP -SAXPrint_LDFLAGS += \ - $(ACE_ZZIP_LDFLAGS) \ - $(ACE_ZLIB_LDFLAGS) -endif BUILD_ZZIP -endif BUILD_ZLIB - -SAXPrint_LDADD = \ - $(ACE_BUILDDIR)/ACEXML/parser/parser/libACEXML_Parser.la \ - $(ACE_BUILDDIR)/ACEXML/common/libACEXML.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -if BUILD_ZLIB -if BUILD_ZZIP -SAXPrint_LDADD += \ - $(ACE_ZZIP_LIBS) \ - $(ACE_ZLIB_LIBS) -endif BUILD_ZZIP -endif BUILD_ZLIB - -endif !BUILD_ACE_FOR_TAO -endif BUILD_ACEXML - -## Clean up template repositories, etc. -clean-local: - -rm -f *~ *.bak *.rpo *.sym lib*.*_pure_* core core.* - -rm -f gcctemp.c gcctemp so_locations *.ics - -rm -rf cxx_repository ptrepository ti_files - -rm -rf templateregistry ir.out - -rm -rf ptrepository SunWS_cache Templates.DB diff --git a/ACE/ACEXML/examples/SAXPrint/Print_Handler.cpp b/ACE/ACEXML/examples/SAXPrint/Print_Handler.cpp deleted file mode 100644 index 4bcf19e1b07..00000000000 --- a/ACE/ACEXML/examples/SAXPrint/Print_Handler.cpp +++ /dev/null @@ -1,238 +0,0 @@ -// -*- C++ -*- $Id$ - -#include "Print_Handler.h" -#include "ace/ACE.h" -#include "ace/Log_Msg.h" - -ACEXML_Print_Handler::ACEXML_Print_Handler (ACEXML_Char* fileName) - : fileName_(ACE::strnew (fileName)) -{ - -} - -ACEXML_Print_Handler::~ACEXML_Print_Handler (void) -{ - delete[] this->fileName_; -} - -void -ACEXML_Print_Handler::characters (const ACEXML_Char *cdata, - size_t start, - size_t length ACEXML_ENV_ARG_DECL_NOT_USED) -{ - - - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("* Event characters () ** start: %u end: %u ***************\n%s\n- End event characters () ---------------\n"), - start, length, cdata)); -} - -void -ACEXML_Print_Handler::endDocument (ACEXML_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - - - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("* Event endDocument () ***************\n"))); -} - -void -ACEXML_Print_Handler::endElement (const ACEXML_Char *uri, - const ACEXML_Char *name, - const ACEXML_Char *qName - ACEXML_ENV_ARG_DECL_NOT_USED) -{ - - - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("* Event endElement (%s, %s, %s) ***************\n"), - uri, name, qName)); -} - -void -ACEXML_Print_Handler::endPrefixMapping (const ACEXML_Char *prefix - ACEXML_ENV_ARG_DECL_NOT_USED) -{ - - - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("* Event endPrefixMapping (%s) ***************\n"), - prefix)); -} - -void -ACEXML_Print_Handler::ignorableWhitespace (const ACEXML_Char *, - int, - int - ACEXML_ENV_ARG_DECL_NOT_USED) -{ - // ACE_DEBUG ((LM_DEBUG, - // ACE_TEXT ("* Event ignorableWhitespace () ***************\n"))); -} - -void -ACEXML_Print_Handler::processingInstruction (const ACEXML_Char *target, - const ACEXML_Char *data - ACEXML_ENV_ARG_DECL_NOT_USED) -{ - - - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("* Event processingInstruction (%s, %s) ***************\n"), - target, data)); -} - -void -ACEXML_Print_Handler::setDocumentLocator (ACEXML_Locator * locator) -{ - - this->locator_ = locator; - // ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("* Event setDocumentLocator () ***************\n"))); -} - -void -ACEXML_Print_Handler::skippedEntity (const ACEXML_Char *name - ACEXML_ENV_ARG_DECL_NOT_USED) -{ - - - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("* Event skippedEntity (%s) ***************\n"), - name)); -} - -void -ACEXML_Print_Handler::startDocument (ACEXML_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - - - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("* Event startDocument () ***************\n"))); -} - -void -ACEXML_Print_Handler::startElement (const ACEXML_Char *uri, - const ACEXML_Char *name, - const ACEXML_Char *qName, - ACEXML_Attributes *alist - ACEXML_ENV_ARG_DECL_NOT_USED) -{ - - - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("* Event startElement (%s, %s, %s) ***************\n"), - uri, name, qName)); - - if (alist != 0) - for (size_t i = 0; i < alist->getLength (); ++i) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT (" %s = \"%s\"\n"), - alist->getQName (i), alist->getValue (i))); - } -} - -void -ACEXML_Print_Handler::startPrefixMapping (const ACEXML_Char * prefix, - const ACEXML_Char * uri ACEXML_ENV_ARG_DECL_NOT_USED) -{ - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("* Event startPrefixMapping () ***************\n"))); - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("Prefix = %s, URI = %s\n"), prefix, uri)); -} - -// *** Methods inherit from ACEXML_DTDHandler. - -void -ACEXML_Print_Handler::notationDecl (const ACEXML_Char *name, - const ACEXML_Char *publicID, - const ACEXML_Char *systemID ACEXML_ENV_ARG_DECL_NOT_USED) -{ - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("* Event notationDecl: (%s) "), - name)); - - if (publicID == 0) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("SYSTEM %s\n"), - systemID)); - else if (systemID == 0) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("PUBLIC %s\n"), - publicID)); - else - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("PUBLIC %s %s\n"), - publicID, systemID)); -} - -void -ACEXML_Print_Handler::unparsedEntityDecl (const ACEXML_Char *name, - const ACEXML_Char *publicID, - const ACEXML_Char *systemID, - const ACEXML_Char *notationName ACEXML_ENV_ARG_DECL_NOT_USED) -{ - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("* Unparsed Entity: %s"), - name)); - - if (publicID == 0) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT (" SYSTEM %s"), - systemID)); - else - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT (" PUBLIC %s %s"), - publicID, systemID)); - - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT (" NDATA %s\n"), - notationName)); -} - -// Methods inherit from ACEXML_EnitityResolver. - -ACEXML_InputSource * -ACEXML_Print_Handler::resolveEntity (const ACEXML_Char *, - const ACEXML_Char * ACEXML_ENV_ARG_DECL_NOT_USED) -{ - // No-op. - return 0; -} - -// Methods inherit from ACEXML_ErrorHandler. - -/* - * Receive notification of a recoverable error. - */ -void -ACEXML_Print_Handler::error (ACEXML_SAXParseException & ex ACEXML_ENV_ARG_DECL_NOT_USED) -{ - ACE_DEBUG ((LM_DEBUG, "%s: line: %d col: %d ", - (this->locator_->getSystemId() == 0 ? this->fileName_ : this->locator_->getSystemId()), - this->locator_->getLineNumber(), - this->locator_->getColumnNumber())); - ex.print(); -} - -void -ACEXML_Print_Handler::fatalError (ACEXML_SAXParseException& ex ACEXML_ENV_ARG_DECL_NOT_USED) -{ - ACE_DEBUG ((LM_DEBUG, "%s: line: %d col: %d ", - (this->locator_->getSystemId() == 0 ? this->fileName_ : this->locator_->getSystemId()), - this->locator_->getLineNumber(), - this->locator_->getColumnNumber())); - ex.print(); - -} - -void -ACEXML_Print_Handler::warning (ACEXML_SAXParseException & ex ACEXML_ENV_ARG_DECL_NOT_USED) -{ - ACE_DEBUG ((LM_DEBUG, "%s: line: %d col: %d ", - (this->locator_->getSystemId() == 0 ? this->fileName_ : this->locator_->getSystemId()), - this->locator_->getLineNumber(), - this->locator_->getColumnNumber())); - ex.print(); -} diff --git a/ACE/ACEXML/examples/SAXPrint/Print_Handler.h b/ACE/ACEXML/examples/SAXPrint/Print_Handler.h deleted file mode 100644 index c7beebc02b7..00000000000 --- a/ACE/ACEXML/examples/SAXPrint/Print_Handler.h +++ /dev/null @@ -1,171 +0,0 @@ -// $Id$ - -//============================================================================= -/** - * @file Print_Handler.h - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - */ -//============================================================================= - -#ifndef ACEXML_PRINT_HANDLER_H -#define ACEXML_PRINT_HANDLER_H - -#include "ACEXML/common/DefaultHandler.h" - -/** - * @class ACEXML_Print_Handler - * - * @brief ACEXML_Print_Handler is an example SAX event handler. - * - * This SAX event handler prints out a detailed event report - * on every event it receives. - */ -class ACEXML_Print_Handler : public ACEXML_DefaultHandler -{ -public: - /* - * Default constructor. - */ - ACEXML_Print_Handler (ACEXML_Char* fileName); - - /* - * Default destructor. - */ - virtual ~ACEXML_Print_Handler (void); - - // Methods inherited from ACEXML_ContentHandler. - - /* - * Receive notification of character data. - */ - virtual void characters (const ACEXML_Char *ch, - size_t start, - size_t length ACEXML_ENV_ARG_DECL) - ; - - /* - * Receive notification of the end of a document. - */ - virtual void endDocument (ACEXML_ENV_SINGLE_ARG_DECL) - ; - - /* - * Receive notification of the end of an element. - */ - virtual void endElement (const ACEXML_Char *namespaceURI, - const ACEXML_Char *localName, - const ACEXML_Char *qName ACEXML_ENV_ARG_DECL) - ; - - /* - * End the scope of a prefix-URI mapping. - */ - virtual void endPrefixMapping (const ACEXML_Char *prefix ACEXML_ENV_ARG_DECL) - ; - - /* - * Receive notification of ignorable whitespace in element content. - */ - virtual void ignorableWhitespace (const ACEXML_Char *ch, - int start, - int length ACEXML_ENV_ARG_DECL) - ; - - /* - * Receive notification of a processing instruction. - */ - virtual void processingInstruction (const ACEXML_Char *target, - const ACEXML_Char *data ACEXML_ENV_ARG_DECL) - ; - - /* - * Receive an object for locating the origin of SAX document events. - */ - virtual void setDocumentLocator (ACEXML_Locator *locator) ; - - /* - * Receive notification of a skipped entity. - */ - virtual void skippedEntity (const ACEXML_Char *name ACEXML_ENV_ARG_DECL) - ; - - /* - * Receive notification of the beginning of a document. - */ - virtual void startDocument (ACEXML_ENV_SINGLE_ARG_DECL) - ; - - /* - * Receive notification of the beginning of an element. - */ - virtual void startElement (const ACEXML_Char *namespaceURI, - const ACEXML_Char *localName, - const ACEXML_Char *qName, - ACEXML_Attributes *atts ACEXML_ENV_ARG_DECL) - ; - - /* - * Begin the scope of a prefix-URI Namespace mapping. - */ - virtual void startPrefixMapping (const ACEXML_Char *prefix, - const ACEXML_Char *uri ACEXML_ENV_ARG_DECL) - ; - - // *** Methods inherit from ACEXML_DTDHandler. - - /* - * Receive notification of a notation declaration event. - */ - virtual void notationDecl (const ACEXML_Char *name, - const ACEXML_Char *publicId, - const ACEXML_Char *systemId ACEXML_ENV_ARG_DECL) - ; - - /* - * Receive notification of an unparsed entity declaration event. - */ - virtual void unparsedEntityDecl (const ACEXML_Char *name, - const ACEXML_Char *publicId, - const ACEXML_Char *systemId, - const ACEXML_Char *notationName ACEXML_ENV_ARG_DECL) - ; - - // Methods inherit from ACEXML_EnitityResolver. - - /* - * Allow the application to resolve external entities. - */ - virtual ACEXML_InputSource *resolveEntity (const ACEXML_Char *publicId, - const ACEXML_Char *systemId ACEXML_ENV_ARG_DECL) - ; - - // Methods inherit from ACEXML_ErrorHandler. - - /* - * Receive notification of a recoverable error. - */ - virtual void error (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL) - ; - - /* - * Receive notification of a non-recoverable error. - */ - virtual void fatalError (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL) - ; - - /* - * Receive notification of a warning. - */ - virtual void warning (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL) - ; -private: - - ACEXML_Char* fileName_; - ACEXML_Locator* locator_; - -}; - -#endif /* ACEXML_PRINT_HANDLER_H */ diff --git a/ACE/ACEXML/examples/SAXPrint/SAXPrint.mpc b/ACE/ACEXML/examples/SAXPrint/SAXPrint.mpc deleted file mode 100644 index 4fea0873337..00000000000 --- a/ACE/ACEXML/examples/SAXPrint/SAXPrint.mpc +++ /dev/null @@ -1,6 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project(SAXPrint): aceexe, acexml { - exename = SAXPrint -} diff --git a/ACE/ACEXML/examples/SAXPrint/SAXPrint_Handler.cpp b/ACE/ACEXML/examples/SAXPrint/SAXPrint_Handler.cpp deleted file mode 100644 index 90182166b17..00000000000 --- a/ACE/ACEXML/examples/SAXPrint/SAXPrint_Handler.cpp +++ /dev/null @@ -1,226 +0,0 @@ -// -*- C++ -*- $Id$ - -#include "SAXPrint_Handler.h" -#include "ace/ACE.h" -#include "ace/Log_Msg.h" - -#if !defined (__ACEXML_INLINE__) -# include "SAXPrint_Handler.inl" -#endif /* __ACEXML_INLINE__ */ - -ACEXML_SAXPrint_Handler::ACEXML_SAXPrint_Handler (const ACEXML_Char* filename) - : indent_ (0), fileName_(ACE::strnew (filename)), locator_ (0) -{ - // no-op -} - -ACEXML_SAXPrint_Handler::~ACEXML_SAXPrint_Handler (void) -{ - delete [] this->fileName_; -} - -void -ACEXML_SAXPrint_Handler::characters (const ACEXML_Char *cdata, - size_t, - size_t - ACEXML_ENV_ARG_DECL_NOT_USED) -{ - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("%s"), - cdata)); -} - -void -ACEXML_SAXPrint_Handler::endDocument (ACEXML_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - - - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n"))); -} - -void -ACEXML_SAXPrint_Handler::endElement (const ACEXML_Char *, - const ACEXML_Char *, - const ACEXML_Char *qName - ACEXML_ENV_ARG_DECL_NOT_USED) -{ - - - this->dec_indent (); - this->print_indent (); - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("</%s>"), - qName)); -} - -void -ACEXML_SAXPrint_Handler::endPrefixMapping (const ACEXML_Char * - ACEXML_ENV_ARG_DECL_NOT_USED) -{ -// ACE_DEBUG ((LM_DEBUG, -// ACE_TEXT ("* Event endPrefixMapping (%s) ***************\n"), -// prefix)); -} - -void -ACEXML_SAXPrint_Handler::ignorableWhitespace (const ACEXML_Char * cdata, - int, - int ACEXML_ENV_ARG_DECL_NOT_USED) -{ - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("%s"), - cdata)); -// ACE_DEBUG ((LM_DEBUG, - // ACE_TEXT ("* Event ignorableWhitespace () ***************\n"))); -} - -void -ACEXML_SAXPrint_Handler::processingInstruction (const ACEXML_Char *target, - const ACEXML_Char *data - ACEXML_ENV_ARG_DECL_NOT_USED) -{ - - - this->print_indent (); - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("<?%s %s>\n"), - target, data)); -} - -void -ACEXML_SAXPrint_Handler::setDocumentLocator (ACEXML_Locator * locator) -{ - - this->locator_ = locator; - //ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("* Event setDocumentLocator () ***************\n"))); -} - -void -ACEXML_SAXPrint_Handler::skippedEntity (const ACEXML_Char *name - ACEXML_ENV_ARG_DECL_NOT_USED) -{ - - - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("* Event skippedEntity (%s) ***************\n"), - name)); -} - -void -ACEXML_SAXPrint_Handler::startDocument (ACEXML_ENV_SINGLE_ARG_DECL_NOT_USED) -{ - - - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("* Event startDocument () ***************\n"))); -} - -void -ACEXML_SAXPrint_Handler::startElement (const ACEXML_Char *, - const ACEXML_Char *, - const ACEXML_Char *qName, - ACEXML_Attributes *alist - ACEXML_ENV_ARG_DECL_NOT_USED) -{ - - - this->print_indent (); - - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("<%s"), - qName)); - if (alist != 0) - for (size_t i = 0; i < alist->getLength (); ++i) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT (" %s = \"%s\""), - alist->getQName (i), alist->getValue (i))); - } - ACE_DEBUG ((LM_DEBUG, ACE_TEXT (">"))); - this->inc_indent (); -} - -void -ACEXML_SAXPrint_Handler::startPrefixMapping (const ACEXML_Char * , - const ACEXML_Char * ACEXML_ENV_ARG_DECL_NOT_USED) -{ -// ACE_DEBUG ((LM_DEBUG, -// ACE_TEXT ("* Event startPrefixMapping () ***************\n"))); -// ACE_DEBUG ((LM_DEBUG, -// ACE_TEXT ("Prefix = %s, URI = %s\n"), prefix, uri)); - -} - -// *** Methods inherited from ACEXML_DTDHandler. - -void -ACEXML_SAXPrint_Handler::notationDecl (const ACEXML_Char *, - const ACEXML_Char *, - const ACEXML_Char * ACEXML_ENV_ARG_DECL_NOT_USED) -{ - // No-op. -} - -void -ACEXML_SAXPrint_Handler::unparsedEntityDecl (const ACEXML_Char *, - const ACEXML_Char *, - const ACEXML_Char *, - const ACEXML_Char * ACEXML_ENV_ARG_DECL_NOT_USED) -{ - // No-op. -} - -// Methods inherited from ACEXML_EnitityResolver. - -ACEXML_InputSource * -ACEXML_SAXPrint_Handler::resolveEntity (const ACEXML_Char *, - const ACEXML_Char * ACEXML_ENV_ARG_DECL_NOT_USED) -{ - // No-op. - return 0; -} - -// Methods inherited from ACEXML_ErrorHandler. - -/* - * Receive notification of a recoverable error. - */ -void -ACEXML_SAXPrint_Handler::error (ACEXML_SAXParseException & ex - ACEXML_ENV_ARG_DECL_NOT_USED) -{ - ACE_DEBUG ((LM_DEBUG, "%s: line: %d col: %d ", - (this->locator_->getSystemId() == 0 ? this->fileName_ : this->locator_->getSystemId()), - this->locator_->getLineNumber(), - this->locator_->getColumnNumber())); - ex.print(); -} - -void -ACEXML_SAXPrint_Handler::fatalError (ACEXML_SAXParseException & ex - ACEXML_ENV_ARG_DECL_NOT_USED) -{ - ACE_DEBUG ((LM_DEBUG, "%s: line: %d col: %d ", - (this->locator_->getSystemId() == 0 ? this->fileName_ : this->locator_->getSystemId()), - this->locator_->getLineNumber(), - this->locator_->getColumnNumber())); - ex.print(); -} - -void -ACEXML_SAXPrint_Handler::warning (ACEXML_SAXParseException & ex - ACEXML_ENV_ARG_DECL_NOT_USED) -{ - ACE_DEBUG ((LM_DEBUG, "%s: line: %d col: %d ", - (this->locator_->getSystemId() == 0 ? this->fileName_ : this->locator_->getSystemId()), - this->locator_->getLineNumber(), - this->locator_->getColumnNumber())); - ex.print(); -} - -void -ACEXML_SAXPrint_Handler::print_indent (void) -{ - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n"))); - for (size_t i = 0; i < this->indent_; ++i) - ACE_DEBUG ((LM_DEBUG, ACE_TEXT (" "))); -} diff --git a/ACE/ACEXML/examples/SAXPrint/SAXPrint_Handler.h b/ACE/ACEXML/examples/SAXPrint/SAXPrint_Handler.h deleted file mode 100644 index 1f7ba8381b4..00000000000 --- a/ACE/ACEXML/examples/SAXPrint/SAXPrint_Handler.h +++ /dev/null @@ -1,180 +0,0 @@ -// $Id$ - -//============================================================================= -/** - * @file SAXPrint_Handler.h - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - */ -//============================================================================= - -#ifndef ACEXML_SAXPRINT_HANDLER_H -#define ACEXML_SAXPRINT_HANDLER_H - -#include "ACEXML/common/DefaultHandler.h" - -/** - * @class ACEXML_SAXPrint_Handler - * - * @brief ACEXML_SAXPrint_Handler is an example SAX event handler. - * - * This SAX event handler try to regenerate the XML document it - * reads with correct indentation. - */ -class ACEXML_SAXPrint_Handler : public ACEXML_DefaultHandler -{ -public: - /* - * Default constructor. - */ - ACEXML_SAXPrint_Handler (const ACEXML_Char* name); - - /* - * Default destructor. - */ - virtual ~ACEXML_SAXPrint_Handler (void); - - // Methods inherit from ACEXML_ContentHandler. - - /* - * Receive notification of character data. - */ - virtual void characters (const ACEXML_Char *ch, - size_t start, - size_t length - ACEXML_ENV_ARG_DECL) - ; - - /* - * Receive notification of the end of a document. - */ - virtual void endDocument (ACEXML_ENV_SINGLE_ARG_DECL) - ; - - /* - * Receive notification of the end of an element. - */ - virtual void endElement (const ACEXML_Char *namespaceURI, - const ACEXML_Char *localName, - const ACEXML_Char *qName ACEXML_ENV_ARG_DECL) - ; - - /* - * End the scope of a prefix-URI mapping. - */ - virtual void endPrefixMapping (const ACEXML_Char *prefix ACEXML_ENV_ARG_DECL) - ; - - /* - * Receive notification of ignorable whitespace in element content. - */ - virtual void ignorableWhitespace (const ACEXML_Char *ch, - int start, - int length ACEXML_ENV_ARG_DECL) - ; - - /* - * Receive notification of a processing instruction. - */ - virtual void processingInstruction (const ACEXML_Char *target, - const ACEXML_Char *data ACEXML_ENV_ARG_DECL) - ; - - /* - * Receive an object for locating the origin of SAX document events. - */ - virtual void setDocumentLocator (ACEXML_Locator *locator) ; - - /* - * Receive notification of a skipped entity. - */ - virtual void skippedEntity (const ACEXML_Char *name ACEXML_ENV_ARG_DECL) - ; - - /* - * Receive notification of the beginning of a document. - */ - virtual void startDocument (ACEXML_ENV_SINGLE_ARG_DECL) - ; - - /* - * Receive notification of the beginning of an element. - */ - virtual void startElement (const ACEXML_Char *namespaceURI, - const ACEXML_Char *localName, - const ACEXML_Char *qName, - ACEXML_Attributes *atts ACEXML_ENV_ARG_DECL) - ; - - /* - * Begin the scope of a prefix-URI Namespace mapping. - */ - virtual void startPrefixMapping (const ACEXML_Char *prefix, - const ACEXML_Char *uri ACEXML_ENV_ARG_DECL) - ; - - // *** Methods inherit from ACEXML_DTDHandler. - - /* - * Receive notification of a notation declaration event. - */ - virtual void notationDecl (const ACEXML_Char *name, - const ACEXML_Char *publicId, - const ACEXML_Char *systemId ACEXML_ENV_ARG_DECL) - ; - - /* - * Receive notification of an unparsed entity declaration event. - */ - virtual void unparsedEntityDecl (const ACEXML_Char *name, - const ACEXML_Char *publicId, - const ACEXML_Char *systemId, - const ACEXML_Char *notationName ACEXML_ENV_ARG_DECL) - ; - - // Methods inherit from ACEXML_EnitityResolver. - - /* - * Allow the application to resolve external entities. - */ - virtual ACEXML_InputSource *resolveEntity (const ACEXML_Char *publicId, - const ACEXML_Char *systemId ACEXML_ENV_ARG_DECL) - ; - - // Methods inherit from ACEXML_ErrorHandler. - - /* - * Receive notification of a recoverable error. - */ - virtual void error (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL) - ; - - /* - * Receive notification of a non-recoverable error. - */ - virtual void fatalError (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL) - ; - - /* - * Receive notification of a warning. - */ - virtual void warning (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL) - ; - - void inc_indent (); - void dec_indent (); - void print_indent (); - -private: - - size_t indent_; - ACEXML_Char* fileName_; - ACEXML_Locator* locator_; -}; - -#if defined (__ACEXML_INLINE__) -# include "SAXPrint_Handler.inl" -#endif /* __ACEXML_INLINE__ */ -#endif /* ACEXML_SAXPRINT_HANDLER_H */ diff --git a/ACE/ACEXML/examples/SAXPrint/SAXPrint_Handler.inl b/ACE/ACEXML/examples/SAXPrint/SAXPrint_Handler.inl deleted file mode 100644 index 2102291ea68..00000000000 --- a/ACE/ACEXML/examples/SAXPrint/SAXPrint_Handler.inl +++ /dev/null @@ -1,13 +0,0 @@ -// -*- C++ -*- $Id$ - -ACEXML_INLINE void -ACEXML_SAXPrint_Handler::inc_indent (void) -{ - this->indent_ += 1; -} - -ACEXML_INLINE void -ACEXML_SAXPrint_Handler::dec_indent (void) -{ - this->indent_ -= 1; -} diff --git a/ACE/ACEXML/examples/SAXPrint/broken.xml b/ACE/ACEXML/examples/SAXPrint/broken.xml deleted file mode 100644 index 8c350cc24fe..00000000000 --- a/ACE/ACEXML/examples/SAXPrint/broken.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0"?> -<!-- This is a broken XML file. Most of the stuff here don't make any sense at all --> - -<root> - <child> kid diff --git a/ACE/ACEXML/examples/SAXPrint/main.cpp b/ACE/ACEXML/examples/SAXPrint/main.cpp deleted file mode 100644 index d875fff1964..00000000000 --- a/ACE/ACEXML/examples/SAXPrint/main.cpp +++ /dev/null @@ -1,207 +0,0 @@ -// $Id$ - -#include "ACEXML/common/FileCharStream.h" -#include "ACEXML/common/HttpCharStream.h" -#include "ACEXML/common/StrCharStream.h" -#include "ACEXML/common/ZipCharStream.h" -#include "ACEXML/parser/parser/Parser.h" -#include "Print_Handler.h" -#include "SAXPrint_Handler.h" -#include "ace/Get_Opt.h" -#include "ace/Auto_Ptr.h" -#include "ace/Log_Msg.h" -#include "ace/OS_main.h" - -static const ACEXML_Char *test_string = -ACE_TEXT ("<?xml version='1.0'?> <ACE_Svc_Conf> <static id=\"ACE_Service_Manager\" params='-d -p 4911'/> <dynamic id=\"Test_Task\" type=\"service_object\"> A " <initializer path=\"CCM_App\" init='_make_Test_Task' params='-p 3000'/> </dynamic> </ACE_Svc_Conf>"); - -static void -usage (const ACE_TCHAR* program) -{ - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("Usage: %s [-sl] [-f <filename> | -u <url> | -z <ZIP Archive>]\n") - ACE_TEXT (" -s: Use SAXPrint_Handler (Default is Print_Handler)\n") - ACE_TEXT (" -l: Parse the internal strings (test the StrCharStream class)\n") - ACE_TEXT (" -f: Specify the filename when -l is not specified\n") - ACE_TEXT (" -z: Specify that the file is inside a ZIP archive\n") - ACE_TEXT (" -u: URL specifying the path to the file\n"), - program)); -} - -int -ACE_TMAIN (int argc, ACE_TCHAR *argv[]) -{ - ACEXML_Char* filename = 0; - int sax = 0; // Use SAXPrint handler or not. - int str = 0; - int zip = 0; - ACEXML_Char* url = 0; - - ACE_Get_Opt get_opt (argc, argv, ACE_TEXT ("sf:lu:z")); - int c; - - while ((c = get_opt ()) != EOF) - { - switch (c) - { - case 's': - sax = 1; - break; - case 'l': - str = 1; - break; - case 'f': - filename = get_opt.opt_arg (); - break; - case 'u': - url = get_opt.opt_arg(); - break; - case 'z': - zip = 1; -#ifndef USE_ZZIP - ACE_ERROR ((LM_ERROR, ACE_TEXT ("ZZIPLIB support has not been") - ACE_TEXT (" compiled in. Refer to ") - ACE_TEXT ("$ACE_ROOT/ACEXML/README for more ") - ACE_TEXT ("information. \n"))); - return -1; -#else - break; -#endif /* USE_ZZIP */ - default: - usage(argv[0]); - return -1; - } - } - - if (str == 0 && filename == 0 && url == 0) { - usage(argv[0]); - return -1; - } - - ACEXML_DefaultHandler *handler = 0; - ACEXML_CharStream *stm = 0; - ACEXML_FileCharStream *fstm = 0; - ACEXML_HttpCharStream *ustm = 0; - ACEXML_StrCharStream* sstm = 0; -#ifdef USE_ZZIP - ACEXML_ZipCharStream* zstm = 0; -#endif /* USE_ZZIP */ - if (filename != 0) - { -#ifdef USE_ZZIP - if (zip) - { - ACE_NEW_RETURN (zstm, ACEXML_ZipCharStream(), -1); - if (zstm->open (filename) != 0) - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("Failed to open XML file: %s\n"), - filename), - -1); - stm = zstm; - } - else - { -#endif /* USE_ZZIP */ - ACE_NEW_RETURN (fstm, ACEXML_FileCharStream (), -1); - if (fstm->open (filename) != 0) - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("Failed to open XML file: %s\n"), - filename), - -1); - stm = fstm; -#ifdef USE_ZZIP - } -#endif /* USE_ZZIP */ - } - else if (url != 0) - { - - ACE_NEW_RETURN (ustm, ACEXML_HttpCharStream (), -1); - if (ustm->open (url) != 0) - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("Failed to open URL : %s\n"), - url), - -1); - stm = ustm; - } - else - { - ACE_NEW_RETURN (sstm, ACEXML_StrCharStream, -1); - if (sstm->open (test_string, ACE_TEXT ("test_string")) < 0) - ACE_ERROR_RETURN ((LM_ERROR, - ACE_TEXT ("Failed to open string : %s\n"), - test_string), - -1); - stm = sstm; - } - - ACEXML_Char* name = (filename == 0) ? url : filename; - if (sax == 0) - ACE_NEW_RETURN (handler, - ACEXML_Print_Handler (name), - -1); - else - ACE_NEW_RETURN (handler, - ACEXML_SAXPrint_Handler (name), - -1); - auto_ptr<ACEXML_DefaultHandler> cleanup_handler (handler); - - ACEXML_Parser parser; - ACEXML_InputSource input (stm); - - parser.setContentHandler (handler); - parser.setDTDHandler (handler); - parser.setErrorHandler (handler); - parser.setEntityResolver (handler); - ACEXML_DECLARE_NEW_ENV; - - ACEXML_TRY_EX (FIRST) - { - parser.parse (&input ACEXML_ENV_ARG_PARAMETER); - ACEXML_TRY_CHECK_EX (FIRST); - } - ACEXML_CATCH (ACEXML_Exception, ex) - { - ex.print(); - ACE_DEBUG ((LM_ERROR, ACE_TEXT ("Exception occurred. Exiting...\n"))); - } - ACEXML_ENDTRY; - ACEXML_TRY_EX (SECOND) - { - parser.parse (&input ACEXML_ENV_ARG_PARAMETER); - ACEXML_TRY_CHECK_EX (SECOND); - } - ACEXML_CATCH (ACEXML_SAXException, ex) - { - ex.print(); - ACE_DEBUG ((LM_ERROR, ACE_TEXT ("Exception occurred. Exiting...\n"))); - return 1; - } - ACEXML_ENDTRY; -// ACEXML_TRY_EX (THIRD) -// { -// parser.parse (&input ACEXML_ENV_ARG_PARAMETER); -// ACEXML_TRY_CHECK_EX (THIRD); -// } -// ACEXML_CATCH (ACEXML_SAXException, ex) -// { -// ex.print(); -// ACE_DEBUG ((LM_ERROR, ACE_TEXT ("Exception occurred. Exiting...\n"))); -// return 1; -// } -// ACEXML_ENDTRY; -// ACEXML_TRY_EX (FOURTH) -// { -// parser.parse (&input ACEXML_ENV_ARG_PARAMETER); -// ACEXML_TRY_CHECK_EX (FOURTH); -// } -// ACEXML_CATCH (ACEXML_SAXException, ex) -// { -// ex.print(); -// ACE_DEBUG ((LM_ERROR, ACE_TEXT ("Exception occurred. Exiting...\n"))); -// return 1; -// } -// ACEXML_ENDTRY; - return 0; -} - diff --git a/ACE/ACEXML/examples/SAXPrint/namespaces.xml b/ACE/ACEXML/examples/SAXPrint/namespaces.xml deleted file mode 100644 index f2418848929..00000000000 --- a/ACE/ACEXML/examples/SAXPrint/namespaces.xml +++ /dev/null @@ -1,95 +0,0 @@ -<?xml version="1.0" encoding="iso8859-1"?> - -<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns="http://purl.org/rss/1.0/"> - -<channel rdf:about="http://primates.ximian.com/~ravi/BoozeLog/"> -<title>Vignesh Blogs Here</title> -<link>http://primates.ximian.com/~ravi/BoozeLog/</link> -<description></description> -<language>en-us</language> -<webMaster></webMaster> -<lastBuildDate>2002-10-11T00:50:42-06:00</lastBuildDate> -<pubDate>2002-10-12T20:19:57-06:00</pubDate> -<admin:generatorAgent rdf:resource="http://www.movabletype.org/?v=2.21" /> - -<items> -<rdf:Seq><rdf:li rdf:resource="http://primates.ximian.com/~ravi/BoozeLog/archives/000025.html" /> -<rdf:li rdf:resource="http://primates.ximian.com/~ravi/BoozeLog/archives/000024.html" /> -<rdf:li rdf:resource="http://primates.ximian.com/~ravi/BoozeLog/archives/000023.html" /> -<rdf:li rdf:resource="http://primates.ximian.com/~ravi/BoozeLog/archives/000020.html" /> -<rdf:li rdf:resource="http://primates.ximian.com/~ravi/BoozeLog/archives/000013.html" /> -<rdf:li rdf:resource="http://primates.ximian.com/~ravi/BoozeLog/archives/000012.html" /> -<rdf:li rdf:resource="http://primates.ximian.com/~ravi/BoozeLog/archives/000011.html" /> -<rdf:li rdf:resource="http://primates.ximian.com/~ravi/BoozeLog/archives/000008.html" /> -</rdf:Seq> -</items> - -</channel> - -<item rdf:about="http://primates.ximian.com/~ravi/BoozeLog/archives/000025.html"> -<title>Happy Birthday Vidya</title> -<description>Today is Vidya's birthday ! Happy Birthday Vidya! We had a midnight party,as usual, at Swapna's place, though I dont...</description> -<link>http://primates.ximian.com/~ravi/BoozeLog/archives/000025.html</link> -<dc:subject>Blog entry</dc:subject> -<dc:creator>Booze</dc:creator> -<dc:date>2002-10-11T00:50:42-06:00</dc:date> -</item> -<item rdf:about="http://primates.ximian.com/~ravi/BoozeLog/archives/000024.html"> -<title>Way to go, Shaastra!</title> -<description>On Flash Back mode now: Shaastra is the technical festival at my alma mater, IIT Madras, that replaced the old,...</description> -<link>http://primates.ximian.com/~ravi/BoozeLog/archives/000024.html</link> -<dc:subject>Blog entry</dc:subject> -<dc:creator>Booze</dc:creator> -<dc:date>2002-10-10T11:52:02-06:00</dc:date> -</item> -<item rdf:about="http://primates.ximian.com/~ravi/BoozeLog/archives/000023.html"> -<title>Back and Forth in Time</title> -<description>The blog is going to be a little skewed in time for the next coupla days.. Inspite of my laziness,...</description> -<link>http://primates.ximian.com/~ravi/BoozeLog/archives/000023.html</link> -<dc:subject>Blog entry</dc:subject> -<dc:creator>Booze</dc:creator> -<dc:date>2002-10-09T23:47:19-06:00</dc:date> -</item> -<item rdf:about="http://primates.ximian.com/~ravi/BoozeLog/archives/000020.html"> -<title>Frisco Rocks!</title> -<description>If there be any reason the blog hasnt been updated,it is simply because I am enjoying my trip to San...</description> -<link>http://primates.ximian.com/~ravi/BoozeLog/archives/000020.html</link> -<dc:subject>Blog entry</dc:subject> -<dc:creator>Booze</dc:creator> -<dc:date>2002-10-03T23:53:16-06:00</dc:date> -</item> -<item rdf:about="http://primates.ximian.com/~ravi/BoozeLog/archives/000013.html"> -<title>Think but not make thoughts your aim</title> -<description>A line from Rudyard Kipling's IF : would sum up my feelings for today, a lot of thinking from morning...</description> -<link>http://primates.ximian.com/~ravi/BoozeLog/archives/000013.html</link> -<dc:subject>Blog entry</dc:subject> -<dc:creator>Booze</dc:creator> -<dc:date>2002-09-28T22:48:09-06:00</dc:date> -</item> -<item rdf:about="http://primates.ximian.com/~ravi/BoozeLog/archives/000012.html"> -<title>New ARM but...</title> -<description>ARM stands for Advanced Recording Model, a simulation software that I use for my work, and I have been tinkering...</description> -<link>http://primates.ximian.com/~ravi/BoozeLog/archives/000012.html</link> -<dc:subject>Blog entry</dc:subject> -<dc:creator>Booze</dc:creator> -<dc:date>2002-09-27T22:36:28-06:00</dc:date> -</item> -<item rdf:about="http://primates.ximian.com/~ravi/BoozeLog/archives/000011.html"> -<title>A much needed break</title> -<description>Slowly got over the hangover of Sandhya's departure and moved to more mundane things in life : assignments, submissions and...</description> -<link>http://primates.ximian.com/~ravi/BoozeLog/archives/000011.html</link> -<dc:subject>Blog entry</dc:subject> -<dc:creator>Booze</dc:creator> -<dc:date>2002-09-26T23:05:46-06:00</dc:date> -</item> -<item rdf:about="http://primates.ximian.com/~ravi/BoozeLog/archives/000008.html"> -<title>Here we go !</title> -<description>My first attempts at Blogging, the idea was introduced to me by Ravi Pratap. MoveableType really makes it easy and...</description> -<link>http://primates.ximian.com/~ravi/BoozeLog/archives/000008.html</link> -<dc:subject>Blog entry</dc:subject> -<dc:creator>Booze</dc:creator> -<dc:date>2002-09-25T19:27:22-06:00</dc:date> -</item> - - -</rdf:RDF> diff --git a/ACE/ACEXML/examples/SAXPrint/ns.svc.conf.xml b/ACE/ACEXML/examples/SAXPrint/ns.svc.conf.xml deleted file mode 100644 index 980ef21de92..00000000000 --- a/ACE/ACEXML/examples/SAXPrint/ns.svc.conf.xml +++ /dev/null @@ -1,46 +0,0 @@ -<?xml version="1.0"?> -<ace:ACE_Svc_Conf xmlns="http://ace.doc.wustl.edu/svcconf" xmlns:ace="http://ace.doc.wustl.edu/svcconf"> -<static id="ACE_Service_Manager"> - <params>-d</params> - <params>-p 4911</params> -</static> - -<dynamic id="Test_Task" type="service_object"> A &lt; - <initializer path="CCM_App" init="_make_Test_Task"> - <params>-p 3000</params> - </initializer> -</dynamic> - -<ace:streamdef> - <dynamic id="CCM_App" type="stream" status="active"> - <initializer path="CCM_App" init="make_stream"/> - </dynamic> - <module> - <dynamic id="Device_Adapter" type="module"> - <initializer path="CCM_App" init="make_da"/> - </dynamic> - <dynamic id="Event_Analyzer" type="module"> - <initializer path="CCM_App" init="make_ea"/> - </dynamic> - <dynamic id="Multicast_Router" type="module"> - <initializer path="CCM_App" init="make_mr"> - <params>-p</params> - <params>3001</params> - </initializer> - </dynamic> - </module> -</ace:streamdef> - -<stream id="CCM_App"> - <module> - <remove id="Device_Adapter"/> - <!-- <remove id="Event_Analyzer"/> --> - <!-- <remove id="Multicast_Router"/> --> - <![CDATA[Only a text string. -Do you &expect something more?]]> - </module> -</stream> - -<!-- remove CCM_App --> -<remove id="Test_&Taskebc"/> -</ace:ACE_Svc_Conf> diff --git a/ACE/ACEXML/examples/SAXPrint/simple.svcconf.xml b/ACE/ACEXML/examples/SAXPrint/simple.svcconf.xml deleted file mode 100644 index 32afe359fdb..00000000000 --- a/ACE/ACEXML/examples/SAXPrint/simple.svcconf.xml +++ /dev/null @@ -1,38 +0,0 @@ -<ACE_Svc_Conf> -<static id="ACE_Service_Manager" params="-d -p 4911"/> - -<dynamic id="Test_Task" type="service_object"> A & - <initializer path="CCM_App" init="_make_Test_Task" params="-p 3000" /> -</dynamic> - -<streamdef> - <dynamic id="CCM_App" type="stream" status="active"> - <initializer path="CCM_App" init="make_stream"/> - </dynamic> - <module> - <dynamic id="Device_Adapter" type="module"> - <initializer path="CCM_App" init="make_da"/> - </dynamic> - <dynamic id="Event_Analyzer" type="module"> - <initializer path="CCM_App" init="make_ea"/> - </dynamic> - <dynamic id="Multicast_Router" type="module"> - <initializer path="CCM_App" init="make_mr" params="-p 3001"/> - </dynamic> - </module> -</streamdef> - -<stream id="&ccm;"> - <module> - <remove id="Device_Adapter"/> - <!-- <remove id="Event_Analyzer"/> --> - <!-- <remove id="Multicast_Router"/> --> - <![CDATA[Only a text string. -Do you &expect something more? A]]> -<!-- Noticed that the "&" in the above CDATA section can not be escaped. --> - </module> -</stream> - -<!-- remove CCM_App --> -<remove id="Test_&Taskabc"/> -</ACE_Svc_Conf> diff --git a/ACE/ACEXML/examples/SAXPrint/svc.conf.xml b/ACE/ACEXML/examples/SAXPrint/svc.conf.xml deleted file mode 100644 index 5296e5cac35..00000000000 --- a/ACE/ACEXML/examples/SAXPrint/svc.conf.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> -<!-- This is a test XML file. Most of the stuff here don't make any sense at all --> -<!DOCTYPE ACE_Svc_Conf PUBLIC 'GOODSAM' '../../apps/svcconf/svcconf.dtd' - [ - <!NOTATION goody PUBLIC 'NBC' 'http://hardcoreace.com/'> - <!NOTATION frodo PUBLIC 'ABC'> - <!NOTATION bilbo SYSTEM "C:/ACE-GUIDELINE"> - <!ENTITY ccm 'CCM_App'> - <!ENTITY pippin PUBLIC 'GOTO' 'http://taozen.com/' NDATA goody> - <!ENTITY sam PUBLIC 'SHIRE' 'http://taozen.com/'> - <!ENTITY gandolf SYSTEM 'D:/RINGS.DOT'> - <!ELEMENT GOOBEGONE EMPTY> - <!ELEMENT POOPOO ANY> - <!ELEMENT HOHOHO ((BOOBOO, GOOBEGONE)?, (GOOBEGONE|POOPOO)*)+> - <!ELEMENT BOOBOO (#PCDATA | BOOBOO)*> - <!ATTLIST GOOBEGONE - ohmy CDATA #REQUIRED - testing IDREF #IMPLIED> - ]> - -<ACE_Svc_Conf> -<static id="ACE_Service_Manager" params="-d -p 4911"/> - -<dynamic id="Test_Task" type="service_object"> A & - <initializer path="CCM_App" init="_make_Test_Task" params="-p 3000" /> -</dynamic> - -<streamdef> - <dynamic id="CCM_App" type="stream" status="active"> - <initializer path="CCM_App" init="make_stream"/> - </dynamic> - <module> - <dynamic id="Device_Adapter" type="module"> - <initializer path="CCM_App" init="make_da"/> - </dynamic> - <dynamic id="Event_Analyzer" type="module"> - <initializer path="CCM_App" init="make_ea"/> - </dynamic> - <dynamic id="Multicast_Router" type="module"> - <initializer path="CCM_App" init="make_mr" params="-p 3001"/> - </dynamic> - </module> -</streamdef> - -<stream id="&ccm;"> - <module> - <remove id="Device_Adapter"/> - <!-- <remove id="Event_Analyzer"/> --> - <!-- <remove id="Multicast_Router"/> --> - <![CDATA[Only a text string. -Do you &expect something more? A]]> -<!-- Noticed that the "&" in the above CDATA section can not be escaped. --> - </module> -</stream> - -<!-- remove CCM_App --> -<remove id="Test_&Taskabc"/> -</ACE_Svc_Conf> diff --git a/ACE/ACEXML/parser/Makefile.am b/ACE/ACEXML/parser/Makefile.am deleted file mode 100644 index 35c60abcb8d..00000000000 --- a/ACE/ACEXML/parser/Makefile.am +++ /dev/null @@ -1,13 +0,0 @@ -## Process this file with automake to create Makefile.in -## -## $Id$ -## -## This file was generated by MPC. Any changes made directly to -## this file will be lost the next time it is generated. -## -## MPC Command: -## ./bin/mwc.pl -type automake -noreldefs ACE.mwc - -SUBDIRS = \ - parser - diff --git a/ACE/ACEXML/parser/debug_validator/Debug_Attributes_Builder.cpp b/ACE/ACEXML/parser/debug_validator/Debug_Attributes_Builder.cpp deleted file mode 100644 index ccebd4b9098..00000000000 --- a/ACE/ACEXML/parser/debug_validator/Debug_Attributes_Builder.cpp +++ /dev/null @@ -1,211 +0,0 @@ -// $Id$ - -#include "ACEXML/common/SAXExceptions.h" -#include "ACEXML/parser/debug_validator/Debug_Attributes_Builder.h" - -ACEXML_Debug_Attribute_Builder::ACEXML_Debug_Attribute_Builder () - : type_ (ERROR_TYPE), - default_decl_ (INVALID) -{ -} - -ACEXML_Debug_Attribute_Builder::ACEXML_Debug_Attribute_Builder (const ACEXML_Debug_Attribute_Builder &rhs) - : name_ (rhs.name_), - type_ (rhs.type_), - default_decl_ (rhs.default_decl_), - default_value_ (rhs.default_value_), - att_value_queue_ (rhs.att_value_queue_) -{ -} - -ACEXML_Debug_Attribute_Builder::~ACEXML_Debug_Attribute_Builder () -{ -} - -int -ACEXML_Debug_Attribute_Builder::setName (const ACEXML_Char *n) -{ - this->name_.set (n, 0); - return 0; -} - -const ACEXML_Char * -ACEXML_Debug_Attribute_Builder::getName (void) -{ - return this->name_.fast_rep (); -} - -int -ACEXML_Debug_Attribute_Builder::setAttType (const ATT_TYPE type - ACEXML_ENV_ARG_DECL) -{ - if (this->type_ == ERROR_TYPE) - { - this->type_ = type; - return 0; - } - ACEXML_THROW_RETURN (ACEXML_SAXParseException (ACE_TEXT("Attribute type redefinition in Debug Validator")), -1); - -} - -int -ACEXML_Debug_Attribute_Builder::insertList (const ACEXML_Char *n - ACEXML_ENV_ARG_DECL_NOT_USED) -{ - ACEXML_String str (n, 0, 0); - - this->att_value_queue_.enqueue_tail (str); - return 0; -} - -int -ACEXML_Debug_Attribute_Builder::setDefault (const DEFAULT_DECL def, - const ACEXML_Char *value - ACEXML_ENV_ARG_DECL_NOT_USED) -{ - this->default_decl_ = def; - this->default_value_.set (value, 0); - return 0; -} - -int -ACEXML_Debug_Attribute_Builder::validAttr (void) -{ - // @@ Not implemented. Always return 1 (true) for now. - return 1; -} - -void -ACEXML_Debug_Attribute_Builder::dump (void) -{ - cout << this->name_ << " "; - - switch (this->type_) - { - case CDATA: - cout << "CDATA "; - break; - case ID: - cout << "ID "; - break; - case IDREF: - cout << "IDREF "; - break; - case IDREFS: - cout << "IDREFS "; - break; - case ENTITY: - cout << "ENTITY "; - break; - case ENTITIES: - cout << "ENTITIES "; - break; - case NMTOKEN: - cout << "NMTOKEN "; - break; - case NMTOKENS: - cout << "NMTOKENS "; - break; - case NOTATION: - cout << "NOTATION "; - // Fall thru - case ENUMERATION: - { - cout << "("; - ACEXML_STRING_QUEUE_ITERATOR iter (this->att_value_queue_); - ACEXML_String *n = 0; - - while (iter.advance () != 0) - { - if (n == 0) - cout << " | "; - iter.next (n); - cout << *n; - } - cout << ") "; - } - break; - default: - cout << "*** UNKNOWN TYPE ***"; - break; - } - - switch (this->default_decl_) - { - case REQUIRED: - cout << "#REQUIRED"; - break; - case IMPLIED: - cout << "#IMPLIED"; - break; - case FIXED: - cout << "#FIXED " << this->default_value_; - break; - default: - cout << "**** UNDEFINED DEFAULT DECL ****"; - break; - } -} -// ======================================== - -ACEXML_Debug_Attributes_Builder::ACEXML_Debug_Attributes_Builder () -{ -} - -ACEXML_Debug_Attributes_Builder::~ACEXML_Debug_Attributes_Builder () -{ -} - -int -ACEXML_Debug_Attributes_Builder::setElement (const ACEXML_Char *, - const ACEXML_Char *, - const ACEXML_Char *qName ACEXML_ENV_ARG_DECL_NOT_USED) -{ - this->element_name_.set (qName, 0); - return 0; -} - -ACEXML_Attribute_Def_Builder * -ACEXML_Debug_Attributes_Builder::getAttribute_Def_Builder () -{ - ACEXML_Attribute_Def_Builder *tmp; - - ACE_NEW_RETURN (tmp, - ACEXML_Debug_Attribute_Builder (), - 0); - return tmp; -} - -int -ACEXML_Debug_Attributes_Builder::insertAttribute (ACEXML_Attribute_Def_Builder *def ACEXML_ENV_ARG_DECL) -{ - ACEXML_Attribute_Def_Builder::VAR ptr (def); - - if (def != 0) - { - ACEXML_String attname (def->getName (), 0, 0); - ACEXML_Debug_Attribute_Builder *ptr = - dynamic_cast<ACEXML_Debug_Attribute_Builder *> (def); - this->attributes_.bind (attname, *ptr); - return 0; - } - ACEXML_THROW_RETURN (ACEXML_SAXParseException (ACE_TEXT("ACEXML_Debug_Attributes_Builder internal error")), -1); -} - -void -ACEXML_Debug_Attributes_Builder::dump (void) -{ - // @@ Print print. - cout << "<!ATTLIST " << this->element_name_ << endl; - - ACEXML_ATT_MAP_ITER iter (this->attributes_); - ACEXML_ATT_MAP_ENTRY *item; - - while (iter.advance () != 0) - { - iter.next (item); - cout << "\n\t"; - item->int_id_.dump (); - } - cout << ">" << endl; -} diff --git a/ACE/ACEXML/parser/debug_validator/Debug_Attributes_Builder.h b/ACE/ACEXML/parser/debug_validator/Debug_Attributes_Builder.h deleted file mode 100644 index e22b6ef936a..00000000000 --- a/ACE/ACEXML/parser/debug_validator/Debug_Attributes_Builder.h +++ /dev/null @@ -1,166 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Debug_Attributes_Builder.h - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - */ -//============================================================================= -#ifndef _ACEXML_DEBUG_ATTRIBUTES_BUILDER_H_ -#define _ACEXML_DEBUG_ATTRIBUTES_BUILDER_H_ - -#include /**/ "ace/pre.h" -#include "ACEXML/parser/debug_validator/Debug_DTD_Manager_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ACEXML/common/Attributes_Def_Builder.h" -#include "ace/Hash_Map_Manager.h" -#include "ace/Unbounded_Queue.h" - -typedef ACE_Unbounded_Queue<ACEXML_String> ACEXML_STRING_QUEUE; -typedef ACE_Unbounded_Queue_Iterator<ACEXML_String> ACEXML_STRING_QUEUE_ITERATOR; - -/** - * @class ACEXML_Debug_Attribute_Builder Debug_Attributes_Builder.h "parser/debug_validator/Debug_Attributes_Builder.h" - * - * This class prints out the Attribute definition for debugging purpose. - */ -class ACEXML_DEBUG_DTD_MANAGER_Export ACEXML_Debug_Attribute_Builder - : public ACEXML_Attribute_Def_Builder -{ -public: - ACEXML_Debug_Attribute_Builder (); - - ACEXML_Debug_Attribute_Builder (const ACEXML_Debug_Attribute_Builder &rhs); - - virtual ~ACEXML_Debug_Attribute_Builder (); - - /** - * Specify the name of the attribute. - */ - virtual int setName (const ACEXML_Char *n); - virtual const ACEXML_Char *getName (void); - - /** - * Set the attribute type. - */ - virtual int setAttType (const ATT_TYPE type ACEXML_ENV_ARG_DECL); - - /** - * Insert an element for NOTATION or ENUMERATION type attribute. - */ - virtual int insertList (const ACEXML_Char *Name ACEXML_ENV_ARG_DECL); - - /** - * Set default attribute declaration. - */ - virtual int setDefault (const DEFAULT_DECL def, - const ACEXML_Char *value ACEXML_ENV_ARG_DECL) - ; - - /** - * Check validity of the current attribute definition being built. - * - * @retval 0 if the attribute is not a valid combo. - */ - virtual int validAttr (void); - - - /** - * Dump the content of the attribute definition. - */ - virtual void dump (void); -private: - /// Attribute name. - ACEXML_String name_; - - /// Type of attribute. - ATT_TYPE type_; - - /// Default value type. - DEFAULT_DECL default_decl_; - - /// Default attribute value. - ACEXML_String default_value_; - - /// Holds a queue of enumerated attribute values. - ACEXML_STRING_QUEUE att_value_queue_; -}; - -typedef ACE_Hash_Map_Entry<ACEXML_String, - ACEXML_Debug_Attribute_Builder> ACEXML_ATT_MAP_ENTRY; - -typedef ACE_Hash_Map_Manager_Ex <ACEXML_String, - ACEXML_Debug_Attribute_Builder, - ACE_Hash<ACEXML_String>, - ACE_Equal_To<ACEXML_String>, - ACE_Null_Mutex> ACEXML_ATT_MAP; - -typedef ACE_Hash_Map_Iterator_Ex<ACEXML_String, - ACEXML_Debug_Attribute_Builder, - ACE_Hash<ACEXML_String>, - ACE_Equal_To<ACEXML_String>, - ACE_Null_Mutex> ACEXML_ATT_MAP_ITER; - -typedef ACE_Hash_Map_Reverse_Iterator_Ex<ACEXML_String, - ACEXML_Debug_Attribute_Builder, - ACE_Hash<ACEXML_String>, - ACE_Equal_To<ACEXML_String>, - ACE_Null_Mutex> ACEXML_ATT_MAP_REVERSE_ITER; - -/** - * @class ACEXML_Debug_Attributes_Builder Debug_Attributes_Builder.h "parser/debug_validator/Debug_Attributes_Builder.h" - * - * This class prints out Attribute definitions for debugging purpose. - */ -class ACEXML_DEBUG_DTD_MANAGER_Export ACEXML_Debug_Attributes_Builder - : public ACEXML_Attributes_Def_Builder -{ -public: - ACEXML_Debug_Attributes_Builder (); - - virtual ~ACEXML_Debug_Attributes_Builder (); - - /** - * Set the element name that the attribute builder applies. - * - * @retval 0 if valid, -1 otherwise. - */ - virtual int setElement (const ACEXML_Char *namespaceURI, - const ACEXML_Char *localName, - const ACEXML_Char *qName ACEXML_ENV_ARG_DECL) - ; - - /** - * Acquire an Attribute_Builder. - */ - virtual ACEXML_Attribute_Def_Builder *getAttribute_Def_Builder (); - - /** - * Add a definition for one attribute. - */ - virtual int insertAttribute (ACEXML_Attribute_Def_Builder *def ACEXML_ENV_ARG_DECL); - - - /** - * Dump the content of the attribute definition. - */ - virtual void dump (void); -protected: - /// The name of the element type these attributes applied. - ACEXML_String element_name_; - - /// Collection of attributes. - ACEXML_ATT_MAP attributes_; -}; - - -#include /**/ "ace/post.h" - -#endif /* _ACEXML_DEBUG_ATTRIBUTES_BUILDER_H_ */ diff --git a/ACE/ACEXML/parser/debug_validator/Debug_DTD_Manager.cpp b/ACE/ACEXML/parser/debug_validator/Debug_DTD_Manager.cpp deleted file mode 100644 index d0745d13bfc..00000000000 --- a/ACE/ACEXML/parser/debug_validator/Debug_DTD_Manager.cpp +++ /dev/null @@ -1,71 +0,0 @@ -// -*- C++ -*- $Id$ - -#include "ACEXML/common/SAXExceptions.h" -#include "ACEXML/parser/debug_validator/Debug_DTD_Manager.h" -#include "ACEXML/parser/debug_validator/Debug_Element_Builder.h" -#include "ACEXML/parser/debug_validator/Debug_Attributes_Builder.h" - -ACEXML_Debug_DTD_Manager::ACEXML_Debug_DTD_Manager () -{ - -} - -ACEXML_Debug_DTD_Manager::~ACEXML_Debug_DTD_Manager () -{ - -} - -ACEXML_Element_Def_Builder * -ACEXML_Debug_DTD_Manager::getElement_Def_Builder () -{ - return new ACEXML_Debug_Element_Builder (); -} - -int -ACEXML_Debug_DTD_Manager::insertElement_Definition (ACEXML_Element_Def_Builder *def ACEXML_ENV_ARG_DECL) -{ - ACEXML_Element_Def_Builder::VAR ptr (def); - - if (def != 0) - { - ptr->dump (); - return 0; - } - - ACEXML_THROW_RETURN (ACEXML_SAXParseException (ACE_TEXT("ACEXML_Debug_Attributes_Builder internal error")), -1); -} - -ACEXML_Attributes_Def_Builder * -ACEXML_Debug_DTD_Manager::getAttribute_Def_Builder () -{ - ACEXML_Attributes_Def_Builder *tmp; - ACE_NEW_RETURN (tmp, - ACEXML_Debug_Attributes_Builder (), - 0); - return tmp; -} - -int -ACEXML_Debug_DTD_Manager::insertAttributes_Definition (ACEXML_Attributes_Def_Builder *def ACEXML_ENV_ARG_DECL) -{ - ACEXML_Attributes_Def_Builder::VAR ptr (def); - if (def != 0) - { - ptr->dump (); - return 0; - } - - ACEXML_THROW_RETURN (ACEXML_SAXParseException (ACE_TEXT("ACEXML_Debug_Attributes_Builder internal error")), -1); -} - -ACEXML_Validator * -ACEXML_Debug_DTD_Manager::getValidator (const ACEXML_Char *namespaceURI, - const ACEXML_Char *localName, - const ACEXML_Char *qName ACEXML_ENV_ARG_DECL) -{ - ACE_UNUSED_ARG (namespaceURI); - ACE_UNUSED_ARG (localName); - ACE_UNUSED_ARG (qName); - - ACEXML_THROW_RETURN (ACEXML_SAXNotSupportedException (ACE_TEXT ("getValidator()")), 0); -} diff --git a/ACE/ACEXML/parser/debug_validator/Debug_DTD_Manager.h b/ACE/ACEXML/parser/debug_validator/Debug_DTD_Manager.h deleted file mode 100644 index 0849d95ecb2..00000000000 --- a/ACE/ACEXML/parser/debug_validator/Debug_DTD_Manager.h +++ /dev/null @@ -1,76 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Debug_DTD_Manager.h - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - */ -//============================================================================= -#ifndef _ACEXML_DEBUG_DTD_Manager_H_ -#define _ACEXML_DEBUG_DTD_Manager_H_ - -#include /**/ "ace/pre.h" -#include "ACEXML/parser/debug_validator/Debug_DTD_Manager_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ACEXML/common/DTD_Manager.h" - -class ACEXML_DEBUG_DTD_MANAGER_Export ACEXML_Debug_DTD_Manager : public ACEXML_DTD_Manager -{ -public: - ACEXML_Debug_DTD_Manager (); - - virtual ~ACEXML_Debug_DTD_Manager (); - - /** - * Acquire a pointer to an element definition builder. The XML parser use - * this interface to acquire the definition builder and use the builder - * to create the DTD element definition. The resulting builder is then - * registered with the DTD Manager or destroyed if error occured when the - * builder encountered errors. - * - * @retval 0 if error occurs creating the builder. - */ - virtual ACEXML_Element_Def_Builder *getElement_Def_Builder (); - - /** - * Insert a new element definition into the DTD Manager. - * - * @retval 0 if success, -1 if error. - */ - virtual int insertElement_Definition (ACEXML_Element_Def_Builder *def ACEXML_ENV_ARG_DECL); - - /** - * Acquire a pointer to an attributes definition builder. - * - */ - virtual ACEXML_Attributes_Def_Builder *getAttribute_Def_Builder (); - - /** - * Insert a new attributes definition into the DTD Manager. - * - * @retval 0 if success, -1 otherwise. - */ - virtual int insertAttributes_Definition (ACEXML_Attributes_Def_Builder *def ACEXML_ENV_ARG_DECL); - - /** - * Acquire an element validator to validate an XML element. - * - * @todo I haven't figured out what memory management scheme - * we should use for the acquired validator. - */ - virtual ACEXML_Validator *getValidator (const ACEXML_Char *namespaceURI, - const ACEXML_Char *localName, - const ACEXML_Char *qName ACEXML_ENV_ARG_DECL); -}; - -#include /**/ "ace/post.h" - - -#endif /* _ACEXML_DTD_Manager_H_ */ diff --git a/ACE/ACEXML/parser/debug_validator/Debug_DTD_Manager_Export.h b/ACE/ACEXML/parser/debug_validator/Debug_DTD_Manager_Export.h deleted file mode 100644 index b4cf1c8a536..00000000000 --- a/ACE/ACEXML/parser/debug_validator/Debug_DTD_Manager_Export.h +++ /dev/null @@ -1,38 +0,0 @@ - -// -*- C++ -*- -// $Id$ -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -s ACEXML_DEBUG_DTD_MANAGER -// ------------------------------ -#ifndef ACEXML_DEBUG_DTD_MANAGER_EXPORT_H -#define ACEXML_DEBUG_DTD_MANAGER_EXPORT_H - -#include "ace/config-all.h" - -#if defined (ACE_AS_STATIC_LIBS) && !defined (ACEXML_DEBUG_DTD_MANAGER_HAS_DLL) -# define ACEXML_DEBUG_DTD_MANAGER_HAS_DLL 0 -#endif /* ACE_AS_STATIC_LIBS && ACEXML_DEBUG_DTD_MANAGER_HAS_DLL */ - -#if !defined (ACEXML_DEBUG_DTD_MANAGER_HAS_DLL) -# define ACEXML_DEBUG_DTD_MANAGER_HAS_DLL 1 -#endif /* ! ACEXML_DEBUG_DTD_MANAGER_HAS_DLL */ - -#if defined (ACEXML_DEBUG_DTD_MANAGER_HAS_DLL) && (ACEXML_DEBUG_DTD_MANAGER_HAS_DLL == 1) -# if defined (ACEXML_DEBUG_DTD_MANAGER_BUILD_DLL) -# define ACEXML_DEBUG_DTD_MANAGER_Export ACE_Proper_Export_Flag -# define ACEXML_DEBUG_DTD_MANAGER_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define ACEXML_DEBUG_DTD_MANAGER_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* ACEXML_DEBUG_DTD_MANAGER_BUILD_DLL */ -# define ACEXML_DEBUG_DTD_MANAGER_Export ACE_Proper_Import_Flag -# define ACEXML_DEBUG_DTD_MANAGER_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define ACEXML_DEBUG_DTD_MANAGER_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* ACEXML_DEBUG_DTD_MANAGER_BUILD_DLL */ -#else /* ACEXML_DEBUG_DTD_MANAGER_HAS_DLL == 1 */ -# define ACEXML_DEBUG_DTD_MANAGER_Export -# define ACEXML_DEBUG_DTD_MANAGER_SINGLETON_DECLARATION(T) -# define ACEXML_DEBUG_DTD_MANAGER_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* ACEXML_DEBUG_DTD_MANAGER_HAS_DLL == 1 */ - -#endif /* ACEXML_DEBUG_DTD_MANAGER_EXPORT_H */ - -// End of auto generated file. diff --git a/ACE/ACEXML/parser/debug_validator/Debug_Element_Builder.cpp b/ACE/ACEXML/parser/debug_validator/Debug_Element_Builder.cpp deleted file mode 100644 index da422a3429f..00000000000 --- a/ACE/ACEXML/parser/debug_validator/Debug_Element_Builder.cpp +++ /dev/null @@ -1,144 +0,0 @@ -// $Id$ - -#include "ACEXML/common/SAXExceptions.h" -#include "ACEXML/parser/debug_validator/Debug_Element_Builder.h" - -ACEXML_Debug_Element_Builder::ACEXML_Debug_Element_Builder () - : type_ (UNDEFINED), - root_ (0) -{ -} - -ACEXML_Debug_Element_Builder::~ACEXML_Debug_Element_Builder () -{ - delete this->root_; -} - -int -ACEXML_Debug_Element_Builder::setElementName (const ACEXML_Char *, - const ACEXML_Char *, - const ACEXML_Char *qName ACEXML_ENV_ARG_DECL_NOT_USED) -{ - this->element_.set (qName, 0); - return 0; -} - -int -ACEXML_Debug_Element_Builder::setContentType (CONTENT_TYPE type ACEXML_ENV_ARG_DECL) -{ - if (this->type_ == UNDEFINED) - { - this->type_ = type; - return 0; - } - - ACEXML_THROW_RETURN (ACEXML_SAXParseException (ACE_TEXT("Element type redefinition in Debug_Validator.")), -1); -} - -int -ACEXML_Debug_Element_Builder::insertMixedElement (const ACEXML_Char *, - const ACEXML_Char *, - const ACEXML_Char *qName ACEXML_ENV_ARG_DECL_NOT_USED) -{ - ACEXML_Element_Tree_Name_Node *node; - - // @@ We should "throw" an exception here instead of returning -1. - ACE_NEW_RETURN (node, - ACEXML_Element_Tree_Name_Node (qName), - -1); - - if (this->root_ == 0) - // @@ Memory leak if fail? - ACE_NEW_RETURN (this->root_, - ACEXML_Element_Tree_List_Node (), - -1); - - - return this->root_->insert (node); -} - -int -ACEXML_Debug_Element_Builder::startChildGroup () -{ - ACEXML_Element_Tree_List_Node *lnode; - - ACE_NEW_RETURN (lnode, - ACEXML_Element_Tree_List_Node (), - -1); - - if (this->root_ == 0) - { - this->root_ = lnode; - } - else - { - // @@ check error? - this->root_->insert (lnode); - } - - this->active_list_.push (lnode); - return 0; -} - -int -ACEXML_Debug_Element_Builder::endChildGroup (CARDINALITY ACEXML_ENV_ARG_DECL_NOT_USED) -{ - this->active_list_.pop (); - return 0; -} - -int -ACEXML_Debug_Element_Builder::setChoice () -{ - this->active_list_.top ()->set (ACEXML_Element_Tree_List_Node::CHOICE); - return 0; -} - -int -ACEXML_Debug_Element_Builder::setSequence () -{ - this->active_list_.top ()->set (ACEXML_Element_Tree_List_Node::SEQUENCE); - return 0; -} - -int -ACEXML_Debug_Element_Builder::insertElement (const ACEXML_Char *, - const ACEXML_Char *, - const ACEXML_Char *qName ACEXML_ENV_ARG_DECL_NOT_USED) -{ - ACEXML_Element_Tree_Name_Node *node; - - // @@ We should "throw" an exception here instead of returning -1. - ACE_NEW_RETURN (node, - ACEXML_Element_Tree_Name_Node (qName), - -1); - - return this->active_list_.top ()->insert (node); -} - -void -ACEXML_Debug_Element_Builder::dump () -{ - cout << "<!ELEMENT " << this->element_; - - // @@ Also dump element contentspec here. - switch (this->type_) - { - case EMPTY: - cout << "EMPTY"; - break; - case ANY: - cout << "ANY"; - break; - case MIXED: - case CHILDREN: - // @@ Dump the content of this->root_ - cout << "*** not implemented ***"; - break; - default: - cout << "*** Unidentified element type ***"; - break; - } - - cout << ">" << endl; -} diff --git a/ACE/ACEXML/parser/debug_validator/Debug_Element_Builder.h b/ACE/ACEXML/parser/debug_validator/Debug_Element_Builder.h deleted file mode 100644 index dc1f7765441..00000000000 --- a/ACE/ACEXML/parser/debug_validator/Debug_Element_Builder.h +++ /dev/null @@ -1,123 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Debug_Element_Builder.h - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - */ -//============================================================================= -#ifndef _ACEXML_DEBUG_ELEMENT_BUILDER_H_ -#define _ACEXML_DEBUG_ELEMENT_BUILDER_H_ - -#include /**/ "ace/pre.h" -#include "ACEXML/parser/debug_validator/Debug_DTD_Manager_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ACEXML/common/Element_Def_Builder.h" -#include "ACEXML/parser/debug_validator/Element_Tree.h" - -/** - * @class ACEXML_Debug_Element_Builder Debug_Element_Builder.h "parser/debug_validator/Debug_Element_Builder.h" - * - * This class prints out the element definition for debugging purpose. - * - * @todo This class is not namespace-aware. - */ -class ACEXML_DEBUG_DTD_MANAGER_Export ACEXML_Debug_Element_Builder - : public ACEXML_Element_Def_Builder -{ -public: - ACEXML_Debug_Element_Builder (); - - virtual ~ACEXML_Debug_Element_Builder (); - - /** - * Define the name of the element. - * - * @retval 0 if valid, -1 otherwise. - */ - virtual int setElementName (const ACEXML_Char *namespaceURI, - const ACEXML_Char *localName, - const ACEXML_Char *qName ACEXML_ENV_ARG_DECL) - ; - - /** - * Define the content type of the element. - * - * @retval 0 if valid, -1 otherwise. - */ - virtual int setContentType (CONTENT_TYPE type ACEXML_ENV_ARG_DECL) - ; - - /** - * Insert one more element into Mixed definition. - */ - virtual int insertMixedElement (const ACEXML_Char *namespaceURI, - const ACEXML_Char *localName, - const ACEXML_Char *qName ACEXML_ENV_ARG_DECL) - ; - - /** - * Start a new group of children. - */ - virtual int startChildGroup (); - - /** - * End a new group of children. - * - * @retval 0 on success. - */ - virtual int endChildGroup (CARDINALITY card ACEXML_ENV_ARG_DECL); - - /** - * Set the type of current child group to Choice. - * - * @retval 0 on success, -1 if the type of the child group has - * already been set and this action conflicts with the previous - * setting. - */ - virtual int setChoice (); - - /** - * Set the type of current child group to Sequence. - * - * @retval 0 on success, -1 if the type of the child group has - * already been set and this action conflicts with the previous - * setting. - */ - virtual int setSequence (); - - /** - * Insert an new element into the current child group. - * - * @retval 0 on success, -1 otherwise. - */ - virtual int insertElement (const ACEXML_Char *namespaceURI, - const ACEXML_Char *localName, - const ACEXML_Char *qName ACEXML_ENV_ARG_DECL) - ; - - /** - * Dump the content of the attribute definition. - */ - virtual void dump (void); -private: - CONTENT_TYPE type_; - - ACEXML_String element_; - - ACEXML_Element_Tree_List_Node *root_; - - ACEXML_Element_Tree_List_Stack active_list_; -}; - - -#include /**/ "ace/post.h" - -#endif /* _ACEXML_DEBUG_ELEMENT_BUILDER_H_ */ diff --git a/ACE/ACEXML/parser/debug_validator/Element_Tree.cpp b/ACE/ACEXML/parser/debug_validator/Element_Tree.cpp deleted file mode 100644 index e584e22dd62..00000000000 --- a/ACE/ACEXML/parser/debug_validator/Element_Tree.cpp +++ /dev/null @@ -1,72 +0,0 @@ -// $Id$ - -#include "ACEXML/parser/debug_validator/Element_Tree.h" - -#if !defined (__ACEXML_INLINE__) -# include "ACEXML/parser/debug_validator/Element_Tree.inl" -#endif /* __ACEXML_INLINE__ */ - -ACEXML_Element_Tree_Node::~ACEXML_Element_Tree_Node () -{ - delete this->next_; -} - -ACE_ALLOC_HOOK_DEFINE (ACEXML_Element_Tree_Node) - -void -ACEXML_Element_Tree_Name_Node::dump () -{ - cout << this->name_; -} - -ACE_ALLOC_HOOK_DEFINE (ACEXML_Element_Tree_Name_Node) - -ACEXML_Element_Tree_List_Node::~ACEXML_Element_Tree_List_Node (void) -{ - delete this->head_; -} - -int -ACEXML_Element_Tree_List_Node::insert (ACEXML_Element_Tree_Node *node) -{ - if (this->head_ == 0) - { - this->tail_ = this->head_ = node; - } - else - { - this->tail_->next (node); - this->tail_ = node; - } - return 0; -} - -void -ACEXML_Element_Tree_List_Node::dump (void) -{ - ACEXML_Element_Tree_Node *ptr = this->head_; - const ACEXML_Char *separator = (this->type_ == SEQUENCE) ? ACE_TEXT(" , ") : ACE_TEXT(" | "); - - cout << "("; - - if (ptr != 0) - { - ptr->dump (); - ptr = ptr->next (); - - while (ptr != 0) - { - cout << separator; - ptr->dump (); - ptr->next (); - } - } - - cout << ")"; -} - -ACE_ALLOC_HOOK_DEFINE (ACEXML_Element_Tree_List_Node) - - - -ACE_ALLOC_HOOK_DEFINE (ACEXML_Element_Tree_List_Stack) diff --git a/ACE/ACEXML/parser/debug_validator/Element_Tree.h b/ACE/ACEXML/parser/debug_validator/Element_Tree.h deleted file mode 100644 index 4738b5de2f4..00000000000 --- a/ACE/ACEXML/parser/debug_validator/Element_Tree.h +++ /dev/null @@ -1,160 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Element_Tree.h - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - */ -//============================================================================= -#ifndef _ACEXML_ELEMENT_TREE_H_ -#define _ACEXML_ELEMENT_TREE_H_ - -#include /**/ "ace/pre.h" -#include "ACEXML/parser/debug_validator/Debug_DTD_Manager_Export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ACEXML/common/XML_Types.h" - -/** - * @class ACEXML_Element_Tree_Node Element_Tree.h "parser/debug_validator/Element_Tree.h" - * - * @brief An abstract base class for describing DTD child element definition. - * - * @sa ACEXML_Element_Tree_Name_Node, ACEXML_Element_Tree_List_Node - */ -class ACEXML_DEBUG_DTD_MANAGER_Export ACEXML_Element_Tree_Node -{ -public: - - /// Default constructor. - ACEXML_Element_Tree_Node (); - - /// Destructor - virtual ~ACEXML_Element_Tree_Node (); - - /// Accessor for next element in chain - ACEXML_Element_Tree_Node *next (); - void next (ACEXML_Element_Tree_Node *n); - - /// Displaying the content. - virtual void dump () = 0; - - ACE_ALLOC_HOOK_DECLARE; - -protected: - ACEXML_Element_Tree_Node *next_; -}; - -/** - * @class ACEXML_Element_Tree_Name_Node Element_Tree.h "parser/debug_validator/Element_Tree.h" - * - * @brief An abstract base class for describing a name node in a DTD child - * element definition. - * - * @sa ACEXML_Element_Tree_Node, ACEXML_Element_Tree_List_Node - */ -class ACEXML_DEBUG_DTD_MANAGER_Export ACEXML_Element_Tree_Name_Node - : public ACEXML_Element_Tree_Node -{ -public: - /// Constructor. - ACEXML_Element_Tree_Name_Node (const ACEXML_Char *name, - int release = 1); - - /// Change the name of this node. - void set (const ACEXML_Char *name, - int release = 1); - - virtual void dump (); - - ACE_ALLOC_HOOK_DECLARE; -protected: - ACEXML_String name_; -}; - -class ACEXML_Element_Tree_List_Stack; - -/** - * @class ACEXML_Element_Tree_List_Node Element_Tree.h "parser/debug_validator/Element_Tree.h" - * - * @brief An abstract base class for describing a node list in a DTD child - * element definition. - * - * @sa ACEXML_Element_Tree_Node, ACEXML_Element_Tree_Name_Node - */ -class ACEXML_DEBUG_DTD_MANAGER_Export ACEXML_Element_Tree_List_Node - : public ACEXML_Element_Tree_Node -{ -public: - friend class ACEXML_Element_Tree_List_Stack; - - typedef enum { - SEQUENCE, - CHOICE - } LIST_TYPE; - - /// Default constructor. - ACEXML_Element_Tree_List_Node (void); - - /// Destructor. - virtual ~ACEXML_Element_Tree_List_Node (void); - - /// Insert a new ACEXML_Element_Tree_Node into the list. - int insert (ACEXML_Element_Tree_Node *node); - - /// Get/set the type of list. - LIST_TYPE get (void); - int set (LIST_TYPE type); - - virtual void dump (); - - ACE_ALLOC_HOOK_DECLARE; -protected: - LIST_TYPE type_; - - ACEXML_Element_Tree_Node *head_; - - ACEXML_Element_Tree_Node *tail_; - - ACEXML_Element_Tree_List_Node *pop_next_; -}; - -/** - * @class ACEXML_Element_Tree_List_Stack Element_Tree.h "parser/debug_validator/Element_Tree.h" - * - * @brief A class for managing a stack of ACEXML_Element_Tree_List_Node's. - * - * @sa ACEXML_Element_Tree_List_Node - */ -class ACEXML_DEBUG_DTD_MANAGER_Export ACEXML_Element_Tree_List_Stack -{ -public: - ACEXML_Element_Tree_List_Stack (); - - void push (ACEXML_Element_Tree_List_Node *n); - - ACEXML_Element_Tree_List_Node *pop (void); - - ACEXML_Element_Tree_List_Node *top (void); - - int empty (void); - - ACE_ALLOC_HOOK_DECLARE; - -protected: - ACEXML_Element_Tree_List_Node *top_; -}; - -#if defined (__ACEXML_INLINE__) -# include "ACEXML/parser/debug_validator/Element_Tree.inl" -#endif /* __ACEXML_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* _ACEXML_ELEMENT_TREE_H_ */ diff --git a/ACE/ACEXML/parser/debug_validator/Element_Tree.inl b/ACE/ACEXML/parser/debug_validator/Element_Tree.inl deleted file mode 100644 index 4b408835403..00000000000 --- a/ACE/ACEXML/parser/debug_validator/Element_Tree.inl +++ /dev/null @@ -1,92 +0,0 @@ -// $Id$ - -ACEXML_INLINE -ACEXML_Element_Tree_Node::ACEXML_Element_Tree_Node () - : next_ (0) -{ -} - -ACEXML_INLINE ACEXML_Element_Tree_Node * -ACEXML_Element_Tree_Node::next () -{ - return this->next_; -} - -ACEXML_INLINE void -ACEXML_Element_Tree_Node::next (ACEXML_Element_Tree_Node * n) -{ - this->next_ = n; -} - -ACEXML_INLINE -ACEXML_Element_Tree_Name_Node::ACEXML_Element_Tree_Name_Node (const ACEXML_Char *name, - int release) - : name_ (name, 0, release) -{ -} - -ACEXML_INLINE void -ACEXML_Element_Tree_Name_Node::set (const ACEXML_Char *name, - int release) -{ - this->name_.set (name, release); -} - -ACEXML_INLINE -ACEXML_Element_Tree_List_Node::ACEXML_Element_Tree_List_Node (void) - : type_ (SEQUENCE), - head_ (0), - tail_ (0), - pop_next_ (0) -{ -} - -ACEXML_INLINE ACEXML_Element_Tree_List_Node::LIST_TYPE -ACEXML_Element_Tree_List_Node::get (void) -{ - return this->type_; -} - -ACEXML_INLINE int -ACEXML_Element_Tree_List_Node::set (ACEXML_Element_Tree_List_Node::LIST_TYPE type) -{ - this->type_ = type; - return 0; -} - -ACEXML_INLINE -ACEXML_Element_Tree_List_Stack::ACEXML_Element_Tree_List_Stack (void) - : top_ (0) -{ -} - -ACEXML_INLINE ACEXML_Element_Tree_List_Node * -ACEXML_Element_Tree_List_Stack::top () -{ - return this->top_; -} - -ACEXML_INLINE void -ACEXML_Element_Tree_List_Stack::push (ACEXML_Element_Tree_List_Node *n) -{ - n->pop_next_ = this->top_; - this->top_ = n; -} - -ACEXML_INLINE ACEXML_Element_Tree_List_Node * -ACEXML_Element_Tree_List_Stack::pop () -{ - if (this->top_ != 0) - { - ACEXML_Element_Tree_List_Node *ptr = this->top_; - this->top_ = this->top_->pop_next_; - return ptr; - } - return 0; -} - -ACEXML_INLINE int -ACEXML_Element_Tree_List_Stack::empty () -{ - return this->top_ == 0; -} diff --git a/ACE/ACEXML/parser/parser/ACEXML_Parser.pc.in b/ACE/ACEXML/parser/parser/ACEXML_Parser.pc.in deleted file mode 100644 index 61fb0d02374..00000000000 --- a/ACE/ACEXML/parser/parser/ACEXML_Parser.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: ACEXML_Parser -Description: ACE XML Parser Library -Requires: ACEXML -Version: @VERSION@ -Libs: -L${libdir} -lACEXML_Parser -Cflags: -I${includedir} diff --git a/ACE/ACEXML/parser/parser/Entity_Manager.cpp b/ACE/ACEXML/parser/parser/Entity_Manager.cpp deleted file mode 100644 index 0f27707ae72..00000000000 --- a/ACE/ACEXML/parser/parser/Entity_Manager.cpp +++ /dev/null @@ -1,20 +0,0 @@ -// $Id$ - -#include "ACEXML/parser/parser/Entity_Manager.h" - -#if !defined (__ACEXML_INLINE__) -# include "ACEXML/parser/parser/Entity_Manager.inl" -#endif /* __ACEXML_INLINE__ */ - - -ACEXML_Entity_Manager::ACEXML_Entity_Manager (void) - : entities_ (0) -{ - -} - -ACEXML_Entity_Manager::~ACEXML_Entity_Manager (void) -{ - this->reset(); -} - diff --git a/ACE/ACEXML/parser/parser/Entity_Manager.h b/ACE/ACEXML/parser/parser/Entity_Manager.h deleted file mode 100644 index e97233a6146..00000000000 --- a/ACE/ACEXML/parser/parser/Entity_Manager.h +++ /dev/null @@ -1,100 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Entity_Manager.h - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - * @author Krishnakumar B <kitty@cs.wustl.edu> - */ -//============================================================================= - -#ifndef ACEXML_ENTITY_MANAGER_H -#define ACEXML_ENTITY_MANAGER_H - -#include /**/ "ace/pre.h" -#include "ACEXML/parser/parser/Parser_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ACEXML/common/XML_Types.h" -#include "ace/Hash_Map_Manager.h" -#include "ace/Null_Mutex.h" - -typedef ACE_Hash_Map_Entry<ACEXML_String, - ACEXML_String> ACEXML_ENTITY_ENTRY; - -typedef ACE_Hash_Map_Manager_Ex<ACEXML_String, - ACEXML_String, - ACE_Hash<ACEXML_String>, - ACE_Equal_To<ACEXML_String>, - ACE_Null_Mutex> ACEXML_ENTITIES_MANAGER; - -typedef ACE_Hash_Map_Iterator_Ex<ACEXML_String, - ACEXML_String, - ACE_Hash<ACEXML_String>, - ACE_Equal_To<ACEXML_String>, - ACE_Null_Mutex> ACEXML_ENTITIES_MANAGER_ITER; - -typedef ACE_Hash_Map_Reverse_Iterator_Ex<ACEXML_String, - ACEXML_String, - ACE_Hash<ACEXML_String>, - ACE_Equal_To<ACEXML_String>, - ACE_Null_Mutex> ACEXML_ENTITIES_MANAGER_REVERSE_ITER; - -typedef ACE_Hash_Map_Bucket_Iterator<ACEXML_String, - ACEXML_String, - ACE_Hash<ACEXML_String>, - ACE_Equal_To<ACEXML_String>, - ACE_Null_Mutex> ACEXML_ENTITY_ENTRY_ITERATOR; - -/** - * @class ACEXML_Entity_Manager Entity_Manager.h "ACEXML/parser/parser/Entity_Manager.h" - * - * @brief Class to manage and resolve entity references. - * - * @todo Fill in details for this class. - */ -class ACEXML_PARSER_Export ACEXML_Entity_Manager -{ -public: - /// Default constructor. - ACEXML_Entity_Manager (void); - - /// Destructor. - ~ACEXML_Entity_Manager (void); - - /// Add a new entity declaration. - int add_entity (const ACEXML_Char *ref, const ACEXML_Char *value); - - /// Resolve an entity reference. - const ACEXML_Char* resolve_entity (const ACEXML_Char *ref); - - /// Resolve an entity reference and return the tuple of @c systemId and - /// @c publicId - int resolve_entity (const ACEXML_Char* ref, ACEXML_Char*& systemId, - ACEXML_Char*& publicId); - - /// Number of items in the Entity Manager - size_t size(void) const; - - /// Reset the state - int reset (void); - -private: - ACEXML_ENTITIES_MANAGER* entities_; - bool init_; - -}; - -#if defined (__ACEXML_INLINE__) -# include "ACEXML/parser/parser/Entity_Manager.inl" -#endif /* __ACEXML_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* ACEXML_ENTITY_MANAGER_H */ diff --git a/ACE/ACEXML/parser/parser/Entity_Manager.inl b/ACE/ACEXML/parser/parser/Entity_Manager.inl deleted file mode 100644 index ca859a0b0d5..00000000000 --- a/ACE/ACEXML/parser/parser/Entity_Manager.inl +++ /dev/null @@ -1,66 +0,0 @@ -// $Id$ - -ACEXML_INLINE int -ACEXML_Entity_Manager::add_entity (const ACEXML_Char *ref, - const ACEXML_Char *v) -{ - if (!this->entities_ ) - ACE_NEW_RETURN (this->entities_, ACEXML_ENTITIES_MANAGER, -1); - ACEXML_String name (ref, 0, false); - ACEXML_String value (v, 0, false); - return this->entities_->bind (name, value); -} - -ACEXML_INLINE const ACEXML_Char* -ACEXML_Entity_Manager::resolve_entity (const ACEXML_Char *ref) -{ - if (!this->entities_) - return 0; - - ACEXML_ENTITY_ENTRY *entry = 0; - - if (this->entities_->find (ACEXML_String (ref, 0, false), - entry) == 0) - return entry->int_id_.c_str(); - return 0; -} - -ACEXML_INLINE int -ACEXML_Entity_Manager::resolve_entity (const ACEXML_Char* ref, - ACEXML_Char*& systemId, - ACEXML_Char*& publicId) -{ - if (!this->entities_) - return 0; - - publicId = systemId = 0; - ACEXML_ENTITY_ENTRY_ITERATOR iter (*this->entities_, ref); - ACEXML_ENTITY_ENTRY_ITERATOR end (*this->entities_, ref, 1); - - if (iter != end) - { - systemId = const_cast<ACEXML_Char*> ((*iter).int_id_.c_str()); - ++iter; - if (iter != end) - publicId = const_cast<ACEXML_Char*> ((*iter).int_id_.c_str()); - return 0; - } - return -1; -} - -ACEXML_INLINE int -ACEXML_Entity_Manager::reset (void) -{ - delete this->entities_; - this->entities_ = 0; - return 0; -} - - -ACEXML_INLINE size_t -ACEXML_Entity_Manager::size (void) const -{ - if (!this->entities_) - return 0; - return this->entities_->current_size(); -} diff --git a/ACE/ACEXML/parser/parser/Makefile.am b/ACE/ACEXML/parser/parser/Makefile.am deleted file mode 100644 index f4440e30faf..00000000000 --- a/ACE/ACEXML/parser/parser/Makefile.am +++ /dev/null @@ -1,73 +0,0 @@ -## Process this file with automake to create Makefile.in -## -## $Id$ -## -## This file was generated by MPC. Any changes made directly to -## this file will be lost the next time it is generated. -## -## MPC Command: -## ./bin/mwc.pl -type automake -noreldefs ACE.mwc - -includedir = @includedir@/ACEXML/parser/parser -pkgconfigdir = @libdir@/pkgconfig - -ACE_BUILDDIR = $(top_builddir) -ACE_ROOT = $(top_srcdir) - - -## Makefile.ACEXML_Parser.am - -if !BUILD_ACE_FOR_TAO - -lib_LTLIBRARIES = libACEXML_Parser.la - -libACEXML_Parser_la_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -DACEXML_PARSER_BUILD_DLL - -libACEXML_Parser_la_SOURCES = \ - Entity_Manager.cpp \ - Parser.cpp \ - ParserContext.cpp \ - ParserInternals.cpp - -libACEXML_Parser_la_LDFLAGS = \ - -release @ACE_VERSION_NAME@ - -libACEXML_Parser_la_LIBADD = \ - $(ACE_BUILDDIR)/ACEXML/common/libACEXML.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -nobase_include_HEADERS = \ - Entity_Manager.h \ - Entity_Manager.inl \ - Parser.h \ - Parser.inl \ - ParserContext.h \ - ParserContext.inl \ - ParserInternals.h \ - Parser_export.h - -pkgconfig_DATA = \ - ACEXML_Parser.pc - -CLEANFILES = \ - ACEXML_Parser.pc - -ACEXML_Parser.pc: ${top_builddir}/config.status ${srcdir}/ACEXML_Parser.pc.in - ${top_builddir}/config.status --file $@:${srcdir}/ACEXML_Parser.pc.in - -endif !BUILD_ACE_FOR_TAO - -EXTRA_DIST = \ - ACEXML_Parser.pc.in - - -## Clean up template repositories, etc. -clean-local: - -rm -f *~ *.bak *.rpo *.sym lib*.*_pure_* core core.* - -rm -f gcctemp.c gcctemp so_locations *.ics - -rm -rf cxx_repository ptrepository ti_files - -rm -rf templateregistry ir.out - -rm -rf ptrepository SunWS_cache Templates.DB diff --git a/ACE/ACEXML/parser/parser/Parser.cpp b/ACE/ACEXML/parser/parser/Parser.cpp deleted file mode 100644 index a7d4b8aab42..00000000000 --- a/ACE/ACEXML/parser/parser/Parser.cpp +++ /dev/null @@ -1,3352 +0,0 @@ -// $Id$ - -#include "ACEXML/parser/parser/Parser.h" - -#if !defined (__ACEXML_INLINE__) -# include "ACEXML/parser/parser/Parser.inl" -#endif /* __ACEXML_INLINE__ */ - -#include "ace/ACE.h" -#include "ACEXML/common/Transcode.h" -#include "ACEXML/common/AttributesImpl.h" -#include "ACEXML/common/StrCharStream.h" -#include "ACEXML/common/StreamFactory.h" -#include "ACEXML/parser/parser/ParserInternals.h" -#include "ace/OS_NS_string.h" -#include "ace/OS_NS_strings.h" - -static const ACEXML_Char default_attribute_type[] = ACE_TEXT ("CDATA"); -static const ACEXML_Char empty_string[] = { 0 }; - -const ACEXML_Char -ACEXML_Parser::simple_parsing_feature_[] = ACE_TEXT ("Simple"); - -const ACEXML_Char -ACEXML_Parser::namespaces_feature_[] = ACE_TEXT ("http://xml.org/sax/features/namespaces"); - -const ACEXML_Char -ACEXML_Parser::namespace_prefixes_feature_[] = ACE_TEXT ("http://xml.org/sax/features/namespace-prefixes"); - -const ACEXML_Char -ACEXML_Parser::validation_feature_[] = ACE_TEXT ("http://xml.org/sax/features/validation"); - -ACEXML_Parser::ACEXML_Parser (void) - : dtd_handler_ (0), - entity_resolver_ (0), - content_handler_ (0), - error_handler_ (0), - doctype_ (0), - current_ (0), - alt_stack_ (MAXPATHLEN), - nested_namespace_ (0), - ref_state_ (ACEXML_ParserInt::INVALID), - external_subset_ (0), - external_entity_ (0), - has_pe_refs_ (0), - standalone_ (0), - external_dtd_ (0), - internal_dtd_ (0), - simple_parsing_ (0), - validate_ (1), - namespaces_(1), - namespace_prefixes_ (0) -{ -} - -ACEXML_Parser::~ACEXML_Parser (void) -{ - -} - -int -ACEXML_Parser::initialize(ACEXML_InputSource* input) -{ - // Initialize namespace support - if (this->xml_namespace_.init() == -1) - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("Error initializing namespace support\n"))); - return -1; - } - for (int i = 0; i < 5; ++i) - { - if (this->predef_entities_.add_entity (ACEXML_ParserInt::predef_ent_[i], - ACEXML_ParserInt::predef_val_[i]) - != 0) - { - ACE_ERROR ((LM_DEBUG, - ACE_TEXT ("Error adding entity %s to Manager\n"), - ACEXML_ParserInt::predef_ent_[i])); - return -1; - } - } - return this->switch_input (input, input->getSystemId()); -} - -void -ACEXML_Parser::parse (const ACEXML_Char *systemId ACEXML_ENV_ARG_DECL) -{ - ACEXML_InputSource* input = 0; - ACE_NEW (input, ACEXML_InputSource (systemId)); - this->parse (input ACEXML_ENV_ARG_PARAMETER); -} - -void -ACEXML_Parser::parse (ACEXML_InputSource *input ACEXML_ENV_ARG_DECL) -{ - if (input == 0) - { - this->fatal_error(ACE_TEXT ("Invalid input source") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK; - } - if (this->content_handler_ == 0) - { - this->fatal_error (ACE_TEXT ("No content handlers defined. Exiting..") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK; - } - - if (this->validate_ && this->dtd_handler_ == 0) - { - this->fatal_error (ACE_TEXT ("No DTD handlers defined. Exiting..") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK; - } - - - if (this->initialize(input) == -1) - { - this->fatal_error (ACE_TEXT ("Failed to initialize parser state") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK; - } - // Set up Locator. - this->content_handler_->setDocumentLocator (this->current_->getLocator()); - - int xmldecl_defined = 0; - ACEXML_Char fwd = this->get(); // Consume '<' - if (fwd == '<' && this->peek() == '?') - { - this->get(); // Consume '?' - fwd = this->peek(); - if (fwd == 'x' && !xmldecl_defined) - { - this->parse_xml_decl (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK; - xmldecl_defined = 1; - } - } - // We need a XMLDecl in a Valid XML document - if (this->validate_ && !xmldecl_defined) - { - this->fatal_error (ACE_TEXT ("Expecting an XMLDecl at the beginning of") - ACE_TEXT (" a valid document") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK; - } - this->content_handler_->startDocument (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK; - - int doctype_defined = 0; - for (int prolog_done = 0; prolog_done == 0; ) - { - // Expect a '<' only if we have encountered a XMLDecl, or we are - // looping through Misc blocks. - if (xmldecl_defined) - { - if (this->skip_whitespace () != '<') - { - this->fatal_error (ACE_TEXT ("Expecting '<' at the beginning of ") - ACE_TEXT ("Misc section") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK; - } - fwd = this->peek(); - } - switch (fwd) - { - case '?': - this->get(); - this->parse_processing_instruction (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK; - xmldecl_defined = 1; - break; - case '!': - this->get(); - fwd = this->peek (); - if (fwd == 'D' && !doctype_defined) // DOCTYPE - { - // This will also take care of the trailing MISC block if any. - this->parse_doctypedecl (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK; - doctype_defined = 1; - // Now that we have a DOCTYPE Decl defined, we shouldn't - // accept XML Decl any longer - xmldecl_defined = 1; - } - else if (fwd == 'D') - { - this->fatal_error (ACE_TEXT ("Duplicate DOCTYPE declaration") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK; - } - else if (fwd == '-') // COMMENT - { - if (this->parse_comment () < 0) - { - this->fatal_error(ACE_TEXT ("Invalid comment in document") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK; - } - xmldecl_defined = 1; - } - break; - case 0: - this->fatal_error (ACE_TEXT ("Unexpected end-of-file") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK; - default: // Root element begins - prolog_done = 1; - break; - } - } - - if (this->validate_ && !doctype_defined) - { - this->warning (ACE_TEXT ("No doctypeDecl in valid document") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK; - } - - // Now parse root element. - this->parse_element (1 ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK; - - this->content_handler_->endDocument (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK; - - // Reset the parser state - this->reset(); - -} - -int -ACEXML_Parser::parse_doctypedecl (ACEXML_ENV_SINGLE_ARG_DECL) -{ - if (this->parse_token (ACE_TEXT ("DOCTYPE")) < 0) - { - this->fatal_error(ACE_TEXT ("Expecting keyword DOCTYPE in a doctypedecl") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - - ACEXML_Char nextch = 0; - if (this->skip_whitespace_count (&nextch) == 0) - { - this->fatal_error(ACE_TEXT ("Expecting a space between DOCTYPE keyword ") - ACE_TEXT ("and name") ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - - this->doctype_ = this->parse_name (); - if (this->doctype_ == 0) - { - this->fatal_error(ACE_TEXT ("Invalid DOCTYPE name") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - int count = this->skip_whitespace_count (&nextch); - - if (nextch == 'S' || nextch == 'P') // ExternalID defined - { - if (count == 0) - { - this->fatal_error(ACE_TEXT ("Expecting a space between DOCTYPE") - ACE_TEXT ("keyword and name") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - this->external_dtd_ = 1; - this->parse_external_dtd (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - - nextch = this->skip_whitespace (); - switch (nextch) - { - case '[': - this->internal_dtd_ = 1; // Internal DTD definition - this->parse_internal_dtd (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - break; - case '>': // End of DTD definition - // This is an XML document without a doctypedecl. - if (this->validate_ && !this->external_dtd_) - { - this->fatal_error (ACE_TEXT ("No DTD defined") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - return 0; - case '0': - this->fatal_error (ACE_TEXT ("Unexpected end-of-file") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - default: - break; - } - - if (this->skip_whitespace() != '>') - { - this->fatal_error(ACE_TEXT ("Expecting '>' at end of doctypedecl") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - return 0; -} - -int -ACEXML_Parser::parse_internal_dtd (ACEXML_ENV_SINGLE_ARG_DECL) -{ - this->ref_state_ = ACEXML_ParserInt::IN_INT_DTD; - ACEXML_Char nextch = this->skip_whitespace (); - do { - switch (nextch) - { - case '<': - nextch = this->get(); - switch (nextch) - { - case '!': - this->parse_markup_decl (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - break; - case '?': - this->parse_processing_instruction (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - break; - default: - this->fatal_error (ACE_TEXT ("Invalid internal subset") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - break; - } - break; - case '%': - this->has_pe_refs_ = 1; - this->parse_PE_reference (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - break; - case ']': // End of internal definitions. - return 0; - case '&': - this->fatal_error (ACE_TEXT ("Invalid Reference in internal DTD") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - break; - case 0: - this->pop_context (0 ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - break; - default: - this->fatal_error (ACE_TEXT ("Invalid content in internal subset") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - }; - nextch = this->skip_whitespace (); - } while (1); - - ACE_NOTREACHED (return -1); -} - -int -ACEXML_Parser::parse_external_dtd (ACEXML_ENV_SINGLE_ARG_DECL) -{ - this->ref_state_ = ACEXML_ParserInt::IN_EXT_DTD; - ACEXML_Char* publicId = 0; - ACEXML_Char* systemId = 0; - if (this->parse_external_id (publicId, systemId - ACEXML_ENV_ARG_PARAMETER) != 0) - { - this->fatal_error (ACE_TEXT ("Error in parsing ExternalID") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - if (this->validate_) - { - ACEXML_Char* uri = this->normalize_systemid (systemId); - ACE_Auto_Basic_Array_Ptr<ACEXML_Char> cleanup_uri (uri); - ACEXML_InputSource* ip = 0; - if (this->entity_resolver_) - { - ip = this->entity_resolver_->resolveEntity (publicId, - (uri ? uri : systemId) - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - if (ip) - { - if (this->switch_input (ip, (uri ? uri : systemId), publicId) != 0) - return -1; - } - else - { - ACEXML_StreamFactory factory; - ACEXML_CharStream* cstream = factory.create_stream (uri ? - uri: systemId); - if (!cstream) { - this->fatal_error (ACE_TEXT ("Invalid input source") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - if (this->switch_input (cstream, systemId, publicId) != 0) - return -1; - } - this->parse_external_subset (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - return 0; -} - - -int -ACEXML_Parser::parse_external_subset (ACEXML_ENV_SINGLE_ARG_DECL) -{ - this->ref_state_ = ACEXML_ParserInt::IN_EXT_DTD; - this->external_subset_ = 1; - size_t nrelems = 0; - ACEXML_Char nextch = this->skip_whitespace(); - do { - switch (nextch) - { - case '<': - nextch = this->get(); - switch (nextch) - { - case '!': - nextch = this->peek(); - if (nextch == '[') - this->parse_conditional_section (ACEXML_ENV_SINGLE_ARG_PARAMETER); - else - this->parse_markup_decl (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - break; - case '?': - nextch = this->peek(); - if (nextch == 'x') - this->parse_text_decl (ACEXML_ENV_SINGLE_ARG_PARAMETER); - else - this->parse_processing_instruction (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - break; - default: - this->fatal_error (ACE_TEXT ("Invalid content in external DTD") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - break; - case '%': - this->parse_PE_reference (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - break; - case 0: - nrelems = this->pop_context (0 ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - if (nrelems == 1) - return 0; - break; - default: - this->fatal_error (ACE_TEXT ("Invalid content in external DTD") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - nextch = this->skip_whitespace(); - } while (1); -} - -int -ACEXML_Parser::parse_conditional_section (ACEXML_ENV_SINGLE_ARG_DECL) -{ - ACEXML_Char ch = this->get (); - int include = 0; - if (ch != '[') - { - this->fatal_error(ACE_TEXT ("Internal Parser Error") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - ch = this->skip_whitespace(); - if (ch == '%') - { - this->parse_PE_reference (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - ch = this->skip_whitespace(); - } - if (ch == 'I') - { - ch = this->get(); - switch (ch) - { - case 'N': - if (this->parse_token (ACE_TEXT ("CLUDE")) < 0) - { - this->fatal_error (ACE_TEXT ("Expecting keyword INCLUDE in ") - ACE_TEXT ("conditionalSect") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - include = 1; - break; - case 'G': - if (this->parse_token (ACE_TEXT ("GNORE")) < 0) - { - this->fatal_error (ACE_TEXT ("Expecting keyword IGNORE in ") - ACE_TEXT ("conditionalSect") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - include = 0; - break; - default: - this->fatal_error (ACE_TEXT ("Invalid conditionalSect") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - ACEXML_Char fwd = '\xFF'; - this->skip_whitespace_count (&fwd); - if (fwd == 0) - { - this->get(); // Consume the 0 - this->pop_context (0 ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - } - else - { - this->fatal_error (ACE_TEXT ("Invalid conditionalSect") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - if (this->skip_whitespace() != '[') - { - this->fatal_error (ACE_TEXT ("Expecting '[' in conditionalSect") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - if (include) - this->parse_includesect (ACEXML_ENV_SINGLE_ARG_PARAMETER); - else - this->parse_ignoresect (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - return 0; -} - -int -ACEXML_Parser::parse_ignoresect (ACEXML_ENV_SINGLE_ARG_DECL) -{ - ACEXML_Char nextch = this->skip_whitespace(); - int count = 0; - int done = 0; - do { - switch (nextch) - { - case '<': - if (this->peek() == '!') - { - this->get(); - if (this->peek() == '[') - { - this->get(); - count++; - } - } - break; - case ']': - if (this->peek() == ']') - { - this->get(); - if (this->peek() == '>') - { - this->get(); - if (count) - { - --count; - break; - } - done = 1; - } - } - break; - case 0: // [VC: Proper Conditional Section/PE Nesting] - if (count != 0) - { - this->fatal_error (ACE_TEXT ("Invalid Conditional Section/PE ") - ACE_TEXT ("Nesting ") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - default: - break; - } - if (done) - break; - nextch = this->get(); - } while (1); - - return 0; -} - -int -ACEXML_Parser::parse_includesect (ACEXML_ENV_SINGLE_ARG_DECL) -{ - ACEXML_Char nextch = this->skip_whitespace(); - do { - switch (nextch) - { - case '<': - nextch = this->get(); - switch (nextch) - { - case '!': - nextch = this->peek(); - if (nextch == '[') - this->parse_conditional_section (ACEXML_ENV_SINGLE_ARG_PARAMETER); - else - this->parse_markup_decl (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - break; - case '?': - nextch = this->peek(); - this->parse_processing_instruction (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - break; - default: - this->fatal_error (ACE_TEXT ("Invalid includeSect") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - break; - case '%': - this->parse_PE_reference (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - break; - case 0: // [VC: Proper Conditional Section/PE Nesting] - this->fatal_error (ACE_TEXT ("Invalid Conditional Section/PE ") - ACE_TEXT ("Nesting ") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - case ']': - if (this->peek() == ']') - { - nextch = this->get(); - if (this->peek() == '>') - { - nextch = this->get(); - return 0; - } - } - default: - this->fatal_error (ACE_TEXT ("Invalid includeSect") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - nextch = this->skip_whitespace(); - } while (1); -} - -int -ACEXML_Parser::parse_markup_decl (ACEXML_ENV_SINGLE_ARG_DECL) -{ - ACEXML_Char nextch = this->peek (); - switch (nextch) - { - case 'E': // An ELEMENT or ENTITY decl - this->get (); - nextch = this->peek (); - switch (nextch) - { - case 'L': - this->parse_element_decl (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - break; - case 'N': - this->parse_entity_decl (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - break; - default: - this->fatal_error(ACE_TEXT ("Expecting keyword ELEMENT/ENTITY") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - break; - - case 'A': // An ATTLIST decl - this->parse_attlist_decl (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - break; - - case 'N': // A NOTATION decl - this->parse_notation_decl (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - break; - - case '-': // a comment. - if (this->parse_comment () < 0) - { - this->fatal_error(ACE_TEXT ("Invalid comment") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - break; - case 0: // [VC: Proper Declaration/PE Nesting] - this->fatal_error (ACE_TEXT ("Unexpected end-of-file") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - default: - this->fatal_error (ACE_TEXT ("Invalid markupDecl") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - return 0; -} - -int -ACEXML_Parser::parse_external_id (ACEXML_Char *&publicId, - ACEXML_Char *&systemId - ACEXML_ENV_ARG_DECL) -{ - publicId = systemId = 0; - ACEXML_Char nextch = this->get (); - ACEXML_Char fwd = 0; - switch (nextch) - { - case 'S': // External SYSTEM id. - if (this->parse_token (ACE_TEXT ("YSTEM")) < 0 || - this->skip_whitespace_count () < 1) - { - this->fatal_error(ACE_TEXT ("Expecting keyword SYSTEM") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - if (this->parse_system_literal (systemId) != 0) - { - this->fatal_error(ACE_TEXT ("Invalid systemLiteral") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - break; - case 'P': // External PUBLIC id or previously defined PUBLIC id. - if (this->parse_token (ACE_TEXT ("UBLIC")) < 0 || - this->skip_whitespace_count () < 1) - { - this->fatal_error(ACE_TEXT ("Expecing keyword PUBLIC") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - if (this->parse_pubid_literal (publicId) != 0) - { - this->fatal_error(ACE_TEXT ("Invalid PubidLiteral") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - this->skip_whitespace_count(&fwd); - if (fwd == '\'' || fwd == '"') - { - if (this->parse_system_literal (systemId) != 0) - { - this->fatal_error(ACE_TEXT ("Invalid systemLiteral") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - } - else if (this->ref_state_ != ACEXML_ParserInt::IN_NOTATION) - { - this->fatal_error(ACE_TEXT ("Expecting systemLiteral after a ") - ACE_TEXT ("PUBLIC keyword") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - break; - default: - this->fatal_error(ACE_TEXT ("Invalid system/public Literal") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - return 0; -} - -ACEXML_Char* -ACEXML_Parser::normalize_systemid (const ACEXML_Char* systemId) -{ - if (ACE_OS::strstr (systemId, ACE_TEXT("ftp://")) != 0 || - ACE_OS::strstr (systemId, ACE_TEXT ("http://")) != 0 || - ACE_OS::strstr (systemId, ACE_TEXT ("file://")) != 0) - return 0; - else - { - ACEXML_Char* normalized_uri = 0; - const ACEXML_Char* baseURI = this->current_->getLocator()->getSystemId(); - ACE_ASSERT (baseURI); - const ACEXML_Char* temp = 0; - if (ACE_OS::strstr (baseURI, ACE_TEXT ("http://")) != 0) - // baseURI is a HTTP URL and systemId is relative. Note that this - // is not compliant with RFC2396. Caveat Emptor ! - temp = ACE_OS::strrchr (baseURI, '/'); - else - // baseURI is a local file and systemId is relative - // Unlike the HTTP one, this will work always. - temp = ACE_OS::strrchr (baseURI,ACE_DIRECTORY_SEPARATOR_CHAR); - if (temp) - { - size_t pos = temp - baseURI + 1; - size_t len = pos + ACE_OS::strlen (systemId) + 1; - ACE_NEW_RETURN (normalized_uri, ACEXML_Char[len], 0); - ACE_OS::strncpy (normalized_uri, baseURI, pos); - ACE_OS::strcpy (normalized_uri + pos, systemId); - return normalized_uri; - } - return 0; - } -} - -void -ACEXML_Parser::parse_element (int is_root ACEXML_ENV_ARG_DECL) -{ - // Parse STag. - const ACEXML_Char *startname = this->parse_name (); - if (startname == 0) - { - this->fatal_error (ACE_TEXT ("Unexpected end-of-file") - ACEXML_ENV_ARG_PARAMETER); - return; - } - if (is_root && this->doctype_ != 0 - && ACE_OS::strcmp (startname, this->doctype_) != 0) - { - this->fatal_error (ACE_TEXT ("Root element different from DOCTYPE") - ACEXML_ENV_ARG_PARAMETER); - return ; - } - ACEXML_AttributesImpl attributes; - ACEXML_Char ch; - int ns_flag = 0; // Push only one namespace context onto the stack - // if there are multiple namespaces declared. - - const ACEXML_Char* ns_uri = 0; - const ACEXML_Char* ns_lname = 0; // namespace URI and localName - for (int start_element_done = 0; start_element_done == 0;) - { - ch = this->skip_whitespace (); - - switch (ch) - { - case 0: - this->fatal_error(ACE_TEXT ("Internal Parser error") - ACEXML_ENV_ARG_PARAMETER); - return; - case '/': - if (this->get () != '>') - { - this->fatal_error(ACE_TEXT ("Expecting '>' at end of element ") - ACE_TEXT ("definition") - ACEXML_ENV_ARG_PARAMETER); - return; - } - this->xml_namespace_.processName(startname, ns_uri, - ns_lname, 0); - this->prefix_mapping (this->xml_namespace_.getPrefix(ns_uri), - ns_uri, 1 - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK; - this->content_handler_->startElement(ns_uri, ns_lname, - startname, &attributes - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK; - this->content_handler_->endElement (ns_uri, ns_lname, startname - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK; - this->prefix_mapping (this->xml_namespace_.getPrefix(ns_uri), - ns_uri, 0 - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK; - if (ns_flag) - { - this->xml_namespace_.popContext (); - this->nested_namespace_--; - } - return; - case '>': - this->xml_namespace_.processName (startname, ns_uri, - ns_lname, 0); - this->prefix_mapping (this->xml_namespace_.getPrefix(ns_uri), - ns_uri, 1 - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK; - this->content_handler_->startElement(ns_uri, ns_lname, startname, - &attributes - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK; - start_element_done = 1; - break; - default: - ACEXML_Char *attvalue = 0; - ACEXML_Char *attname = this->parse_name (ch); - - if (attname == 0 || - this->skip_equal () != 0 || - this->parse_attvalue (attvalue ACEXML_ENV_ARG_PARAMETER) != 0) - { - this->fatal_error(ACE_TEXT ("Error reading attribute value") - ACEXML_ENV_ARG_PARAMETER); - return; - } - - // Handling new namespace if any. Notice that the order of - // namespace declaration does matter. - if (ACE_OS::strncmp (attname, ACE_TEXT("xmlns"), 5) == 0) - { - if (this->namespaces_) - { - if (!ns_flag) - { - this->xml_namespace_.pushContext (); - this->nested_namespace_++; - ns_flag = 1; - } - - ACEXML_Char* name = ACE_OS::strchr (attname, ':'); - const ACEXML_Char* ns_name = (name == 0)? - empty_string:name+1; - if (this->xml_namespace_.declarePrefix (ns_name, - attvalue) == -1) - { - this->fatal_error(ACE_TEXT ("Duplicate definition of ") - ACE_TEXT ("prefix") - ACEXML_ENV_ARG_PARAMETER); - return; - } - } - if (this->namespace_prefixes_) - { - // Namespace_prefixes_feature_ is required. So add the - // xmlns:foo to the list of attributes. - if (attributes.addAttribute (ACE_TEXT (""), ACE_TEXT (""), - attname, - default_attribute_type, - attvalue) == -1) - { - this->fatal_error(ACE_TEXT ("Duplicate attribute ") - ACE_TEXT ("definition. Hint: Try ") - ACE_TEXT ("setting namespace_prefix") - ACE_TEXT ("es feature to 0") - ACEXML_ENV_ARG_PARAMETER); - return; - } - } - if (!this->namespaces_ && !this->namespace_prefixes_) - { - this->fatal_error(ACE_TEXT ("One of namespaces or ") - ACE_TEXT ("namespace_prefixes should be") - ACE_TEXT (" declared") - ACEXML_ENV_ARG_PARAMETER); - return; - } - } - else - { - const ACEXML_Char *uri, *lName; - this->xml_namespace_.processName (attname, uri, lName, 1); - if (attributes.addAttribute (uri, lName, attname, - default_attribute_type, - attvalue) == -1) - { - this->fatal_error(ACE_TEXT ("Duplicate attribute ") - ACE_TEXT ("definition") - ACEXML_ENV_ARG_PARAMETER); - return; - } - } - break; - } - } - if (this->parse_content (startname, ns_uri, ns_lname, ns_flag - ACEXML_ENV_ARG_PARAMETER) != 0) - return; -} - -int -ACEXML_Parser::parse_content (const ACEXML_Char* startname, - const ACEXML_Char*& ns_uri, - const ACEXML_Char*& ns_lname, int ns_flag ACEXML_ENV_ARG_DECL) -{ - ACEXML_Char *cdata; - size_t cdata_length = 0; - - // Parse element contents. - while (1) - { - ACEXML_Char ch = this->get (); - switch (ch) - { - case 0: - this->pop_context (1 ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - break; - case '<': - // Push out old 'characters' event. - if (cdata_length != 0) - { - cdata = this->obstack_.freeze (); - this->content_handler_->characters (cdata, 0, cdata_length - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - this->obstack_.unwind (cdata); - cdata_length = 0; - } - ch = this->peek(); - switch (ch) - { - case '!': // a comment or a CDATA section. - this->get (); // consume '!' - ch = this->peek (); - if (ch == '-') // a comment - { - if (this->parse_comment () < 0) - { - this->fatal_error(ACE_TEXT ("Invalid comment in ") - ACE_TEXT ("document") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - } - else if (ch == '[') // a CDATA section. - { - this->parse_cdata (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - else - { - this->fatal_error(ACE_TEXT ("Expecting a CDATA section ") - ACE_TEXT ("or a comment section") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - break; - case '?': // a PI. - this->get(); // consume the '?' - this->parse_processing_instruction - (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - break; - case '/': // an ETag. - { - this->get (); // consume '/' - ACEXML_Char* endname = this->parse_name (); - if (endname == 0 || - ACE_OS::strcmp (startname, endname) != 0) - { - this->fatal_error(ACE_TEXT ("Name in ETag doesn't ") - ACE_TEXT ("match name in STag") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - if (this->skip_whitespace () != '>') - { - this->fatal_error(ACE_TEXT ("Expecting '>' at end ") - ACE_TEXT ("of element") - ACEXML_ENV_ARG_PARAMETER); - return -1; - } - this->content_handler_->endElement (ns_uri, ns_lname, - endname - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - this->prefix_mapping (this->xml_namespace_.getPrefix(ns_uri), - ns_uri, 0 - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - if (this->namespaces_ && ns_flag) - { - if (this->nested_namespace_ >= 1) - { - this->xml_namespace_.popContext (); - this->nested_namespace_--; - } - } - return 0; - } - default: // a new nested element? - this->parse_element (0 ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - break; - } - break; - case '&': - if (this->peek () == '#') - { - ACEXML_Char buf[7]; - size_t len = 0; - do - { - len = sizeof (buf); - if (this->parse_char_reference (buf, len) != 0) - { - // [WFC: Legal Character] - this->fatal_error (ACE_TEXT ("Invalid CharRef") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - } while (buf[0] == '&' && this->peek() == '#'); - for (size_t j = 0; j < len; ++j) - this->obstack_.grow (buf[j]); - cdata_length += len; - } - else - { - this->ref_state_ = ACEXML_ParserInt::IN_CONTENT; - int length = this->parse_entity_reference(ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - if (length == 1) - cdata_length++; - } - break; - case '\x20': case '\x0D': case '\x0A': case '\x09': -// if (this->validate_) -// { -// // Flush out any non-whitespace characters -// if (cdata_length != 0) -// { -// cdata = this->obstack_.freeze (); -// this->content_handler_->characters(cdata, 0, cdata_length -// ACEXML_ENV_ARG_PARAMETER); -// ACEXML_CHECK_RETURN (-1); -// this->obstack_.unwind (cdata); -// cdata_length = 0; -// } -// ++cdata_length; -// this->obstack_.grow (ch); -// while (1) -// { -// ch = this->peek(); -// if (ch == '\x20' || ch == '\x0D' || ch == '\x0A' || -// ch == '\x09') -// { -// ch = this->get(); -// this->obstack_.grow (ch); -// continue; -// } -// break; -// } -// cdata = this->obstack_.freeze (); -// this->content_handler_->ignorableWhitespace (cdata, 0, -// cdata_length -// ACEXML_ENV_ARG_PARAMETER); -// ACEXML_CHECK_RETURN (-1); -// this->obstack_.unwind (cdata); -// cdata_length = 0; -// break; -// } - // Fall thru... - default: - ++cdata_length; - this->obstack_.grow (ch); - } - } - ACE_NOTREACHED (return 0;) -} - - -int -ACEXML_Parser::parse_cdata (ACEXML_ENV_SINGLE_ARG_DECL) -{ - if (this->parse_token (ACE_TEXT ("[CDATA[")) < 0) - { - this->fatal_error(ACE_TEXT ("Expecting '[CDATA[' at beginning of CDATA ") - ACE_TEXT ("section") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - - ACEXML_Char ch; - int datalen = 0; - ACEXML_Char *cdata = 0; - while (1) - { - ch = this->get (); - // Anything goes except the sequence "]]>". - if (ch == ']' && this->peek() == ']') - { - ACEXML_Char temp = ch; - ch = this->get(); - if (ch == ']' && this->peek() == '>') - { - ch = this->get(); - cdata = this->obstack_.freeze (); - this->content_handler_->characters (cdata, 0, datalen - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - this->obstack_.unwind(cdata); - return 0; - } - this->obstack_.grow (temp); - ++datalen; - } - this->obstack_.grow (ch); - ++datalen; - }; - ACE_NOTREACHED (return -1); -} - - -int -ACEXML_Parser::parse_entity_decl (ACEXML_ENV_SINGLE_ARG_DECL) -{ - ACEXML_Char nextch = 0; - - if ((this->parse_token (ACE_TEXT ("NTITY")) < 0) || - this->skip_whitespace_count (&nextch) == 0) - { - this->fatal_error (ACE_TEXT ("Expecting keyword ENTITY followed by a ") - ACE_TEXT ("space") ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - - int is_GEDecl = 1; - if (nextch == '%') // This is a PEDecl. - { - is_GEDecl = 0; - this->get (); // consume the '%' - if (this->skip_whitespace_count (&nextch) == 0) - { - this->fatal_error (ACE_TEXT ("Expecting space between % and ") - ACE_TEXT ("entity name") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - } - - ACEXML_Char *entity_name = this->parse_name (); - if (entity_name == 0) - { - this->fatal_error (ACE_TEXT ("Invalid entity name") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - - if (this->skip_whitespace_count (&nextch) == 0) - { - this->fatal_error (ACE_TEXT ("Expecting space between entity name and ") - ACE_TEXT ("entityDef") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - int retval = 0; - if (nextch == '\'' || nextch == '"') - { - ACEXML_Char *entity_value = 0; - if (this->parse_entity_value (entity_value - ACEXML_ENV_ARG_PARAMETER) != 0) - { - this->fatal_error(ACE_TEXT ("Invalid EntityValue") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - if (is_GEDecl) - retval = this->internal_GE_.add_entity (entity_name, - entity_value); - else - retval = this->internal_PE_.add_entity (entity_name, - entity_value); - if (retval < 0) - { - this->fatal_error (ACE_TEXT ("Internal Parser Error in adding") - ACE_TEXT ("Entity to map") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - else if (retval == 1) - { - this->warning (ACE_TEXT ("Duplicate entity found") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - } - else - { - ACEXML_Char *systemid, *publicid; - - this->parse_external_id (publicid, systemid - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - if (systemid == 0) - { - this->fatal_error(ACE_TEXT ("Invalid SystemLiteral") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - this->skip_whitespace_count (&nextch); - if (nextch == 'N') // NDATA section followed - { - if (is_GEDecl == 0) - { - this->fatal_error(ACE_TEXT ("Invalid NDataDecl in PEDef") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - - if ((this->parse_token (ACE_TEXT ("NDATA")) < 0) || - this->skip_whitespace_count (&nextch) == 0) - { - this->fatal_error(ACE_TEXT ("Expecting keyword NDATA followed ") - ACE_TEXT ("by a space") ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - - ACEXML_Char *ndata = this->parse_name (); - if (this->validate_) // [VC: Notation Declared] - { - if (!this->notations_.resolve_entity (ndata)) - { - this->fatal_error (ACE_TEXT ("Undeclared Notation name") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - this->dtd_handler_->unparsedEntityDecl(entity_name, publicid, - systemid, ndata - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - } - else - { - if (is_GEDecl) - retval = this->external_GE_.add_entity (entity_name, - systemid); - else - retval = this->external_PE_.add_entity (entity_name, - systemid); - if (retval < 0) - { - this->fatal_error(ACE_TEXT ("Internal Parser Error") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - else if (retval == 1) - this->warning(ACE_TEXT ("Duplicate external entity") - ACEXML_ENV_ARG_PARAMETER); - if (is_GEDecl) - retval = this->external_GE_.add_entity (entity_name, - publicid); - else - retval = this->external_PE_.add_entity (entity_name, - publicid); - if (retval < 0) - { - this->fatal_error(ACE_TEXT ("Internal Parser Error") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - else if (retval == 1) - this->warning (ACE_TEXT ("Duplicate entity definition") - ACEXML_ENV_ARG_PARAMETER); - } - } - - // End of ENTITY definition - if (this->skip_whitespace() != '>') - { - this->fatal_error(ACE_TEXT ("Expecting '>' at end of entityDef") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - return 0; -} - -int -ACEXML_Parser::parse_attlist_decl (ACEXML_ENV_SINGLE_ARG_DECL) -{ - if (this->parse_token (ACE_TEXT ("ATTLIST")) < 0) - { - this->fatal_error(ACE_TEXT ("Expecting keyword 'ATTLIST'") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - int count = check_for_PE_reference (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - if (!count) - { - this->fatal_error(ACE_TEXT ("Expecting space between ATTLIST and ") - ACE_TEXT ("element name") ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - - ACEXML_Char *element_name = this->parse_name (); - if (element_name == 0) - { - this->fatal_error(ACE_TEXT ("Invalid element Name in attlistDecl") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - ACEXML_Char fwd = 0; - count = this->skip_whitespace_count (&fwd); - // Parse AttDef* - while (fwd != '>') - { - if (!this->check_for_PE_reference (ACEXML_ENV_SINGLE_ARG_PARAMETER) - && !count) - this->fatal_error(ACE_TEXT ("Expecting space between element ") - ACE_TEXT ("name and AttDef") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - this->skip_whitespace_count (&fwd); - if (fwd == '>') - break; - - count = this->check_for_PE_reference (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - - this->parse_attname (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - - count = this->check_for_PE_reference (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - if (!count) - { - this->fatal_error(ACE_TEXT ("Expecting space between AttName and ") - ACE_TEXT ("AttType") ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - this->parse_atttype (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - - count = this->check_for_PE_reference (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - if (!count) - { - this->fatal_error(ACE_TEXT ("Expecting space between AttType and") - ACE_TEXT (" DefaultDecl") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - this->parse_defaultdecl (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - - count = this->check_for_PE_reference (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - this->skip_whitespace_count(&fwd); - } - this->get (); // consume closing '>' - return 0; -} - - -int -ACEXML_Parser::check_for_PE_reference (ACEXML_ENV_SINGLE_ARG_DECL) -{ - ACEXML_Char fwd = '\xFF'; - // Skip any leading whitespaces and store the number of such chars skipped - int count = this->skip_whitespace_count (&fwd); - if (fwd == 0) - { - this->get(); // Consume the 0 - this->pop_context (0 ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - fwd = this->peek(); - } - if (fwd == '%') - { - this->get(); // Consume the % - if (this->external_subset_) - { - this->parse_PE_reference (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - else - { - this->fatal_error(ACE_TEXT ("Illegal PERef within markupDecl") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - } - if (count) - { - // We have atleast one whitespace. So just skip any more whitespaces - // and return the count - this->skip_whitespace_count(); - return count; - } - return this->skip_whitespace_count(); -} - -ACEXML_Char* -ACEXML_Parser::parse_attname (ACEXML_ENV_SINGLE_ARG_DECL) -{ - // Parse attribute name - ACEXML_Char *att_name = this->parse_name (); - if (att_name == 0) - { - this->fatal_error(ACE_TEXT ("Invalid AttName") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (0); - } - return att_name; -} - -int -ACEXML_Parser::parse_defaultdecl (ACEXML_ENV_SINGLE_ARG_DECL) -{ - // DefaultDecl ::= '#REQUIRED' | '#IMPLIED' | (('#FIXED' S)? AttValue) - ACEXML_Char nextch = this->peek (); - ACEXML_Char *fixed_attr = 0; - switch (nextch) - { - case '#': - this->get (); // consume the '#' - switch (this->get ()) - { - case 'R': - if (this->parse_token (ACE_TEXT ("EQUIRED")) < 0) - { - this->fatal_error(ACE_TEXT ("Expecting keyword REQUIRED") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - // We now know this attribute is required - // @@ Set up the validator as such. - break; - case 'I': - if (this->parse_token (ACE_TEXT ("MPLIED")) < 0) - { - this->fatal_error(ACE_TEXT ("Expecting keyword IMPLIED") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - // We now know this attribute is implied. - // @@ Set up the validator as such. - break; - case 'F': - if (this->parse_token (ACE_TEXT ("IXED")) < 0 || - this->skip_whitespace_count () == 0) - { - this->fatal_error(ACE_TEXT ("Expecting keyword FIXED") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - // We now know this attribute is fixed. - if (this->parse_attvalue (fixed_attr - ACEXML_ENV_ARG_PARAMETER) != 0) - { - this->fatal_error(ACE_TEXT ("Invalid Default AttValue") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - // @@ set up validator - break; - default: - this->fatal_error (ACE_TEXT ("Invalid DefaultDecl") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - break; - case '\'': - case '"': - if (this->parse_attvalue (fixed_attr ACEXML_ENV_ARG_PARAMETER) != 0) - { - this->fatal_error(ACE_TEXT ("Invalid AttValue") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - // @@ set up validator - break; - default: - this->fatal_error (ACE_TEXT ("Invalid DefaultDecl") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - break; - } - return 0; -} - -int -ACEXML_Parser::parse_tokenized_type (ACEXML_ENV_SINGLE_ARG_DECL) -{ - ACEXML_Char ch = this->get(); - switch (ch) - { - case 'I': - if (this->get () == 'D') - { - if (this->peek() != 'R' && this->is_whitespace (this->peek())) - { - // We have successfully identified the type of the - // attribute as ID - // @@ Set up validator as such. - break; - } - if (this->parse_token (ACE_TEXT ("REF")) == 0) - { - if (this->peek() != 'S' && this->is_whitespace (this->peek())) - { - // We have successfully identified the type of - // the attribute as IDREF - // @@ Set up validator as such. - break; - } - else if (this->peek() == 'S' - && this->get() // consume the 'S' - && this->is_whitespace (this->peek())) - { - // We have successfully identified the type of - // the attribute as IDREFS - // @@ Set up validator as such. - break; - } - } - } - // Admittedly, this error message is not precise enough - this->fatal_error(ACE_TEXT ("Expecting keyword `ID', `IDREF', or") - ACE_TEXT ("`IDREFS'") ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - case 'E': // ENTITY or ENTITIES - if (this->parse_token (ACE_TEXT ("NTIT")) == 0) - { - ACEXML_Char nextch = this->get (); - if (nextch == 'Y') - { - // We have successfully identified the type of - // the attribute as ENTITY - // @@ Set up validator as such. - } - else if (this->parse_token (ACE_TEXT ("IES")) == 0) - { - // We have successfully identified the type of - // the attribute as ENTITIES - // @@ Set up validator as such. - } - if (this->is_whitespace (this->peek())) - { - // success - break; - } - } - // Admittedly, this error message is not precise enough - this->fatal_error(ACE_TEXT ("Expecting keyword `ENTITY', or") - ACE_TEXT ("`ENTITIES'") ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - case 'M': - if (this->parse_token (ACE_TEXT ("TOKEN")) == 0) - { - if (this->is_whitespace (this->peek())) - { - // We have successfully identified the type of - // the attribute as NMTOKEN - // @@ Set up validator as such. - break; - } - else if (this->peek() == 'S' - && this->get() - && this->is_whitespace (this->peek())) - { - // We have successfully identified the type of - // the attribute as NMTOKENS - // @@ Set up validator as such. - break; - } - } - this->fatal_error(ACE_TEXT ("Expecting keyword `NMTOKEN' or `NMTO") - ACE_TEXT ("KENS'") ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - break; - default: - this->fatal_error (ACE_TEXT ("Internal Parser Error") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - break; - } - return 0; -} - - -/** - * AttType ::= StringType | TokenizedType | EnumeratedType - * StringType ::= 'CDATA' - * TokenizedType ::= 'ID' [VC: ID] - * [VC: One ID per Element Type] - * [VC: ID Attribute Default] - * | 'IDREF' [VC: IDREF] - * | 'IDREFS' [VC: IDREF] - * | 'ENTITY' [VC: Entity Name] - * | 'ENTITIES' [VC: Entity Name] - * | 'NMTOKEN' [VC: Name Token] - * | 'NMTOKENS' - * - * EnumeratedType ::= NotationType | Enumeration - * NotationType ::= 'NOTATION' S '(' S? Name (S? '|' S? Name)* S? ')' - * [VC: Notation Attributes] - * [VC: One Notation Per Element Type] - * [VC: No Notation on Empty Element] - * Enumeration ::= '(' S? Nmtoken (S? '|' S? Nmtoken)* S? ')' - * [VC: Enumeration] - */ -int -ACEXML_Parser::parse_atttype (ACEXML_ENV_SINGLE_ARG_DECL) -{ - ACEXML_Char nextch = this->peek(); - switch (nextch) - { - case 'C': // CDATA - if (this->parse_token (ACE_TEXT ("CDATA")) < 0) - { - this->fatal_error(ACE_TEXT ("Expecting keyword 'CDATA'") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - // Else, we have successfully identified the type of the - // attribute as CDATA - // @@ Set up validator appropriately here. - break; - case 'I': case 'E': // ID, IDREF, IDREFS, ENTITY or ENTITIES - this->parse_tokenized_type (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - break; - case 'N': // NMTOKEN, NMTOKENS, or NOTATION - this->get(); - nextch = this->peek(); - if (nextch != 'M' && nextch != 'O') - { - this->fatal_error (ACE_TEXT ("Expecting keyword 'NMTOKEN', ") - ACE_TEXT ("'NMTOKENS' or 'NOTATION'") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - if (nextch == 'M') - { - this->parse_tokenized_type (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - break; - } - else // NOTATION - { - if (this->parse_token (ACE_TEXT ("OTATION")) < 0) - { - this->fatal_error(ACE_TEXT ("Expecting keyword `NOTATION'") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - int count = this->check_for_PE_reference (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - if (!count) - { - this->fatal_error (ACE_TEXT ("Expecting space between keyword ") - ACE_TEXT ("NOTATION and '('") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - if (this->get () != '(') - { - this->fatal_error(ACE_TEXT ("Expecting '(' in NotationType") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - this->check_for_PE_reference (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - do { - this->skip_whitespace_count(); - ACEXML_Char *notation_name = this->parse_name (); - if (notation_name == 0) - { - this->fatal_error(ACE_TEXT ("Invalid notation name") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - // @@ get another notation name, set up validator as such - this->check_for_PE_reference (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - nextch = this->get(); - } while (nextch == '|'); - if (nextch != ')') - { - this->fatal_error (ACE_TEXT ("Expecting a ')' after a ") - ACE_TEXT ("NotationType declaration") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - } - break; - case '(': // EnumeratedType - Enumeration - this->get(); - this->check_for_PE_reference (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - do { - this->skip_whitespace_count(); - ACEXML_Char *token_name = this->parse_nmtoken (); - if (token_name == 0) - { - this->fatal_error(ACE_TEXT ("Invalid enumeration name") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - // @@ get another nmtoken, set up validator as such - this->check_for_PE_reference (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - nextch = this->get(); - } while (nextch == '|'); - if (nextch != ')') - { - this->fatal_error (ACE_TEXT ("Expecting a ')' after a ") - ACE_TEXT ("Enumeration declaration") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - break; - default: - { - this->fatal_error(ACE_TEXT ("Invalid AttType") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - ACE_NOTREACHED (break); - } - return 0; -} - -int -ACEXML_Parser::parse_notation_decl (ACEXML_ENV_SINGLE_ARG_DECL) -{ - if (this->parse_token (ACE_TEXT ("NOTATION")) < 0) - { - this->fatal_error(ACE_TEXT ("Expecting Keyword 'NOTATION'") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - int count = this->check_for_PE_reference (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - if (!count) - { - this->fatal_error (ACE_TEXT ("Expecting a space between keyword NOTATION") - ACE_TEXT (" and notation name") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - ACEXML_Char *notation = this->parse_name (); - if (notation == 0) - { - this->fatal_error(ACE_TEXT ("Invalid Notation name") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - count = this->check_for_PE_reference (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - if (!count) - { - this->fatal_error (ACE_TEXT ("Expecting a space between notation name ") - ACE_TEXT ("and ExternalID/PublicID") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - - ACEXML_Char *systemid, *publicid; - - // Gross hack but otherwise we need to go around a lot of loops to parse, - // When the ExternalID starts with 'PUBLIC' we cannot distinguish a - // PublicId from a ExternalID by looking using a one character read-ahead - ACEXML_ParserInt::ReferenceState temp = this->ref_state_; - this->ref_state_ = ACEXML_ParserInt::IN_NOTATION; - - this->parse_external_id (publicid, systemid - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - // Restore the original value. - this->ref_state_ = temp; - - // [VC: Unique Notation Name] - if (systemid && this->notations_.add_entity (notation, systemid) != 0 - && this->validate_) - { - this->fatal_error(ACE_TEXT ("Internal Parser Error") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - if (publicid) - { - int retval = this->notations_.add_entity (notation, publicid); - if (retval != 0 && !systemid && this->validate_) - { - this->fatal_error(ACE_TEXT ("Internal Parser Error") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - } - - if (this->skip_whitespace() != '>') - { - this->fatal_error(ACE_TEXT ("Expecting '>' at end of NotationDecl") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - - if (this->validate_ && this->dtd_handler_) - { - this->dtd_handler_->notationDecl (notation, - publicid, - systemid ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - return 0; -} - -int -ACEXML_Parser::parse_element_decl (ACEXML_ENV_SINGLE_ARG_DECL) -{ - if (this->parse_token (ACE_TEXT ("LEMENT")) < 0) - { - this->fatal_error (ACE_TEXT ("Expecting keyword ELEMENT") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - int count = this->check_for_PE_reference (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - if (!count) - { - this->fatal_error (ACE_TEXT ("Expecting a space between keyword ELEMENT") - ACE_TEXT (" and element name") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - ACEXML_Char *element_name = this->parse_name (); - if (element_name == 0) - { - this->fatal_error (ACE_TEXT ("Invalid element name") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - count = this->check_for_PE_reference (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - if (!count) - { - this->fatal_error (ACE_TEXT ("Expecting a space between element name ") - ACE_TEXT ("and element definition") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - ACEXML_Char nextch = this->peek(); - switch (nextch) - { - case 'E': // EMPTY - if (this->parse_token (ACE_TEXT ("EMPTY")) < 0) - { - this->fatal_error (ACE_TEXT ("Expecting keyword EMPTY") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - break; - case 'A': // ANY - if (this->parse_token (ACE_TEXT ("ANY")) < 0) - { - this->fatal_error (ACE_TEXT ("Expecting keyword ANY") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - break; - case '(': // children - this->parse_children_definition (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - break; - default: // error - this->fatal_error (ACE_TEXT ("Invalid element definition") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - count = this->check_for_PE_reference (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - if (this->skip_whitespace () != '>') - { - this->fatal_error (ACE_TEXT ("Expecting '>' after element defintion") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - return 0; -} - - -int -ACEXML_Parser::parse_children_definition (ACEXML_ENV_SINGLE_ARG_DECL) -{ - this->get (); // consume the '(' - this->check_for_PE_reference (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - int subelement_number = 0; - ACEXML_Char nextch = this->peek(); - switch (nextch) - { - case '#': // Mixed element, - if (this->parse_token (ACE_TEXT ("#PCDATA")) < 0) - { - this->fatal_error(ACE_TEXT ("Expecting keyword '#PCDATA'") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - this->check_for_PE_reference (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - nextch = this->get(); - while (nextch == '|') - { - this->check_for_PE_reference (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - ACEXML_Char *name = this->parse_name (); - // @@ name will be used in the Validator later. - ACE_UNUSED_ARG (name); - ++subelement_number; - // @@ Install Mixed element name into the validator. - this->check_for_PE_reference (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - nextch = this->skip_whitespace(); - } - if (nextch != ')' || - (subelement_number && this->get () != '*')) - { - this->fatal_error(ACE_TEXT ("Expecing ')' or ')*' at end of Mixed") - ACE_TEXT (" element") ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - // @@ close the element definition in the validator. - break; - default: - int status = this->parse_child (1 ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - if (status != 0) - return -1; - } - - // Check for trailing '?', '*', '+' - nextch = this->peek (); - switch (nextch) - { - case '?': - // @@ Consume the character and inform validator as such, - this->get (); - break; - case '*': - // @@ Consume the character and inform validator as such, - this->get (); - break; - case '+': - // @@ Consume the character and inform validator as such, - this->get (); - break; - default: - break; // not much to do. - } - - return 0; -} - -int -ACEXML_Parser::parse_child (int skip_open_paren ACEXML_ENV_ARG_DECL) -{ - // Conditionally consume the open paren. - if (skip_open_paren == 0 && this->get () != '(') - { - this->fatal_error(ACE_TEXT ("Expecting '(' at beginning of children") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - - ACEXML_Char node_type = 0; - ACEXML_Char nextch; - - do { - this->check_for_PE_reference (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - this->skip_whitespace_count (&nextch); - switch (nextch) - { - case '(': - this->check_for_PE_reference (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - this->parse_child (0 ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - break; - default: - this->check_for_PE_reference (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - // must be an element name here. - ACEXML_Char *subelement = this->parse_name (); - if (subelement == 0) - { - this->fatal_error(ACE_TEXT ("Invalid subelement name") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - // Check for trailing '?', '*', '+' - nextch = this->peek (); - switch (nextch) - { - case '?': - // @@ Consume the character and inform validator as such, - this->get (); - break; - case '*': - // @@ Consume the character and inform validator as such, - this->get (); - break; - case '+': - // @@ Consume the character and inform validator as such, - this->get (); - break; - default: - break; // not much to do. - } - - // @@ Inform validator of the new element here. - break; - } - this->check_for_PE_reference (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - this->skip_whitespace_count (&nextch); - switch (nextch) - { - case '|': - switch (node_type) - { - case 0: - node_type = '|'; - // @@ inform validator of this new type?? - break; - case '|': - break; - default: - this->fatal_error (ACE_TEXT ("Expecting `,', `|', or `)' ") - ACE_TEXT ("while defining an element") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - break; - case ',': - switch (node_type) - { - case 0: - node_type = ','; - // @@ inform validator of this new type?? - break; - case ',': - break; - default: - this->fatal_error (ACE_TEXT ("Expecting `,', `|', or `)' ") - ACE_TEXT ("while defining an element") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - break; - case ')': - break; - default: - this->fatal_error (ACE_TEXT ("Expecting `,', `|', or `)' ") - ACE_TEXT ("while defining an element") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - nextch = this->get(); // Consume the `,' or `|' or `)' - if (nextch == ')') - break; - this->check_for_PE_reference (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - this->skip_whitespace_count (&nextch); - } while (nextch != ')'); - - // Check for trailing '?', '*', '+' - nextch = this->peek (); - switch (nextch) - { - case '?': - // @@ Consume the character and inform validator as such, - this->get (); - break; - case '*': - // @@ Consume the character and inform validator as such, - this->get (); - break; - case '+': - // @@ Consume the character and inform validator as such, - this->get (); - break; - default: - break; // not much to do. - } - - - return 0; -} - -int -ACEXML_Parser::parse_char_reference (ACEXML_Char *buf, size_t& len) -{ - if (len < 7) // Max size of a CharRef plus terminating '\0' - return -1; - ACEXML_Char ch = this->get(); - if (ch != '#') // Internal error. - return -1; - int hex = 0; - ch = this->peek(); - if (ch == 'x') - { - hex = 1; - this->get (); - } - size_t i = 0; - int more_digit = 0; - ch = this->get (); - for ( ; i < len && - (this->isNormalDigit (ch) || (hex ? this->isCharRef(ch): 0)); ++i) - { - buf[i] = ch; - ch = this->get(); - ++more_digit; - } - if (ch != ';' || !more_digit) - return -1; - buf[i] = 0; - ACEXML_UCS4 sum = (ACEXML_UCS4) ACE_OS::strtol (buf, 0, (hex ? 16 : 10)); - // [WFC: Legal Character] - if (!this->isChar (sum)) - return -1; - int clen; -#if defined (ACE_USES_WCHAR) -# if (ACE_SIZEOF_WCHAR == 2) // UTF-16 - if ((clen = ACEXML_Transcoder::ucs42utf16 (sum, buf, len)) < 0) - return -1; -# elif (ACE_SIZEOF_WCHAR == 4) // UCS 4 - buf [0] = sum; - buf [1] = 0; - clen = 2; -# endif /* ACE_SIZEOF_WCHAR */ - -#else // or UTF-8 - if ((clen = ACEXML_Transcoder::ucs42utf8 (sum, buf, len)) < 0) - return -1; -#endif - buf [clen] = 0; - len = clen; - return 0; -} - -ACEXML_Char* -ACEXML_Parser::parse_reference_name (void) -{ - ACEXML_Char ch = this->get (); - if (!this->isLetter (ch) && (ch != '_' || ch != ':')) - return 0; - while (ch) { - this->alt_stack_.grow (ch); - ch = this->peek (); - if (!this->isNameChar (ch)) - break; - ch = this->get (); - }; - if (ch != ';') - return 0; - ch = this->get(); - return this->alt_stack_.freeze (); -} - -int -ACEXML_Parser::parse_attvalue (ACEXML_Char *&str ACEXML_ENV_ARG_DECL) -{ - ACEXML_Char quote = this->get (); - if (quote != '\'' && quote != '"') // Not a quoted string. - return -1; - ACEXML_Char ch = this->get (); - while (1) - { - if (ch == quote) - { - ACEXML_Char* temp = this->obstack_.freeze (); - // If the attribute type is not CDATA, then the XML processor - // must further process the normalized attribute value by - // discarding any leading and trailing space (#x20) characters, - // and by replacing sequences of space (#x20) characters by a - // single space (#x20) character. - - // if (atttype != CDATA) { - // ACEXML_Char* start = temp; - // ACEXML_Char* end = temp + ACE_OS::strlen (temp); - // while (*start == '\x20') - // start++; - // if (start == end) // String which is all spaces - // str = start; - // while (*start != 0) - // { - // this->obstack_.grow (*start); - // start++; - // while (*start == '\x20') - // start++; - // } - // str = this->obstack_.freeze(); - // } - str = temp; - return 0; - } - switch (ch) - { - case '&': - if (this->peek () == '#') - { - ACEXML_Char buf[7]; - size_t len = sizeof (buf); - if (this->parse_char_reference (buf, len) != 0) - { - // [WFC: Legal Character] - this->fatal_error (ACE_TEXT ("Invalid CharacterRef") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - for (size_t j = 0; j < len; ++j) - this->obstack_.grow (buf[j]); - } - else - { - this->ref_state_ = ACEXML_ParserInt::IN_ATT_VALUE; - this->parse_entity_reference (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - break; - case '\x20': case '\x0D': case '\x0A': case '\x09': - this->obstack_.grow ('\x20'); - break; - case '<': // [WFC: No < in Attribute Values] - this->fatal_error (ACE_TEXT ("Illegal '<' in AttValue") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - break; - case 0: - this->pop_context (1 ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - break; - default: - this->obstack_.grow (ch); - break; - } - ch = this->get(); - } -} - - - -int -ACEXML_Parser::parse_entity_reference (ACEXML_ENV_SINGLE_ARG_DECL) -{ - ACEXML_Char* replace = this->parse_reference_name (); - if (replace == 0) - { - this->fatal_error (ACE_TEXT ("Invalid Reference name") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - - // [WFC: Parsed Entity] - if (this->unparsed_entities_.resolve_entity (replace)) { - this->fatal_error (ACE_TEXT ("EntityRef refers to unparsed entity") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - // Look in the internal general entities set first. - const ACEXML_Char* entity = this->internal_GE_.resolve_entity(replace); - - // Look in the predefined entities. - if (!entity) - { - entity = this->predef_entities_.resolve_entity (replace); - if (entity) - { - // Special case to return the length in case of predefined entities - this->obstack_.grow (*entity); - return 1; - } - } - - if (!this->validate_) - { - if (this->standalone_) - { - // [WFC: Entity Declared] - this->fatal_error (ACE_TEXT ("Undeclared Entity reference") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - else - { - this->content_handler_->skippedEntity (replace - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - return 0; - } - } - - // No match in internal subset - if (!entity - // or No DTDs - && (!(this->internal_dtd_ || this->external_dtd_) - // or Only Internal DTD and no parameter entity references - || (this->internal_dtd_ && !this->external_dtd_ - && !this->has_pe_refs_) - // or Standalone = 'yes' - || this->standalone_)) - { - // [WFC: Entity Declared] - this->fatal_error (ACE_TEXT ("Undeclared Entity reference") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - - ACEXML_Char* systemId = 0; - ACEXML_Char* publicId = 0; - if (!entity) - { - if (this->external_GE_.resolve_entity (replace, systemId, publicId) < 0) - { - this->fatal_error (ACE_TEXT ("Undeclared Entity reference") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - if (this->ref_state_ == ACEXML_ParserInt::IN_ATT_VALUE) - { - this->fatal_error (ACE_TEXT ("External EntityRef in Attribute Value") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - this->external_entity_++; - } - - - // [WFC: No Recursion] - ACEXML_Char* ref_name = replace; - int present = this->GE_reference_.insert (ref_name); - if (present == 1 || present == -1) - { - while (this->GE_reference_.pop(ref_name) != -1) - ; - this->fatal_error (ACE_TEXT ("Recursion in resolving entity") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - - if (!this->external_entity_) - { - ACEXML_StrCharStream* str = 0; - ACE_NEW_RETURN (str, ACEXML_StrCharStream, -1); - if (str->open (entity, replace) < 0 - || this->switch_input (str, replace) != 0) - { - this->fatal_error (ACE_TEXT ("Unable to create internal input ") - ACE_TEXT ("stream") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - return 0; - } - else - { - ACEXML_Char* uri = this->normalize_systemid (systemId); - ACE_Auto_Basic_Array_Ptr<ACEXML_Char> cleanup_uri (uri); - ACEXML_InputSource* ip = 0; - if (this->entity_resolver_) - { - ip = this->entity_resolver_->resolveEntity (publicId, - (uri ? uri : systemId) - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - if (ip) - { - if (this->switch_input (ip, (uri ? uri : systemId), - publicId) != 0) - { - this->fatal_error (ACE_TEXT ("Internal Parser Error") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - return 0; - } - } - ACEXML_StreamFactory factory; - ACEXML_CharStream* cstream = factory.create_stream (uri ? uri: systemId); - if (!cstream) { - this->fatal_error (ACE_TEXT ("Invalid input source") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - if (this->switch_input (cstream, systemId, publicId) != 0) - { - this->fatal_error (ACE_TEXT ("Internal Parser Error") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - } - return 0; -} - -int -ACEXML_Parser::parse_PE_reference (ACEXML_ENV_SINGLE_ARG_DECL) -{ - ACEXML_Char* replace = this->parse_reference_name (); - if (replace == 0) - { - this->fatal_error (ACE_TEXT ("Invalid PEReference name") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - - // Look in the internal general entities set first. - const ACEXML_Char* entity = this->internal_PE_.resolve_entity(replace); - - if (!entity && // No match in internal - (!this->external_dtd_ || // or No External DTDs - this->standalone_)) // or Standalone - { - // [VC: Entity Declared] - this->fatal_error (ACE_TEXT ("Undefined Internal PEReference") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - - ACEXML_Char* systemId = 0; - ACEXML_Char* publicId = 0; - if (!entity && this->validate_) - { - if (this->external_PE_.resolve_entity (replace, systemId, publicId) < 0) - { - this->fatal_error (ACE_TEXT ("Undefined PEReference") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - this->external_entity_++; - } - - // [WFC: No Recursion] - ACEXML_Char* ref_name = replace; - int present = this->PE_reference_.insert (ref_name); - if (present == 1 || present == -1) - { - while (this->PE_reference_.pop(ref_name) != -1) - ; - this->fatal_error (ACE_TEXT ("Recursion in resolving entity") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - - if (entity && !this->external_entity_) - { - ACEXML_StrCharStream* sstream = 0; - ACEXML_String str (entity); - if (this->ref_state_ != ACEXML_ParserInt::IN_ENTITY_VALUE) - { - const ACEXML_Char* ch = ACE_TEXT (" "); - str = ch + str + ch; - } - // ACE_DEBUG ((LM_DEBUG, - // ACE_TEXT ("Entity is %s\n Replacement Text is : %s\n"), - // replace, str.c_str())); - ACE_NEW_RETURN (sstream, ACEXML_StrCharStream, -1); - if (sstream->open (str.c_str(), replace) < 0 - || this->switch_input (sstream, replace) != 0) - { - this->fatal_error (ACE_TEXT ("Error in switching InputSource") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - return 0; - } - else if (this->external_entity_ && this->validate_) - { - ACEXML_Char* uri = this->normalize_systemid (systemId); - ACE_Auto_Basic_Array_Ptr<ACEXML_Char> cleanup_uri (uri); - ACEXML_InputSource* ip = 0; - if (this->entity_resolver_) - { - ip = this->entity_resolver_->resolveEntity (publicId, - (uri ? uri : systemId) - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - if (ip) - { - if (this->switch_input (ip, (uri ? uri : systemId), publicId) != 0) - { - this->fatal_error (ACE_TEXT ("Error in switching InputSource") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - return 0; - } - else - { - ACEXML_StreamFactory factory; - ACEXML_CharStream* cstream = factory.create_stream (uri ? uri: systemId); - if (!cstream) { - this->fatal_error (ACE_TEXT ("Invalid input source") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - if (this->switch_input (cstream, systemId, publicId) != 0) - { - this->fatal_error (ACE_TEXT ("Error in switching InputSource") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - if (this->ref_state_ == ACEXML_ParserInt::IN_ENTITY_VALUE) - { - ACEXML_Char less, mark; - if (this->peek() == '<') - { - less = this->get(); - if (this->peek() == '?') - { - mark = this->get(); - if (this->peek() == 'x') - { - this->parse_text_decl (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - else - { - this->obstack_.grow (less); - this->obstack_.grow (mark); - } - } - this->obstack_.grow (less); - } - } - return 0; - } - } - this->fatal_error (ACE_TEXT ("Undefined PEReference") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - return -1; -} - -int -ACEXML_Parser::parse_entity_value (ACEXML_Char *&str - ACEXML_ENV_ARG_DECL) -{ - ACEXML_ParserInt::ReferenceState temp = this->ref_state_; - ACEXML_Char quote = this->get (); - if (quote != '\'' && quote != '"') // Not a quoted string. - return -1; - ACEXML_Char ch = this->get (); - while (1) - { - if (ch == quote) - { - str = this->obstack_.freeze (); - this->ref_state_ = temp; - return 0; - } - switch (ch) - { - case '&': - if (this->peek () == '#') - { - if (!this->external_entity_) - { - ACEXML_Char buf[7]; - size_t len = sizeof (buf); - if (this->parse_char_reference (buf, len) != 0) - { - // [WFC: Legal Character] - this->fatal_error (ACE_TEXT ("Invalid character ") - ACE_TEXT ("reference") - ACEXML_ENV_ARG_PARAMETER); - return -1; - } - for (size_t j = 0; j < len; ++j) - this->obstack_.grow (buf[j]); - break; - } - } - this->obstack_.grow (ch); - break; - case '%': - if (!this->external_entity_) - { - this->ref_state_ = ACEXML_ParserInt::IN_ENTITY_VALUE; - this->parse_PE_reference(ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - break; - } - this->obstack_.grow (ch); - break; - case 0: - this->pop_context (0 ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - break; - default: - this->obstack_.grow (ch); - break; - } - ch = this->get(); - } -} - -ACEXML_Char * -ACEXML_Parser::parse_name (ACEXML_Char ch) -{ - if (ch == 0) - ch = this->get (); - if (!this->isLetter (ch) && ch != '_' && ch != ':') - return 0; - while (ch) { - this->obstack_.grow (ch); - ch = this->peek (); - if (!this->isNameChar (ch)) - break; - ch = this->get (); - }; - return this->obstack_.freeze (); -} - -ACEXML_Char* -ACEXML_Parser::parse_nmtoken (ACEXML_Char ch) -{ - if (ch == 0) - ch = this->get (); - if (!this->isNameChar (ch)) - return 0; - while (ch) { - this->obstack_.grow (ch); - ch = this->peek (); - if (!this->isNameChar (ch)) - break; - ch = this->get (); - }; - return this->obstack_.freeze (); -} - -int -ACEXML_Parser::parse_version_num (ACEXML_Char*& str) -{ - ACEXML_Char quote = this->get (); - if (quote != '\'' && quote != '"') // Not a quoted string. - return -1; - int numchars = 0; - while (1) - { - ACEXML_Char ch = this->get (); - if (ch == quote && !numchars) - return -1; - else if (ch == quote) - { - str = this->obstack_.freeze (); - return 0; - } - // [26] VersionNum ::= ([a-zA-Z0-9_.:] | '-')+ - if (ch == '-' || ((ch >= 'a' && ch <= 'z') || - (ch >= 'A' && ch <= 'Z') || - (ch >= '0' && ch <= '9') || - (ch == '_' || ch == '.' || ch == ':'))) - { - this->obstack_.grow (ch); - numchars++; - } - else - return -1; - } -} - -int -ACEXML_Parser::parse_system_literal (ACEXML_Char*& str) -{ - const ACEXML_Char quote = this->get(); - if (quote != '\'' && quote != '"') // Not a quoted string. - return -1; - while (1) - { - ACEXML_Char ch = this->get (); - if (ch == quote) - { - str = this->obstack_.freeze (); - return 0; - } - switch (ch) - { - case '\x00': case '\x01': case '\x02': case '\x03': case '\x04': - case '\x05': case '\x06': case '\x07': case '\x08': case '\x09': - case '\x0A': case '\x0B': case '\x0C': case '\x0D': case '\x0E': - case '\x0F': case '\x10': case '\x11': case '\x12': case '\x13': - case '\x14': case '\x15': case '\x16': case '\x17': case '\x18': - case '\x19': case '\x1A': case '\x1B': case '\x1C': case '\x1D': - case '\x1E': case '\x1F': case '\x7F': case '\x20': case '<': - case '>': case '#': case '%': - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("Invalid char %c in SystemLiteral\n"), ch)); - return -1; - default: - this->obstack_.grow (ch); - } - } -} - -int -ACEXML_Parser::parse_pubid_literal (ACEXML_Char*& str) -{ - const ACEXML_Char quote = this->get(); - if (quote != '\'' && quote != '"') // Not a quoted string. - return -1; - while (1) - { - ACEXML_Char ch = this->get (); - if (ch == quote) - { - str = this->obstack_.freeze (); - return 0; - } - else if (this->isPubidChar (ch)) - this->obstack_.grow (ch); - else - return -1; - } -} - -int -ACEXML_Parser::parse_encname (ACEXML_Char*& str) -{ - const ACEXML_Char quote = this->get (); - if (quote != '\'' && quote != '"') // Not a quoted string. - return -1; - int numchars = 0; - while (1) - { - ACEXML_Char ch = this->get (); - if (ch == quote && !numchars) - return -1; - else if (ch == quote) - { - str = this->obstack_.freeze (); - return 0; - } - // [81] EncName ::= [A-Za-z] ([A-Za-z0-9._] | '-')* - if (!((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) - && !numchars) - return -1; - if (ch == '-' || ((ch >= 'a' && ch <= 'z') || - (ch >= 'A' && ch <= 'Z') || - (ch >= '0' && ch <= '9') || - (ch == '_' || ch == '.'))) - { - this->obstack_.grow (ch); - numchars++; - } - else - return -1; - } -} - -int -ACEXML_Parser::parse_sddecl (ACEXML_Char*& str) -{ - ACEXML_Char quote = this->get (); - if (quote != '\'' && quote != '"') // Not a quoted string. - return -1; - int numchars = 0; - while (1) - { - ACEXML_Char ch = this->get (); - if (ch == quote && numchars < 2) - return -1; - else if (ch == quote) - { - str = this->obstack_.freeze (); - return 0; - } - // [32] SDDecl ::= S 'standalone' Eq (("'" ('yes' | 'no') "'") - // | ('"' ('yes' | 'no') '"')) - switch (ch) - { - case 'y': case 'e': case 's': case 'n': case 'o': - this->obstack_.grow (ch); - numchars++; - break; - default: - return -1; - } - } -} - -void -ACEXML_Parser::prefix_mapping (const ACEXML_Char* prefix, - const ACEXML_Char* uri, - int start ACEXML_ENV_ARG_DECL) -{ - if (this->namespaces_) - { - const ACEXML_Char* temp = (prefix == 0) ? empty_string : prefix; - if (start) { - this->content_handler_->startPrefixMapping (temp, uri - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK; - } - else - { - this->content_handler_->endPrefixMapping(temp - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK; - } - } -} - -int -ACEXML_Parser::switch_input (ACEXML_CharStream* cstream, - const ACEXML_Char* systemId, - const ACEXML_Char* publicId) -{ - ACEXML_InputSource* input = 0; - ACE_NEW_RETURN (input, ACEXML_InputSource (cstream), -1); - return this->switch_input (input, systemId, publicId); -} - -int -ACEXML_Parser::switch_input (ACEXML_InputSource* input, - const ACEXML_Char* systemId, - const ACEXML_Char* publicId) -{ - ACEXML_LocatorImpl* locator = 0; - if (!systemId) - systemId = input->getSystemId(); - ACE_NEW_RETURN (locator, ACEXML_LocatorImpl (systemId, publicId), -1); - ACEXML_Parser_Context* new_context = 0; - ACE_NEW_RETURN (new_context, ACEXML_Parser_Context(input, locator), -1); - if (this->push_context (new_context) != 0) - { - ACE_ERROR ((LM_ERROR, "Unable to switch input streams")); - delete new_context; - return -1; - } - this->current_ = new_context; - this->content_handler_->setDocumentLocator (this->current_->getLocator()); - return 0; -} - -int -ACEXML_Parser::push_context (ACEXML_Parser_Context* context) -{ - if (this->ctx_stack_.push (context) < 0) - { - ACE_ERROR ((LM_ERROR, "Unable to push input source onto the stack")); - return -1; - } - return 0; -} - -size_t -ACEXML_Parser::pop_context (int GE_ref ACEXML_ENV_ARG_DECL) -{ - size_t nrelems = this->ctx_stack_.size(); - if (nrelems <= 1) - { - this->fatal_error(ACE_TEXT ("Unexpected end-of-file") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - - ACEXML_Parser_Context* temp = 0; - int retval = this->ctx_stack_.pop (temp); - if (retval != 0) - { - this->fatal_error (ACE_TEXT ("Unable to pop element of the input stack") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - delete temp; - if (this->ctx_stack_.top (this->current_) != 0) - { - this->fatal_error (ACE_TEXT ("Unable to read top element of input stack") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - ACEXML_Char* reference = 0; - if (GE_ref == 1 && this->GE_reference_.size() > 0) - { - if (this->GE_reference_.pop (reference) < 0) - { - this->fatal_error (ACE_TEXT ("Internal Parser Error") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - } - else if (GE_ref == 0 && this->PE_reference_.size() > 0) - { - if (this->PE_reference_.pop (reference) < 0) - { - this->fatal_error (ACE_TEXT ("Internal Parser Error") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - } - nrelems = this->ctx_stack_.size(); - - if (this->external_entity_ && (GE_ref == 0 || GE_ref == 1)) - this->external_entity_--; - - this->content_handler_->setDocumentLocator (this->current_->getLocator()); - - return nrelems; -} - -int -ACEXML_Parser::getFeature (const ACEXML_Char *name ACEXML_ENV_ARG_DECL) -{ - if (ACE_OS::strcmp (name, ACEXML_Parser::simple_parsing_feature_) == 0) - { - return this->simple_parsing_; - } - else if (ACE_OS::strcmp (name, ACEXML_Parser::namespaces_feature_) == 0) - { - return this->namespaces_; - } - else if (ACE_OS::strcmp (name, - ACEXML_Parser::namespace_prefixes_feature_) == 0) - { - return this->namespace_prefixes_; - } - else if (ACE_OS::strcmp (name, ACEXML_Parser::validation_feature_) == 0) - { - return this->validate_; - } - ACEXML_THROW_RETURN (ACEXML_SAXNotRecognizedException (name), -1); -} - - - -void -ACEXML_Parser::setFeature (const ACEXML_Char *name, - int boolean_value ACEXML_ENV_ARG_DECL) -{ - if (ACE_OS::strcmp (name, ACEXML_Parser::simple_parsing_feature_) == 0) - { - this->simple_parsing_ = (boolean_value == 0 ? 0 : 1); - return; - } - else if (ACE_OS::strcmp (name, ACEXML_Parser::namespaces_feature_) == 0) - { - this->namespaces_ = (boolean_value == 0 ? 0 : 1); - return; - } - else if (ACE_OS::strcmp (name, - ACEXML_Parser::namespace_prefixes_feature_) == 0) - { - this->namespace_prefixes_ = (boolean_value == 0 ? 0 : 1); - return; - } - else if (ACE_OS::strcmp (name, ACEXML_Parser::validation_feature_) == 0) - { - this->validate_ = (boolean_value == 0 ? 0 : 1); - return; - } - - ACEXML_THROW (ACEXML_SAXNotRecognizedException (name)); -} - -void * -ACEXML_Parser::getProperty (const ACEXML_Char *name ACEXML_ENV_ARG_DECL) -{ - ACEXML_THROW_RETURN (ACEXML_SAXNotSupportedException (name), 0); -} - -void -ACEXML_Parser::setProperty (const ACEXML_Char *name, - void *value ACEXML_ENV_ARG_DECL) -{ - ACE_UNUSED_ARG (value); - - ACEXML_THROW (ACEXML_SAXNotSupportedException (name)); -} - -void -ACEXML_Parser::error (const ACEXML_Char* msg ACEXML_ENV_ARG_DECL) -{ - ACEXML_SAXParseException* exception = 0; - ACE_NEW_NORETURN (exception, ACEXML_SAXParseException (msg)); - if (this->error_handler_) - this->error_handler_->error (*exception ACEXML_ENV_ARG_PARAMETER); - else - ACEXML_ENV_RAISE (exception); - return; -} - -void -ACEXML_Parser::warning (const ACEXML_Char* msg ACEXML_ENV_ARG_DECL) -{ - ACEXML_SAXParseException* exception = 0; - ACE_NEW_NORETURN (exception, ACEXML_SAXParseException (msg)); - if (this->error_handler_) - this->error_handler_->warning (*exception ACEXML_ENV_ARG_PARAMETER); - delete exception; - return; -} - -void -ACEXML_Parser::fatal_error (const ACEXML_Char* msg ACEXML_ENV_ARG_DECL) -{ - ACEXML_SAXParseException* exception = 0; - ACE_NEW_NORETURN (exception, ACEXML_SAXParseException (msg)); - if (this->error_handler_) - this->error_handler_->fatalError (*exception ACEXML_ENV_ARG_PARAMETER); - this->reset(); - ACEXML_ENV_RAISE (exception); - return; -} - -void -ACEXML_Parser::parse_version_info (ACEXML_ENV_SINGLE_ARG_DECL) -{ - ACEXML_Char* astring; - if (this->parse_token (ACE_TEXT("ersion")) < 0 - || this->skip_equal () != 0 - || this->parse_version_num (astring) != 0) - { - this->fatal_error (ACE_TEXT ("Invalid VersionInfo specification") - ACEXML_ENV_ARG_PARAMETER); - return; - } - if (ACE_OS::strcmp (astring, ACE_TEXT ("1.0")) != 0) - { - this->fatal_error (ACE_TEXT ("ACEXML Parser supports XML version 1.0 ") - ACE_TEXT ("documents only") ACEXML_ENV_ARG_PARAMETER); - return; - } -} - -void -ACEXML_Parser::parse_encoding_decl (ACEXML_ENV_SINGLE_ARG_DECL) -{ - ACEXML_Char* astring = 0; - if ((this->parse_token (ACE_TEXT("ncoding")) < 0) - || this->skip_equal () != 0 - || this->parse_encname (astring) != 0) - { - this->fatal_error (ACE_TEXT ("Invalid EncodingDecl specification") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK; - } - const ACEXML_Char* encoding = this->current_->getInputSource()->getEncoding(); - if (encoding != 0 && ACE_OS::strcmp (astring, encoding) != 0) - { - ACE_ERROR ((LM_ERROR, ACE_TEXT ("Detected Encoding is %s ") - ACE_TEXT (": Declared Encoding is %s\n"), - encoding, astring)); - this->warning (ACE_TEXT ("Declared encoding differs from detected ") - ACE_TEXT ("encoding") ACEXML_ENV_ARG_PARAMETER); - } -} - -int -ACEXML_Parser::parse_text_decl (ACEXML_ENV_SINGLE_ARG_DECL) -{ - // Read xml - if (this->parse_token (ACE_TEXT("xml")) < 0) - { - this->fatal_error(ACE_TEXT ("Expecting keyword 'xml' in TextDecl") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - - ACEXML_Char fwd = this->skip_whitespace(); - // Read version - if (fwd == 'v') - { - this->parse_version_info (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - fwd = this->skip_whitespace(); - } - - if (fwd == 'e') - { - this->parse_encoding_decl (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - fwd = this->skip_whitespace(); - } - else - { - this->fatal_error (ACE_TEXT ("Missing encodingDecl in TextDecl") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - - if (fwd == '?' && this->get() == '>') - return 0; - // All the rules fail. So return an error. - this->fatal_error (ACE_TEXT ("Invalid TextDecl") ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - return -1; -} - -void -ACEXML_Parser::parse_xml_decl (ACEXML_ENV_SINGLE_ARG_DECL) -{ - // Read <?xml - if (this->parse_token (ACE_TEXT("xml")) < 0) - { - this->fatal_error(ACE_TEXT ("Expecting keyword xml in XMLDecl") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK; - } - - ACEXML_Char fwd = this->skip_whitespace(); - - // Read version - if (fwd != 'v') - { - this->fatal_error (ACE_TEXT ("Expecting VersionInfo declaration") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK; - } - - this->parse_version_info (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK; - - fwd = this->skip_whitespace(); - if (fwd != '?') - { - if (fwd == 'e') - { - this->parse_encoding_decl (ACEXML_ENV_SINGLE_ARG_PARAMETER); - ACEXML_CHECK; - fwd = this->skip_whitespace(); - } - if (fwd == 's') - { - ACEXML_Char* astring; - if ((this->parse_token (ACE_TEXT("tandalone")) == 0) && - this->skip_equal () == 0 && - this->parse_sddecl (astring) == 0) - { - if (ACE_OS::strcmp (astring, ACE_TEXT ("yes")) == 0) - this->standalone_ = 1; - fwd = this->skip_whitespace(); - } - } - } - if (fwd == '?' && this->get() == '>') - return; - // All the rules fail. So return an error. - this->fatal_error (ACE_TEXT ("Invalid XMLDecl declaration") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK; -} - -int -ACEXML_Parser::parse_comment (void) -{ - int state = 0; - - if (this->get () != '-' || // Skip the opening "<!--" - this->get () != '-' || // completely. - this->get () == '-') // and at least something not '-'. - return -1; - - while (state < 3) - // Waiting for the trailing three character '-->'. Notice that - // according to the spec, '--->' is not a valid closing comment - // sequence. But we'll let it pass anyway. - { - ACEXML_Char fwd = this->get (); - if ((fwd == '-' && state < 2) || - (fwd == '>' && state == 2)) - state += 1; - else - state = 0; // Reset parse state. - } - return 0; -} - -int -ACEXML_Parser::parse_processing_instruction (ACEXML_ENV_SINGLE_ARG_DECL) -{ - const ACEXML_Char *pitarget = this->parse_name (); - ACEXML_Char *instruction = 0; - - if (!ACE_OS::strcasecmp (ACE_TEXT ("xml"), pitarget)) - { - // Invalid PITarget name. - this->fatal_error(ACE_TEXT ("PI can't have 'xml' in PITarget") - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - } - - int state = 0; - - ACEXML_Char ch = this->skip_whitespace(); - while (state < 2) - { - switch (ch) - { - case '?': - if (state == 0) - state = 1; - break; - case '>': - if (state == 1) - { - instruction = this->obstack_.freeze (); - this->content_handler_->processingInstruction (pitarget, - instruction - ACEXML_ENV_ARG_PARAMETER); - ACEXML_CHECK_RETURN (-1); - this->obstack_.unwind (const_cast<ACEXML_Char*> (pitarget)); - return 0; - } - break; - case 0x0A: - // Fall thru... - default: - if (state == 1) - this->obstack_.grow ('?'); - this->obstack_.grow (ch); - state = 0; - } - ch = this->get (); - } - return -1; -} - -void -ACEXML_Parser::reset (void) -{ - this->doctype_ = 0; - if (this->ctx_stack_.pop (this->current_) == -1) - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("Mismatched push/pop of Context stack"))); - if (this->current_) - { - this->current_->getInputSource()->getCharStream()->rewind(); - - this->current_->setInputSource (0); - delete this->current_; - this->current_ = 0; - } - - ACEXML_Char* temp = 0; - while (this->GE_reference_.pop (temp) != -1) - ; - while (this->PE_reference_.pop (temp) != -1) - ; - this->obstack_.release(); - this->alt_stack_.release(); - this->xml_namespace_.reset(); - this->nested_namespace_ = 0; - this->internal_GE_.reset(); - this->external_GE_.reset(); - this->unparsed_entities_.reset(); - this->predef_entities_.reset(); - this->internal_PE_.reset(); - this->external_PE_.reset(); - this->notations_.reset(); - this->ref_state_ = ACEXML_ParserInt::INVALID; - this->external_subset_ = 0; - this->external_entity_ = 0; - this->has_pe_refs_ = 0; - this->standalone_ = 0; - this->external_dtd_ = 0; - this->internal_dtd_ = 0; -} - diff --git a/ACE/ACEXML/parser/parser/Parser.h b/ACE/ACEXML/parser/parser/Parser.h deleted file mode 100644 index 3b0725ec214..00000000000 --- a/ACE/ACEXML/parser/parser/Parser.h +++ /dev/null @@ -1,858 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Parser.h - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - * @author Krishnakumar B <kitty@cs.wustl.edu> - */ -//============================================================================= - -#ifndef _ACEXML_BASIC_PARSER_H_ -#define _ACEXML_BASIC_PARSER_H_ - -#include /**/ "ace/pre.h" -#include "ACEXML/parser/parser/Parser_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ACEXML/common/XMLReader.h" -#include "ACEXML/common/LocatorImpl.h" -#include "ACEXML/common/NamespaceSupport.h" -#include "ACEXML/common/CharStream.h" -#include "ace/Obstack.h" -#include "ace/Functor.h" -#include "ace/SString.h" -#include "ace/Hash_Map_Manager.h" -#include "ace/Unbounded_Set.h" -#include "ace/Containers_T.h" -#include "ace/Auto_Ptr.h" -#include "ACEXML/parser/parser/Entity_Manager.h" -#include "ACEXML/parser/parser/ParserInternals.h" -#include "ACEXML/parser/parser/ParserContext.h" - -/** - * @class ACEXML_Parser Parser.h "ACEXML/parser/parser/Parser.h" - * - * @brief A SAX based parser. - * - */ -class ACEXML_PARSER_Export ACEXML_Parser : public ACEXML_XMLReader -{ -public: - /// Default constructor. - ACEXML_Parser (void); - - /// Destructor. - virtual ~ACEXML_Parser (void); - - /** - * Initialize the parser state. - * - * @retval 0 if parser was initialized correctly else -1. - */ - int initialize (ACEXML_InputSource* input); - - /** - * Return the current content handler. - */ - virtual ACEXML_ContentHandler *getContentHandler (void) const; - - /* - * Return the current DTD handler. - */ - virtual ACEXML_DTDHandler *getDTDHandler (void) const; - - /* - * Return the current entity resolver. - */ - virtual ACEXML_EntityResolver *getEntityResolver (void) const; - - /* - * Return the current error handler. - */ - virtual ACEXML_ErrorHandler *getErrorHandler (void) const; - - /** - * Look up the value of a feature. This method allows - * programmers to check whether a specific feature has been - * activated in the parser. - */ - virtual int getFeature (const ACEXML_Char *name ACEXML_ENV_ARG_DECL); - - /** - * Activating or deactivating a feature. - */ - virtual void setFeature (const ACEXML_Char *name, - int boolean_value ACEXML_ENV_ARG_DECL); - - /* - * Look up the value of a property. - */ - virtual void * getProperty (const ACEXML_Char *name ACEXML_ENV_ARG_DECL); - - /* - * Set the value of a property. - */ - virtual void setProperty (const ACEXML_Char *name, - void *value ACEXML_ENV_ARG_DECL); - - /* - * Parse an XML document. - */ - virtual void parse (ACEXML_InputSource *input ACEXML_ENV_ARG_DECL); - - /* - * Parse an XML document from a system identifier (URI). - */ - virtual void parse (const ACEXML_Char *systemId ACEXML_ENV_ARG_DECL) - ; - - /* - * Allow an application to register a content event handler. - */ - virtual void setContentHandler (ACEXML_ContentHandler *handler); - - /* - * Allow an application to register a DTD event handler. - */ - virtual void setDTDHandler (ACEXML_DTDHandler *handler); - - /* - * Allow an application to register an entity resolver. - */ - virtual void setEntityResolver (ACEXML_EntityResolver *resolver); - - /* - * Allow an application to register an error event handler. - */ - virtual void setErrorHandler (ACEXML_ErrorHandler *handler); - - - -protected: - /** - * Parse XML Prolog. - */ - void parse_xml_prolog (ACEXML_ENV_SINGLE_ARG_DECL); - - /** - * Parse VersionInfo declaration. - * - */ - void parse_version_info (ACEXML_ENV_SINGLE_ARG_DECL); - - /** - * Parse a EncodingDecl declaration. - * - */ - void parse_encoding_decl (ACEXML_ENV_SINGLE_ARG_DECL); - - /** - * Parse a XMLDecl declaration. - * - */ - void parse_xml_decl (ACEXML_ENV_SINGLE_ARG_DECL); - - /** - * Parse a TextDecl declaration. - */ - int parse_text_decl (ACEXML_ENV_SINGLE_ARG_DECL); - - /** - * Parse a PI statement. The first character encountered - * should always be '?' in the PI prefix "@<?". - * - * @retval 0 on success, -1 otherwise. - */ - int parse_processing_instruction (ACEXML_ENV_SINGLE_ARG_DECL); - - /** - * Parse the DOCTYPE declaration. The first character encountered - * should always be 'D' in doctype prefix: "@<@!DOCTYPE". - */ - int parse_doctypedecl (ACEXML_ENV_SINGLE_ARG_DECL); - - /** - * Parse an XML element. The first character encountered should - * be the first character of the element "Name". - * - * @param is_root If not 0, then we are expecting to see the "root" - * element now, and the next element's name need to match the name - * defined in DOCTYPE definition, i.e., @a this->doctype_. - * - * @todo Instead of simply checking for the root element based on the - * argument @a is_root, we should instead either pass in some sort - * of validator or allow the function to return the element name so it - * can be used in a validator. - */ - void parse_element (int is_root ACEXML_ENV_ARG_DECL); - - /** - * Parse a content declaration. - * - */ - int parse_content (const ACEXML_Char* startname, const ACEXML_Char*& ns_uri, - const ACEXML_Char*& ns_lname, int ns_flag - ACEXML_ENV_ARG_DECL); - - /** - * Parse a character reference, i.e., " " or "". The first - * character encountered should be the '#' char. - * - * @param buf points to a character buffer for the result. - * - * @param len In/out argument which initially specifies the size of the - * buffer and is later set to the no. of characters in the reference. - * - * @retval 0 on success and -1 otherwise. - */ - int parse_char_reference (ACEXML_Char *buf, size_t& len); - - /** - * Parse a reference name, i.e., foo in "&foo;" or "%foo;". The first - * character encountered should be the character following '&' or '%'. - * Effectively the same as @sa parse_name but we don't use the parser's - * obstack. Caller is responsible for deleting the memory. - * - * @retval A pointer to name of reference, 0 otherwise. - */ - ACEXML_Char* parse_reference_name (void); - - /** - * Parse a CDATA section. The first character should always be the first - * '[' in CDATA definition. - * - * @retval 0 on success. - * @retval -1 if fail. - */ - int parse_cdata (ACEXML_ENV_SINGLE_ARG_DECL); - - /** - * Parse a "markupdecl" section, this includes both "markupdecl" and - * "DeclSep" sections in XML specification - */ - int parse_internal_dtd (ACEXML_ENV_SINGLE_ARG_DECL); - - /** - * Skip over a comment. The first character encountered should always be - * the first '-' in the comment prefix "@<@!--". - */ - int parse_comment (void); - - /** - * Parse an "ELEMENT" decl. The first character this method - * expects is always the 'L' (the second char) in the word - * "ELEMENT". - * - * @retval 0 on success, -1 otherwise. - */ - int parse_element_decl (ACEXML_ENV_SINGLE_ARG_DECL); - - /** - * Parse an "ENTITY" decl. The first character this method expects - * is always the 'N' (the second char) in the word "ENTITY". - * - * @retval 0 on success, -1 otherwise. - */ - int parse_entity_decl (ACEXML_ENV_SINGLE_ARG_DECL); - - /** - * Parse an "ATTLIST" decl. Thse first character this method - * expects is always the 'A' (the first char) in the word - * "ATTLIST". - * - * @retval 0 on success, -1 otherwise. - */ - int parse_attlist_decl (ACEXML_ENV_SINGLE_ARG_DECL); - - /** - * Parse a AttType declaration. - * - */ - int parse_atttype (ACEXML_ENV_SINGLE_ARG_DECL); - - /** - *Parse a "NOTATION" decl. The first character this method - * expects is always the 'N' (the first char) in the word - * "NOTATION". - * - * @retval 0 on success, -1 otherwise. - */ - int parse_notation_decl (ACEXML_ENV_SINGLE_ARG_DECL); - - /** - * Parse an ExternalID or a reference to PUBLIC ExternalID. - * Possible cases are in the forms of: <code> - * - * SYSTEM 'quoted string representing system resource' - * PUBLIC 'quoted name of public ID' 'quoted resource' - * PUBLIC 'quoted name we are referring to' - * </code> - * - * The first character this function sees must be either 'S' or 'P'. - * When the function finishes parsing, the input stream points - * at the first non-whitespace character. - * - * @param publicId returns the unquoted publicId read. If none - * is available, it will be reset to 0. - * @param systemId returns the unquoted systemId read. If none - * is available, it will be reset to 0. - * - * @retval 0 on success, -1 otherwise. - */ - int parse_external_id (ACEXML_Char *&publicId, ACEXML_Char *&systemId - ACEXML_ENV_ARG_DECL); - - /** - * Parse an external DTD. - * - */ - int parse_external_dtd (ACEXML_ENV_SINGLE_ARG_DECL); - - /** - * Parse an external subset. This does the actual parsing of an external - * subset and is called by @sa parse_external_dtd. - * - */ - int parse_external_subset (ACEXML_ENV_SINGLE_ARG_DECL); - - /** - * Parse a markupDecl section. - * - */ - int parse_markup_decl (ACEXML_ENV_SINGLE_ARG_DECL); - - /** - * Parse a conditionalSect declaration. - * - */ - int parse_conditional_section (ACEXML_ENV_SINGLE_ARG_DECL); - - /** - * Parse a includeSect declaration. - * - */ - int parse_includesect (ACEXML_ENV_SINGLE_ARG_DECL); - - /** - * - * Parse a ignoreSect declaration. - */ - int parse_ignoresect (ACEXML_ENV_SINGLE_ARG_DECL); - - /** - * Parse a PEReference. - * - */ - int parse_PE_reference (ACEXML_ENV_SINGLE_ARG_DECL); - - /** - * Parse a Reference. - * - */ - int parse_entity_reference (ACEXML_ENV_SINGLE_ARG_DECL); - - /** - * Parse an entityValue. - * - */ - int parse_entity_value (ACEXML_Char *&str ACEXML_ENV_ARG_DECL); - - /** - * Parse a DefaultDecl specification. - * - */ - int parse_defaultdecl (ACEXML_ENV_SINGLE_ARG_DECL); - - - /** - * Parse the "children" and "Mixed" non-terminals in contentspec. - * - * The first character this function sees must be the first - * open paren '(' in children. - * - * @retval 0 on success, -1 otherwise. - */ - int parse_children_definition (ACEXML_ENV_SINGLE_ARG_DECL); - - /** - * Parse a @c cp non-terminal. @c cp can either be a @c seq or a @c choice. - * This function calls itself recursively. - * - * @param skip_open_paren when non-zero, it indicates that the open paren of - * the @c seq or @c choice has already been removed from the input - * stream. - * - * @retval 0 on success, -1 otherwise. - */ - int parse_child (int skip_open_paren ACEXML_ENV_ARG_DECL); - - /** - * Parse a name from the input CharStream. If @a ch @!= 0, then we have - * already consumed the first name character from the input CharStream, - * otherwise, parse_name will use this->get() to acquire the initial - * character. - * - * @return A pointer to the string in the obstack, 0 if it's not a - * valid name. - */ - ACEXML_Char *parse_name (ACEXML_Char ch = 0); - - /** - * Parse a NMTOKEN from the input stream. - * - * @return A pointer to the string in the obstack, 0 if it's not a valid - * NMTOKEN. - */ - ACEXML_Char* parse_nmtoken (ACEXML_Char ch = 0); - - /** - * Parse the version string in an XML Prolog section. - * - * @param str String containing the version number if successful. - * @return 0 if the string was read successfully, 0 otherwise. - */ - int parse_version (ACEXML_Char*& str); - - /** - * Parse the version number in a VersionInfo declaration. - */ - int parse_version_num (ACEXML_Char*& str); - - /** - * Parse the encoding name in an XML Prolog section. - * - * @param str String containing the encoding name if successful. - * @return 0 if the string was read successfully, 0 otherwise. - */ - int parse_encname (ACEXML_Char*& str); - - /** - * Parse a SDDecl string. - * - * @param str String containing the encoding name if successful. - * @return 0 if the string was read successfully, -1 otherwise. - */ - int parse_sddecl (ACEXML_Char*& str); - - /** - * Parse an attribute name. - * - * @retval str String containing the value of the attribute name - * if successful. - * @retval 0 otherwise. - */ - ACEXML_Char* parse_attname (ACEXML_ENV_SINGLE_ARG_DECL); - - /** - * Parse an attribute value. - * - * @param str String containing the value of the attribute if successful. - * @return 0 if attribute value was read successfully, -1 otherwise. - */ - int parse_attvalue (ACEXML_Char*& str ACEXML_ENV_ARG_DECL); - - /** - * Parse a tokenized type attribute. - * - * @return 0 if attribute type was read successfully, -1 otherwise. - */ - int parse_tokenized_type (ACEXML_ENV_SINGLE_ARG_DECL); - - /** - * Parse a SystemLiteral. - * - * @param str String containing the SystemLiteral if successful. - * @return 0 if the string was read successfully, 0 otherwise. - */ - int parse_system_literal (ACEXML_Char*& str); - - /** - * Parse a PubidLiteral. - * - * @param str String containing the PubidLiteral if successful. - * @return 0 if the string was read successfully, 0 otherwise. - */ - int parse_pubid_literal (ACEXML_Char*& str); - - /** - * Check if a character @a c is a whitespace. - * - * @retval 1 if @a c is a valid white space character. 0 otherwise. - */ - int is_whitespace (const ACEXML_Char c) const; - - /** - * Check if a character @a c is a valid Char. - * - * @retval 1 if @a c is a valid character. 0 otherwise. - */ - int isChar (ACEXML_UCS4 c) const; - - /** - * Check if a character @a c is a valid CharRef character. - * - * @retval 1 if @a c is a valid character reference character, 0 otherwise. - */ - int isCharRef (const ACEXML_Char c) const; - - /** - * Check if a character @a c is a BaseChar. - * - * @retval 1 if @a c is a valid BaseChar character, 0 otherwise. - */ - int isBasechar (const ACEXML_Char c) const; - - /** - * Check if a character @a c is a Ideographic. - * - * @retval 1 if @a c is a valid Ideographic character, 0 otherwise. - */ - int isIdeographic (const ACEXML_Char c) const; - - /** - * Check if a character @a c is a CombiningChar. - * - * @retval 1 if @a c is a valid CombiningChar character, 0 otherwise. - */ - int isCombiningchar (const ACEXML_Char c) const; - - /** - * Check if a character @a c is a Digit. - * - * @retval 1 if @a c is a valid Digit character, 0 otherwise. - */ - int isDigit (const ACEXML_Char c) const; - - /** - * Check if a character @a c is an Extender. - * - * @retval 1 if @a c is a valid Extender character, 0 otherwise. - */ - int isExtender (const ACEXML_Char c) const; - - /** - * Check if a character @a c is a Letter. - * - * @retval 1 if @a c is a valid Letter character, 0 otherwise. - */ - int isLetter (const ACEXML_Char c) const; - - /** - * Check if a character is an acceptable NameChar. - * - * @retval 1 if @a c is a valid NameChar character, 0 otherwise. - */ - int isNameChar (const ACEXML_Char c) const; - - /** - * Check if a character is a PubidChar. - * - * @retval 1 if @a c is a valid PubidChar character, 0 otherwise. - */ - int isPubidChar (const ACEXML_Char c) const; - - /// Get a character. - virtual ACEXML_Char get (void); - - /// Peek a character. - virtual ACEXML_Char peek (void); - -private: - - // *** Helper functions for parsing XML - - /** - * Skip any whitespaces encountered until the first non-whitespace - * character is encountered. - * - * @return The next non-whitespace character from the CharStream. - * - * @sa skip_whitespace_count - */ - ACEXML_Char skip_whitespace (void); - - /** - * Skip any whitespaces encountered until the first non-whitespace - * character. The first non-whitespace character is not consumed. - * This method does peek into the input CharStream and therefore - * is more expensive than @ref skip_whitespace. - * - * @param peek If non-null, @a peek points to a ACEXML_Char where - * skip_whitespace_count stores the first non-whitespace - * character it sees (character is not removed from the stream.) - * - * @return The number of whitespace characters consumed. - * - * @sa skip_whitespace - */ - int skip_whitespace_count (ACEXML_Char *peek = 0); - - /** - * Skip an equal sign. - * - * @retval 0 when succeeds, -1 if no equal sign is found. - */ - int skip_equal (void); - - /** - * Get a quoted string. Quoted strings are used to specify - * attribute values and this routine will replace character and - * entity references on-the-fly. Parameter entities are not allowed - * (or replaced) in this function. (But regular entities are.) - * - * @param str returns the un-quoted string. - * - * @retval 0 on success, -1 otherwise. - */ - int get_quoted_string (ACEXML_Char *&str); - - /** - * Check if a character @a c is a Digit. - * - * @retval 1 if @a c is a valid Digit character, 0 otherwise. - */ - int isNormalDigit (const ACEXML_Char c) const; - - /** - * Dispatch errors to ErrorHandler. - * - */ - void error (const ACEXML_Char* msg ACEXML_ENV_ARG_DECL); - - /** - * Dispatch warnings to ErrorHandler. - * - */ - void warning (const ACEXML_Char* msg ACEXML_ENV_ARG_DECL); - - /** - * Dispatch fatal errors to ErrorHandler. - * - */ - void fatal_error (const ACEXML_Char* msg ACEXML_ENV_ARG_DECL); - - /** - * Dispatch prefix mapping calls to the ContentHandler. - * - * @param prefix Namespace prefix - * @param uri Namespace URI - * @param name Local name - * @param start 1 => startPrefixMapping 0 => endPrefixMapping - */ - void prefix_mapping (const ACEXML_Char* prefix, - const ACEXML_Char* uri, - int start ACEXML_ENV_ARG_DECL); - /** - * Parse a keyword. - */ - int parse_token (const ACEXML_Char* keyword); - - /** - * Push the current context on to the stack. - * - */ - int push_context (ACEXML_Parser_Context* context); - - /** - * Pop the top element in the stack and replace current context with that. - */ - size_t pop_context (int GE_ref ACEXML_ENV_ARG_DECL); - - /** - * Create a new ACEXML_CharStream from @a systemId and @a publicId and - * replace the current input stream with the newly created stream. - */ - virtual int switch_input (ACEXML_CharStream* cstream, - const ACEXML_Char* systemId, - const ACEXML_Char* publicId = 0); - /** - * Create a new ACEXML_InputSource from @a systemId and @a publicId and - * replace the current input source with the newly created InputSource. - */ - virtual int switch_input (ACEXML_InputSource* input, - const ACEXML_Char* systemId, - const ACEXML_Char* publicId = 0); - - /** - * Check for a parameter entity reference. This is used to check for the - * occurence of a PE Reference withing markupDecl. Additionally this - * function consumes any leading or trailing whitespace around the PE - * Reference. - * - * @retval Number of whitespace characters skipped. - */ - int check_for_PE_reference (ACEXML_ENV_SINGLE_ARG_DECL); - - /** - * Reset the parser state. - * - */ - void reset (void); - - /** - * Very trivial, non-conformant normalization of a systemid. - * - */ - ACEXML_Char* normalize_systemid (const ACEXML_Char* systemId); - - // Feature names: - - /** - * \addtogroup acexml_parser_features - * @{ - */ - - /** - * @var simple_parsing_feature_ - * - * This constant string defines the name of "simple XML parsing" - * feature. When this feature is enabled, ACEXML parser is allowed - * to parse a simple XML stream without mandated XML prolog - * and no DTD defintion. - */ - static const ACEXML_Char simple_parsing_feature_[]; - - /** - * @var namespaces_feature_ - * - * This constant string defines the SAX XML Namespace feature. When this - * feature is enabled, ACEXML parser allows access by namespace qualified - * names. - */ - static const ACEXML_Char namespaces_feature_[]; - - /** - * @var namespace_prefixes_feature_ - * - * This constant string defines the SAX XML Namespace prefixes feature. - * Normally the list of attributes returned by the parser will not - * contain attributes used as namespace declarations (xmlns*). When this - * feature is enabled, the list of attributes contains the namespace - * declarations also. - */ - static const ACEXML_Char namespace_prefixes_feature_[]; - - /** - * @var validation_feature_ - * - * This constant string defines the SAX XML Validation feature. When - * this feature is enabled, the parser validates the document in - * addition to checking for well-formedness. - */ - static const ACEXML_Char validation_feature_[]; - - /* @} */ - - /// Keeping track of the handlers. We do not manage the memory for - /// handlers. - ACEXML_DTDHandler *dtd_handler_; - ACEXML_EntityResolver *entity_resolver_; - ACEXML_ContentHandler *content_handler_; - ACEXML_ErrorHandler *error_handler_; - - /// Document Type - ACEXML_Char *doctype_; - - /// Current parser context - ACEXML_Parser_Context* current_; - - /// Stack used to hold the Parser_Context - ACE_Unbounded_Stack<ACEXML_Parser_Context*> ctx_stack_; - - /* - * The following two are essentially chains of references and is used by - * the parser to determine if there is any recursion. We keep two of - * these one for general entities and one for parameter entities, as they - * both fall under different namespaces. - * - */ - /// Set used to hold the general entity references that are active. - ACE_Unbounded_Stack<ACEXML_Char*> GE_reference_; - - /// Set used to hold the parameter entity references that are active. - ACE_Unbounded_Stack<ACEXML_Char*> PE_reference_; - - /// Obstack used by the parser to hold all the strings parsed - ACE_Obstack_T<ACEXML_Char> obstack_; - - /// Alternative obstack used to hold any strings when the original is in use - ACE_Obstack_T<ACEXML_Char> alt_stack_; - - /// Namespace stack used by the parser to implement support for Namespaces - ACEXML_NamespaceSupport xml_namespace_; - - /// T => We are processing a nested namespace - int nested_namespace_; - - /// Set of internal parsed general entities in the document - ACEXML_Entity_Manager internal_GE_; - - /// Set of external parsed general entities in the document - ACEXML_Entity_Manager external_GE_; - - /// Set of unparsed entities in the document - ACEXML_Entity_Manager unparsed_entities_; - - /// Set of predefined entities used by the parser - ACEXML_Entity_Manager predef_entities_; - - /// Set of internal parsed parameter entities in the document - ACEXML_Entity_Manager internal_PE_; - - /// Set of external parsed parameter entities in the document - ACEXML_Entity_Manager external_PE_; - - /// Set of notations declared in the document - ACEXML_Entity_Manager notations_; - - /// State of the parser when it encounters a reference. - ACEXML_ParserInt::ReferenceState ref_state_; - - /// T => We are parsing an external subset - int external_subset_; - - /// T => We are parsing an external entity value - int external_entity_; - - /// T => Internal DTD has parameter entity references - int has_pe_refs_; - - /// If set, the document is a standalone XML document - int standalone_; - - /// If set, the document has an external DTD subset - int external_dtd_; - - /// If set, the document has an internal DTD - int internal_dtd_; - - /// Feature flags - /// If set, the parser should parse a document without a prolog - int simple_parsing_; - - /// If set, the parser should also validate - int validate_; - - /// If set, the parser should allow access by namespace qualified names. - int namespaces_; - - /// If set, the parser should include namespace declarations in the list - /// of attributes of an element. - int namespace_prefixes_; - -}; - -#if defined (__ACEXML_INLINE__) -# include "ACEXML/parser/parser/Parser.inl" -#endif /* __ACEXML_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* _ACEXML_BASIC_PARSER_H_ */ diff --git a/ACE/ACEXML/parser/parser/Parser.inl b/ACE/ACEXML/parser/parser/Parser.inl deleted file mode 100644 index 1706d0a88e1..00000000000 --- a/ACE/ACEXML/parser/parser/Parser.inl +++ /dev/null @@ -1,257 +0,0 @@ -//============================================================================= -/** - * @file Parser.inl - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - */ -//============================================================================= - -ACEXML_INLINE ACEXML_ContentHandler * -ACEXML_Parser::getContentHandler (void) const -{ - return this->content_handler_; -} - -ACEXML_INLINE ACEXML_DTDHandler * -ACEXML_Parser::getDTDHandler (void) const -{ - return this->dtd_handler_; -} - -ACEXML_INLINE ACEXML_EntityResolver * -ACEXML_Parser::getEntityResolver (void) const -{ - return this->entity_resolver_; -} - -ACEXML_INLINE ACEXML_ErrorHandler * -ACEXML_Parser::getErrorHandler (void) const -{ - return this->error_handler_; -} - -ACEXML_INLINE void -ACEXML_Parser::setContentHandler (ACEXML_ContentHandler *handler) -{ - this->content_handler_ = handler; -} - -ACEXML_INLINE void -ACEXML_Parser::setDTDHandler (ACEXML_DTDHandler *handler) -{ - this->dtd_handler_ = handler; -} - -ACEXML_INLINE void -ACEXML_Parser::setEntityResolver (ACEXML_EntityResolver *resolver) -{ - this->entity_resolver_ = resolver; -} - -ACEXML_INLINE void -ACEXML_Parser::setErrorHandler (ACEXML_ErrorHandler *handler) -{ - this->error_handler_ = handler; -} - -ACEXML_INLINE int -ACEXML_Parser::isChar (ACEXML_UCS4 c) const -{ - return (c == 0x9 || c == 0xA || c == 0xD || - c >= 0x20 && c <= 0xD7FF || - c >= 0xE000 && c <= 0xFFFD || - c >= 0x10000 && c <= 0x10FFFF); -} - -ACEXML_INLINE int -ACEXML_Parser::isCharRef (const ACEXML_Char c) const - { - return ((c >= 'a' && c <= 'f') || - (c >= 'A' && c <= 'F')); -} - -ACEXML_INLINE int -ACEXML_Parser::isNormalDigit (const ACEXML_Char c) const -{ - return (c >= '\x30' && c <= '\x39'); -} - -ACEXML_INLINE int -ACEXML_Parser::isBasechar (const ACEXML_Char c) const -{ -#if defined (ACE_USES_WCHAR) - return ACEXML_ParserInt::isBasechar_i (c); -#else - return ACEXML_ParserInt::base_char_table_[(int) c]; -#endif /* ACE_USES_WCHAR */ -} - -ACEXML_INLINE int -ACEXML_Parser::isIdeographic (const ACEXML_Char c) const -{ -#if defined (ACE_USES_WCHAR) - return ACEXML_ParserInt::isIdeographic_i (c); -#else - ACE_UNUSED_ARG (c); - return 0; -#endif /* ACE_USES_WCHAR */ -} - -ACEXML_INLINE int -ACEXML_Parser::isCombiningchar (const ACEXML_Char c) const -{ -#if defined (ACE_USES_WCHAR) - return ACEXML_ParserInt::isCombiningchar_i (c); -#else - ACE_UNUSED_ARG (c); - return 0; -#endif /* ACE_USES_WCHAR */ - } - -ACEXML_INLINE int -ACEXML_Parser::isDigit (const ACEXML_Char c) const -{ -#if defined (ACE_USES_WCHAR) - return ACEXML_ParserInt::isDigit_i (c); -#else - return (this->isNormalDigit (c)); -#endif /* ACE_USES_WCHAR */ -} - -ACEXML_INLINE int -ACEXML_Parser::isExtender (const ACEXML_Char c) const -{ -#if defined (ACE_USES_WCHAR) - return ACEXML_ParserInt::isExtender_i (c); -#else - return (c == '\xB7'); -#endif /* ACE_USES_WCHAR */ -} - -ACEXML_INLINE int -ACEXML_Parser::isLetter (const ACEXML_Char c) const -{ - return (this->isBasechar (c) || this->isIdeographic (c)); -} - -ACEXML_INLINE int -ACEXML_Parser::isNameChar (const ACEXML_Char c) const -{ - return (this->isLetter (c) || this->isDigit (c) || c == '.' || c == '-' || - c == '_' || c == ':' || this->isCombiningchar (c) || - this->isExtender (c)); -} - -ACEXML_INLINE int -ACEXML_Parser::isPubidChar (const ACEXML_Char c) const -{ - return (c == '\x20' || c == '\x0D' || c == '\x0A' || - (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || - (c >= '0' && c <= '9') || c == '-' || c == '\'' || c == '(' || - c == ')' || c == '+' || c == ',' || c == '.' || c == '/' || - c == ':' || c == '=' || c == '?' || c == ';' || c == '!' || - c == '*' || c == '#' || c == '@' || c == '$' || c == '_' || - c == '%'); -} - - -ACEXML_INLINE int -ACEXML_Parser::is_whitespace (const ACEXML_Char c) const -{ - switch (c) - { - case '\x0A': case '\x20': - case '\x09': case '\x0D': - return 1; - default: - return 0; - } -} - -ACEXML_INLINE ACEXML_Char -ACEXML_Parser::skip_whitespace (void) -{ - ACEXML_Char ch = this->get(); - while (this->is_whitespace (ch)) - ch = this->get (); - return ch; -} - - -ACEXML_INLINE int -ACEXML_Parser::skip_whitespace_count (ACEXML_Char *peeky) -{ - int wscount = 0; - ACEXML_Char dummy; - ACEXML_Char &forward = (peeky == 0 ? dummy : *peeky); - - for (;this->is_whitespace ((forward = this->peek ())); ++wscount) - this->get (); - return wscount; -} - -ACEXML_INLINE int -ACEXML_Parser::skip_equal (void) -{ - if (this->skip_whitespace() != '=') - return -1; - while (this->is_whitespace (this->peek())) - this->get(); - return 0; -} - -ACEXML_INLINE ACEXML_Char -ACEXML_Parser::get (void) -{ - ACEXML_Char ch = 0; - const ACEXML_InputSource* ip = this->current_->getInputSource(); - ACEXML_CharStream* instream = ip->getCharStream(); - - if (instream->get (ch) != -1) - { - this->current_->getLocator()->incrColumnNumber(); - // Normalize white-space - if (ch == '\x0D') - { - if (instream->peek() == 0x0A) - instream->get (ch); - ch = '\x0A'; - } - if (ch == '\x0A') - { - // Reset column number and increment Line Number. - this->current_->getLocator()->incrLineNumber(); - this->current_->getLocator()->setColumnNumber (0); - } - return ch; - } - return 0; -} - -ACEXML_INLINE ACEXML_Char -ACEXML_Parser::peek (void) -{ - // Using an extra level of indirection so we can - // manage document location in the future. - ACEXML_Char ch = 0; - const ACEXML_InputSource* ip = this->current_->getInputSource(); - ACEXML_CharStream* instream = ip->getCharStream(); - ch = static_cast<ACEXML_Char> (instream->peek ()); - return (ch > 0 ? ch : 0); -} - -ACEXML_INLINE int -ACEXML_Parser::parse_token (const ACEXML_Char* keyword) -{ - if (keyword == 0) - return -1; - const ACEXML_Char* ptr = keyword; - for (; *ptr != 0 && (this->get() == *ptr); ++ptr) - ; - if (*ptr == 0) - return 0; - else - return -1; -} diff --git a/ACE/ACEXML/parser/parser/ParserContext.cpp b/ACE/ACEXML/parser/parser/ParserContext.cpp deleted file mode 100644 index 663ae1ef1ac..00000000000 --- a/ACE/ACEXML/parser/parser/ParserContext.cpp +++ /dev/null @@ -1,16 +0,0 @@ -// $Id$ - -#include "ACEXML/parser/parser/ParserContext.h" - -#if !defined (__ACEXML_INLINE__) -# include "ACEXML/parser/parser/ParserContext.inl" -#endif /* __ACEXML_INLINE__ */ - -ACEXML_Parser_Context::~ACEXML_Parser_Context() -{ - delete this->instream_; - this->instream_ = 0; - delete this->locator_; - this->locator_ = 0; -} - diff --git a/ACE/ACEXML/parser/parser/ParserContext.h b/ACE/ACEXML/parser/parser/ParserContext.h deleted file mode 100644 index 34b1edbba78..00000000000 --- a/ACE/ACEXML/parser/parser/ParserContext.h +++ /dev/null @@ -1,84 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file ParserContext.h - * - * $Id$ - * - * @author Krishnakumar B <kitty@cs.wustl.edu> - */ -//============================================================================= - -#ifndef ACEXML_PARSER_CONTEXT_H -#define ACEXML_PARSER_CONTEXT_H - -#include /**/ "ace/pre.h" -#include "ACEXML/parser/parser/Parser_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ACEXML/common/XML_Types.h" -#include "ACEXML/common/InputSource.h" -#include "ACEXML/common/Locator.h" -#include "ACEXML/common/LocatorImpl.h" -#include "ace/Functor.h" -#include "ace/Containers_T.h" - -class ACEXML_PARSER_Export ACEXML_Parser_Context -{ -public: - /// Default constructor - ACEXML_Parser_Context(); - - /// Constructor which initializes the context - ACEXML_Parser_Context (ACEXML_InputSource* instream, - ACEXML_LocatorImpl* locator); - - /// Comparison operator - bool operator!= (const ACEXML_Parser_Context& src); - - /// Destructor - virtual ~ACEXML_Parser_Context(); - - /// Reset the parser context. This does not free up the memory. Only sets - /// it to zero. Meant to be called after a context is pushed on to a - /// stack. - void reset (void); - - /// Get the underlying input source. - virtual ACEXML_InputSource* getInputSource(void); - - /// Get the underlying locator. - virtual ACEXML_LocatorImpl* getLocator(void); - - /// Set the underlying input source. - virtual void setInputSource(ACEXML_InputSource* ip); - - /// Set the underlying locator. - virtual void setLocator(ACEXML_LocatorImpl* locator); - -private: - - /// Copy constructor - ACEXML_Parser_Context (const ACEXML_Parser_Context& src); - - /// Assignment operator - ACEXML_Parser_Context& operator= (const ACEXML_Parser_Context& src); - - /// Current input char stream. - ACEXML_InputSource *instream_; - - /// Current Locator which provides line no., column no. systemId and publicId - ACEXML_LocatorImpl* locator_; -}; - -#if defined (__ACEXML_INLINE__) -# include "ACEXML/parser/parser/ParserContext.inl" -#endif /* __ACEXML_INLINE__ */ - -#include /**/ "ace/post.h" - -#endif /* ACEXML_PARSER_CONTEXT_H */ diff --git a/ACE/ACEXML/parser/parser/ParserContext.inl b/ACE/ACEXML/parser/parser/ParserContext.inl deleted file mode 100644 index b8f30ea248d..00000000000 --- a/ACE/ACEXML/parser/parser/ParserContext.inl +++ /dev/null @@ -1,77 +0,0 @@ -// -*- C++ -*- -// -// $Id$ - -#include <algorithm> - -ACEXML_INLINE -ACEXML_Parser_Context::ACEXML_Parser_Context() - : instream_ (0), - locator_ (0) -{ - -} - -ACEXML_INLINE -ACEXML_Parser_Context::ACEXML_Parser_Context (ACEXML_InputSource* instream, - ACEXML_LocatorImpl* locator) - : instream_ (instream), - locator_ (locator) -{ - -} - -ACEXML_INLINE -ACEXML_Parser_Context::ACEXML_Parser_Context (const ACEXML_Parser_Context& src) - : instream_ (src.instream_), - locator_ (src.locator_) -{ - -} - -ACEXML_INLINE bool -ACEXML_Parser_Context::operator!= (const ACEXML_Parser_Context& src) -{ - return (this->instream_ != src.instream_ && this->locator_ != src.locator_); -} - -ACEXML_INLINE ACEXML_Parser_Context& -ACEXML_Parser_Context::operator= (const ACEXML_Parser_Context& src) -{ - ACEXML_Parser_Context tmp (src); - std::swap (this->instream_, tmp.instream_); - std::swap (this->locator_, tmp.locator_); - return *this; -} - - -ACEXML_INLINE ACEXML_InputSource* -ACEXML_Parser_Context::getInputSource (void) -{ - return this->instream_; -} - -ACEXML_INLINE ACEXML_LocatorImpl* -ACEXML_Parser_Context::getLocator (void) -{ - return this->locator_; -} - -ACEXML_INLINE void -ACEXML_Parser_Context::setInputSource (ACEXML_InputSource* ip) -{ - this->instream_ = ip; -} - -ACEXML_INLINE void -ACEXML_Parser_Context::setLocator (ACEXML_LocatorImpl* locator) -{ - this->locator_ = locator; -} - -ACEXML_INLINE void -ACEXML_Parser_Context::reset (void) -{ - this->instream_ = 0; - this->locator_ = 0; -} diff --git a/ACE/ACEXML/parser/parser/ParserInternals.cpp b/ACE/ACEXML/parser/parser/ParserInternals.cpp deleted file mode 100644 index 38db8291fa5..00000000000 --- a/ACE/ACEXML/parser/parser/ParserInternals.cpp +++ /dev/null @@ -1,394 +0,0 @@ -// $Id$ - -#include "ACEXML/parser/parser/ParserInternals.h" - - -const ACEXML_Char* ACEXML_ParserInt::predef_ent_[] = { - ACE_TEXT ("amp"), - ACE_TEXT ("lt"), - ACE_TEXT ("gt"), - ACE_TEXT ("apos"), - ACE_TEXT ("quot") -}; - -const ACEXML_Char* ACEXML_ParserInt::predef_val_[] = { - ACE_TEXT ("&"), - ACE_TEXT ("<"), - ACE_TEXT (">"), - ACE_TEXT ("'"), - ACE_TEXT ("\"") -}; - -// Optimize away the most common cases. Any compiler worth it's salt should -// give generate a single memory access. - -const ACEXML_Char ACEXML_ParserInt::base_char_table_[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0000 - 0x000F */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 - 0x001F */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0020 - 0x002F */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0030 - 0x003F */ - 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0x0040 - 0x004F */ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, /* 0x0050 - 0x005F */ - 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0x0060 - 0x006F */ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, /* 0x0070 - 0x007F */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0080 - 0x008F */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0090 - 0x009F */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x00A0 - 0x00AF */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x00B0 - 0x00BF */ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0x00C0 - 0x00CF */ - 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, /* 0x00D0 - 0x00DF */ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0x00E0 - 0x00EF */ - 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, /* 0x00F0 - 0x00FF */ -}; - -#if defined (ACE_USES_WCHAR) - -int -ACEXML_ParserInt::isBasechar_i (const ACEXML_Char c) -{ - if (c < 0x0100) - return ACEXML_ParserInt::base_char_table_[c]; - else if (c < 0x0905) - return ((c >= 0x0100 && c <= 0x0131) || - (c >= 0x0134 && c <= 0x013E) || - (c >= 0x0141 && c <= 0x0148) || - (c >= 0x014A && c <= 0x017E) || - (c >= 0x0180 && c <= 0x01C3) || - (c >= 0x01CD && c <= 0x01F0) || - (c >= 0x01F4 && c <= 0x01F5) || - (c >= 0x01FA && c <= 0x0217) || - (c >= 0x0250 && c <= 0x02A8) || - (c >= 0x02BB && c <= 0x02C1) || - (c == 0x0386) || - (c >= 0x0388 && c <= 0x038A) || - (c == 0x038C) || - (c >= 0x038E && c <= 0x03A1) || - (c >= 0x03A3 && c <= 0x03CE) || - (c >= 0x03D0 && c <= 0x03D6) || - (c == 0x03DA) || - (c == 0x03DC) || - (c == 0x03DE) || - (c == 0x03E0) || - (c >= 0x03E2 && c <= 0x03F3) || - (c >= 0x0401 && c <= 0x040C) || - (c >= 0x040E && c <= 0x044F) || - (c >= 0x0451 && c <= 0x045C) || - (c >= 0x045E && c <= 0x0481) || - (c >= 0x0490 && c <= 0x04C4) || - (c >= 0x04C7 && c <= 0x04C8) || - (c >= 0x04CB && c <= 0x04CC) || - (c >= 0x04D0 && c <= 0x04EB) || - (c >= 0x04EE && c <= 0x04F5) || - (c >= 0x04F8 && c <= 0x04F9) || - (c >= 0x0531 && c <= 0x0556) || - (c == 0x0559) || - (c >= 0x0561 && c <= 0x0586) || - (c >= 0x05D0 && c <= 0x05EA) || - (c >= 0x05F0 && c <= 0x05F2) || - (c >= 0x0621 && c <= 0x063A) || - (c >= 0x0641 && c <= 0x064A) || - (c >= 0x0671 && c <= 0x06B7) || - (c >= 0x06BA && c <= 0x06BE) || - (c >= 0x06C0 && c <= 0x06CE) || - (c >= 0x06D0 && c <= 0x06D3) || - (c == 0x06D5) || - (c >= 0x06E5 && c <= 0x06E6)); - else if (c < 0x10A0) - return ((c >= 0x0905 && c <= 0x0939) || - (c == 0x093D) || - (c >= 0x0958 && c <= 0x0961) || - (c >= 0x0985 && c <= 0x098C) || - (c >= 0x098F && c <= 0x0990) || - (c >= 0x0993 && c <= 0x09A8) || - (c >= 0x09AA && c <= 0x09B0) || - (c == 0x09B2) || - (c >= 0x09B6 && c <= 0x09B9) || - (c >= 0x09DC && c <= 0x09DD) || - (c >= 0x09DF && c <= 0x09E1) || - (c >= 0x09F0 && c <= 0x09F1) || - (c >= 0x0A05 && c <= 0x0A0A) || - (c >= 0x0A0F && c <= 0x0A10) || - (c >= 0x0A13 && c <= 0x0A28) || - (c >= 0x0A2A && c <= 0x0A30) || - (c >= 0x0A32 && c <= 0x0A33) || - (c >= 0x0A35 && c <= 0x0A36) || - (c >= 0x0A38 && c <= 0x0A39) || - (c >= 0x0A59 && c <= 0x0A5C) || - (c == 0x0A5E) || - (c >= 0x0A72 && c <= 0x0A74) || - (c >= 0x0A85 && c <= 0x0A8B) || - (c == 0x0A8D) || - (c >= 0x0A8F && c <= 0x0A91) || - (c >= 0x0A93 && c <= 0x0AA8) || - (c >= 0x0AAA && c <= 0x0AB0) || - (c >= 0x0AB2 && c <= 0x0AB3) || - (c >= 0x0AB5 && c <= 0x0AB9) || - (c == 0x0ABD || c == 0x0AE0) || - (c >= 0x0B05 && c <= 0x0B0C) || - (c >= 0x0B0F && c <= 0x0B10) || - (c >= 0x0B13 && c <= 0x0B28) || - (c >= 0x0B2A && c <= 0x0B30) || - (c >= 0x0B32 && c <= 0x0B33) || - (c >= 0x0B36 && c <= 0x0B39) || - (c == 0x0B3D) || - (c >= 0x0B5C && c <= 0x0B5D) || - (c >= 0x0B5F && c <= 0x0B61) || - (c >= 0x0B85 && c <= 0x0B8A) || - (c >= 0x0B8E && c <= 0x0B90) || - (c >= 0x0B92 && c <= 0x0B95) || - (c >= 0x0B99 && c <= 0x0B9A) || - (c == 0x0B9C) || - (c >= 0x0B9E && c <= 0x0B9F) || - (c >= 0x0BA3 && c <= 0x0BA4) || - (c >= 0x0BA8 && c <= 0x0BAA) || - (c >= 0x0BAE && c <= 0x0BB5) || - (c >= 0x0BB7 && c <= 0x0BB9) || - (c >= 0x0C05 && c <= 0x0C0C) || - (c >= 0x0C0E && c <= 0x0C10) || - (c >= 0x0C12 && c <= 0x0C28) || - (c >= 0x0C2A && c <= 0x0C33) || - (c >= 0x0C35 && c <= 0x0C39) || - (c >= 0x0C60 && c <= 0x0C61) || - (c >= 0x0C85 && c <= 0x0C8C) || - (c >= 0x0C8E && c <= 0x0C90) || - (c >= 0x0C92 && c <= 0x0CA8) || - (c >= 0x0CAA && c <= 0x0CB3) || - (c >= 0x0CB5 && c <= 0x0CB9) || - (c == 0x0CDE) || - (c >= 0x0CE0 && c <= 0x0CE1) || - (c >= 0x0D05 && c <= 0x0D0C) || - (c >= 0x0D0E && c <= 0x0D10) || - (c >= 0x0D12 && c <= 0x0D28) || - (c >= 0x0D2A && c <= 0x0D39) || - (c >= 0x0D60 && c <= 0x0D61) || - (c >= 0x0E01 && c <= 0x0E2E) || - (c == 0x0E30) || - (c >= 0x0E32 && c <= 0x0E33) || - (c >= 0x0E40 && c <= 0x0E45) || - (c >= 0x0E81 && c <= 0x0E82) || - (c == 0x0E84) || - (c >= 0x0E87 && c <= 0x0E88) || - (c == 0x0E8A || c == 0x0E8D) || - (c >= 0x0E94 && c <= 0x0E97) || - (c >= 0x0E99 && c <= 0x0E9F) || - (c >= 0x0EA1 && c <= 0x0EA3) || - (c == 0x0EA5 || c == 0x0EA7) || - (c >= 0x0EAA && c <= 0x0EAB) || - (c >= 0x0EAD && c <= 0x0EAE) || - (c == 0x0EB0) || - (c >= 0x0EB2 && c <= 0x0EB3) || - (c == 0x0EBD) || - (c >= 0x0EC0 && c <= 0x0EC4) || - (c >= 0x0F40 && c <= 0x0F47) || - (c >= 0x0F49 && c <= 0x0F69)); - else - return ((c >= 0x10A0 && c <= 0x10C5) || - (c >= 0x10D0 && c <= 0x10F6) || - (c == 0x1100) || - (c >= 0x1102 && c <= 0x1103) || - (c >= 0x1105 && c <= 0x1107) || - (c == 0x1109) || - (c >= 0x110B && c <= 0x110C) || - (c >= 0x110E && c <= 0x1112) || - (c == 0x113C || c == 0x113E || c == 0x1140) || - (c == 0x114C || c == 0x114E || c == 0x1150) || - (c >= 0x1154 && c <= 0x1155) || - (c == 0x1159) || - (c >= 0x115F && c <= 0x1161) || - (c == 0x1163) || - (c == 0x1165) || - (c == 0x1167) || - (c == 0x1169) || - (c >= 0x116D && c <= 0x116E) || - (c >= 0x1172 && c <= 0x1173) || - (c == 0x1175) || - (c == 0x119E) || - (c == 0x11A8) || - (c == 0x11AB) || - (c >= 0x11AE && c <= 0x11AF) || - (c >= 0x11B7 && c <= 0x11B8) || - (c == 0x11BA) || - (c >= 0x11BC && c <= 0x11C2) || - (c == 0x11EB) || - (c == 0x11F0) || - (c == 0x11F9) || - (c >= 0x1E00 && c <= 0x1E9B) || - (c >= 0x1EA0 && c <= 0x1EF9) || - (c >= 0x1F00 && c <= 0x1F15) || - (c >= 0x1F18 && c <= 0x1F1D) || - (c >= 0x1F20 && c <= 0x1F45) || - (c >= 0x1F48 && c <= 0x1F4D) || - (c >= 0x1F50 && c <= 0x1F57) || - (c == 0x1F59) || - (c == 0x1F5B) || - (c == 0x1F5D) || - (c >= 0x1F5F && c <= 0x1F7D) || - (c >= 0x1F80 && c <= 0x1FB4) || - (c >= 0x1FB6 && c <= 0x1FBC) || - (c == 0x1FBE) || - (c >= 0x1FC2 && c <= 0x1FC4) || - (c >= 0x1FC6 && c <= 0x1FCC) || - (c >= 0x1FD0 && c <= 0x1FD3) || - (c >= 0x1FD6 && c <= 0x1FDB) || - (c >= 0x1FE0 && c <= 0x1FEC) || - (c >= 0x1FF2 && c <= 0x1FF4) || - (c >= 0x1FF6 && c <= 0x1FFC) || - (c == 0x2126) || - (c >= 0x212A && c <= 0x212B) || - (c == 0x212E) || - (c >= 0x2180 && c <= 0x2182) || - (c >= 0x3041 && c <= 0x3094) || - (c >= 0x30A1 && c <= 0x30FA) || - (c >= 0x3105 && c <= 0x312C) || - (c >= 0xAC00 && c <= 0xD7A3)); -}; - -int -ACEXML_ParserInt::isIdeographic_i (const ACEXML_Char c) -{ - return ((c >= 0x4E00 && c <= 0x9FA5) || - (c == 3007) || - (c >= 0x3021 && c <= 0x3029)); -} - -int -ACEXML_ParserInt::isCombiningchar_i (const ACEXML_Char c) -{ - if (c < 0x0901) - return ((c >= 0x0300 && c <= 0x0345) || - (c >= 0x0360 && c <= 0x0361) || - (c >= 0x0483 && c <= 0x0486) || - (c >= 0x0591 && c <= 0x05A1) || - (c >= 0x05A3 && c <= 0x05B9) || - (c >= 0x05BB && c <= 0x05BD) || - (c == 0x05BF) || - (c >= 0x05C1 && c <= 0x05C2) || - (c == 0x05C4) || - (c >= 0x064B && c <= 0x0652) || - (c == 0x0670) || - (c >= 0x06D6 && c <= 0x06DC) || - (c >= 0x06DD && c <= 0x06DF) || - (c >= 0x06E0 && c <= 0x06E4) || - (c >= 0x06E7 && c <= 0x06E8) || - (c >= 0x06EA && c <= 0x06ED)); - else - return ((c >= 0x0901 && c <= 0x0903) || - (c == 0x093C) || - (c >= 0x093E && c <= 0x094C) || - (c == 0x094D) || - (c >= 0x0951 && c <= 0x0954) || - (c >= 0x0962 && c <= 0x0963) || - (c >= 0x0981 && c <= 0x0983) || - (c == 0x09BC) || - (c == 0x09BE) || - (c == 0x09BF) || - (c >= 0x09C0 && c <= 0x09C4) || - (c >= 0x09C7 && c <= 0x09C8) || - (c >= 0x09CB && c <= 0x09CD) || - (c == 0x09D7) || - (c >= 0x09E2 && c <= 0x09E3) || - (c == 0x0A02) || - (c == 0x0A3C) || - (c == 0x0A3E) || - (c == 0x0A3F) || - (c >= 0x0A40 && c <= 0x0A42) || - (c >= 0x0A47 && c <= 0x0A48) || - (c >= 0x0A4B && c <= 0x0A4D) || - (c >= 0x0A70 && c <= 0x0A71) || - (c >= 0x0A81 && c <= 0x0A83) || - (c == 0x0ABC) || - (c >= 0x0ABE && c <= 0x0AC5) || - (c >= 0x0AC7 && c <= 0x0AC9) || - (c >= 0x0ACB && c <= 0x0ACD) || - (c >= 0x0B01 && c <= 0x0B03) || - (c == 0x0B3C) || - (c >= 0x0B3E && c <= 0x0B43) || - (c >= 0x0B47 && c <= 0x0B48) || - (c >= 0x0B4B && c <= 0x0B4D) || - (c >= 0x0B56 && c <= 0x0B57) || - (c >= 0x0B82 && c <= 0x0B83) || - (c >= 0x0BBE && c <= 0x0BC2) || - (c >= 0x0BC6 && c <= 0x0BC8) || - (c >= 0x0BCA && c <= 0x0BCD) || - (c == 0x0BD7) || - (c >= 0x0C01 && c <= 0x0C03) || - (c >= 0x0C3E && c <= 0x0C44) || - (c >= 0x0C46 && c <= 0x0C48) || - (c >= 0x0C4A && c <= 0x0C4D) || - (c >= 0x0C55 && c <= 0x0C56) || - (c >= 0x0C82 && c <= 0x0C83) || - (c >= 0x0CBE && c <= 0x0CC4) || - (c >= 0x0CC6 && c <= 0x0CC8) || - (c >= 0x0CCA && c <= 0x0CCD) || - (c >= 0x0CD5 && c <= 0x0CD6) || - (c >= 0x0D02 && c <= 0x0D03) || - (c >= 0x0D3E && c <= 0x0D43) || - (c >= 0x0D46 && c <= 0x0D48) || - (c >= 0x0D4A && c <= 0x0D4D) || - (c == 0x0D57) || - (c == 0x0E31) || - (c >= 0x0E34 && c <= 0x0E3A) || - (c >= 0x0E47 && c <= 0x0E4E) || - (c == 0x0EB1) || - (c >= 0x0EB4 && c <= 0x0EB9) || - (c >= 0x0EBB && c <= 0x0EBC) || - (c >= 0x0EC8 && c <= 0x0ECD) || - (c >= 0x0F18 && c <= 0x0F19) || - (c == 0x0F35) || - (c == 0x0F37) || - (c == 0x0F39) || - (c == 0x0F3E) || - (c == 0x0F3F) || - (c >= 0x0F71 && c <= 0x0F84) || - (c >= 0x0F86 && c <= 0x0F8B) || - (c >= 0x0F90 && c <= 0x0F95) || - (c == 0x0F97) || - (c >= 0x0F99 && c <= 0x0FAD) || - (c >= 0x0FB1 && c <= 0x0FB7) || - (c == 0x0FB9) || - (c >= 0x20D0 && c <= 0x20DC) || - (c == 0x20E1) || - (c >= 0x302A && c <= 0x302F) || - (c == 0x3099) || - (c == 0x309A)); -} - -int -ACEXML_ParserInt::isDigit_i (const ACEXML_Char c) -{ - if (c < 0x0040) - return (c >= 0x0030 && c <= 0x0039); - else - return ((c >= 0x0660 && c <= 0x0669) || - (c >= 0x06F0 && c <= 0x06F9) || - (c >= 0x0966 && c <= 0x096F) || - (c >= 0x09E6 && c <= 0x09EF) || - (c >= 0x0A66 && c <= 0x0A6F) || - (c >= 0x0AE6 && c <= 0x0AEF) || - (c >= 0x0B66 && c <= 0x0B6F) || - (c >= 0x0BE7 && c <= 0x0BEF) || - (c >= 0x0C66 && c <= 0x0C6F) || - (c >= 0x0CE6 && c <= 0x0CEF) || - (c >= 0x0D66 && c <= 0x0D6F) || - (c >= 0x0E50 && c <= 0x0E59) || - (c >= 0x0ED0 && c <= 0x0ED9) || - (c >= 0x0F20 && c <= 0x0F29)); -} - -int -ACEXML_ParserInt::isExtender_i (const ACEXML_Char c) -{ - // The compiler should generate a jump table and index into it directly. - switch (c) - { - case 0x00B7: case 0x02D0: case 0x02D1: case 0x0387: case 0x0640: - case 0x0E46: case 0x0EC6: case 0x3005: case 0x3031: case 0x3032: - case 0x3033: case 0x3034: case 0x3035: case 0x309D: case 0x309E: - case 0x30FC: case 0x30FD: case 0x30FE: - return 1; - default: - return 0; - } -} - -#endif /* ACE_USES_WCHAR */ diff --git a/ACE/ACEXML/parser/parser/ParserInternals.h b/ACE/ACEXML/parser/parser/ParserInternals.h deleted file mode 100644 index f1c89d8d25e..00000000000 --- a/ACE/ACEXML/parser/parser/ParserInternals.h +++ /dev/null @@ -1,102 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file ParserInternals.h - * - * $Id$ - * - * @author Krishnakumar B <kitty@cs.wustl.edu> - */ -//============================================================================= - -#ifndef _ACEXML_PARSER_INTERNALS_H_ -#define _ACEXML_PARSER_INTERNALS_H_ - -#include /**/ "ace/pre.h" -#include "ACEXML/parser/parser/Parser_export.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ACEXML/common/XML_Types.h" - -/** - * @class ACEXML_ParserInt ParserInternals.h "ACEXML/parser/parser/ParserInternals.h" - * - * @brief A class to hide some of the internal implementation details of - * the parser. - * - */ -class ACEXML_PARSER_Export ACEXML_ParserInt -{ - -public: -#if defined (ACE_USES_WCHAR) - - /** - * Check if a character @a c is a BaseChar. This method checks for the - * complete set of characters allowed when WCHAR support is enabled. - * - * @retval 1 if @a c is a valid XML Character, 0 otherwise. - */ - static int isBasechar_i (const ACEXML_Char c); - - /** - * Check if a character @a c is a Ideographic. This method checks for the - * complete set of characters allowed when WCHAR support is enabled. - * - * @retval 1 if @a c is a valid XML Character, 0 otherwise. - */ - static int isIdeographic_i (const ACEXML_Char c); - - /** - * Check if a character @a c is a CombiningChar. This method checks for the - * complete set of characters allowed when WCHAR support is enabled. - * - * @retval 1 if @a c is a valid XML Character, 0 otherwise. - */ - static int isCombiningchar_i (const ACEXML_Char c); - - /** - * Check if a character @a c is a Digit. This method checks for the - * complete set of characters allowed when WCHAR support is enabled. - * - * @retval 1 if @a c is a valid XML Character, 0 otherwise. - */ - static int isDigit_i (const ACEXML_Char c); - - /** - * Check if a character @a c is an Extender. This method checks for the - * complete set of characters allowed when WCHAR support is enabled. - * - * @retval 1 if @a c is a valid XML Character, 0 otherwise. - */ - static int isExtender_i (const ACEXML_Char c); - -#endif /* ACE_USES_WCHAR */ - - static const ACEXML_Char base_char_table_[256]; - - static const ACEXML_Char* predef_ent_[]; - - static const ACEXML_Char* predef_val_[]; - - // Enum describing the position in a document when a reference occurs. - enum ReferenceState { - IN_CONTENT, - IN_ATT_VALUE, - AS_ATT_VALUE, - IN_ENTITY_VALUE, - IN_INT_DTD, - IN_EXT_DTD, - IN_NOTATION, - INVALID = -1 - }; - -}; - -#include /**/ "ace/post.h" - -#endif /* _ACEXML_PARSER_INTERNALS_H_ */ diff --git a/ACE/ACEXML/parser/parser/Parser_export.h b/ACE/ACEXML/parser/parser/Parser_export.h deleted file mode 100644 index 71630ccd962..00000000000 --- a/ACE/ACEXML/parser/parser/Parser_export.h +++ /dev/null @@ -1,47 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file Parser_export.h - * - * $Id$ - * - * @author Nanbor Wang <nanbor@cs.wustl.edu> - */ -//============================================================================= - -// Definition for Win32 Export directives. -// This file is generated automatically by generate_export_file.pl -// ------------------------------ -#ifndef ACEXML_PARSER_EXPORT_H -#define ACEXML_PARSER_EXPORT_H - -#include "ace/config-all.h" - -#if defined (ACE_AS_STATIC_LIBS) && !defined (ACEXML_PARSER_HAS_DLL) -# define ACEXML_PARSER_HAS_DLL 0 -#endif /* ACE_AS_STATIC_LIBS && ACEXML_PARSER_HAS_DLL */ - -#if !defined (ACEXML_PARSER_HAS_DLL) -# define ACEXML_PARSER_HAS_DLL 1 -#endif /* ! ACEXML_PARSER_HAS_DLL */ - -#if defined (ACEXML_PARSER_HAS_DLL) && (ACEXML_PARSER_HAS_DLL == 1) -# if defined (ACEXML_PARSER_BUILD_DLL) -# define ACEXML_PARSER_Export ACE_Proper_Export_Flag -# define ACEXML_PARSER_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) -# define ACEXML_PARSER_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# else /* ACEXML_PARSER_BUILD_DLL */ -# define ACEXML_PARSER_Export ACE_Proper_Import_Flag -# define ACEXML_PARSER_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) -# define ACEXML_PARSER_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -# endif /* ACEXML_PARSER_BUILD_DLL */ -#else /* ACEXML_PARSER_HAS_DLL == 1 */ -# define ACEXML_PARSER_Export -# define ACEXML_PARSER_SINGLETON_DECLARATION(T) -# define ACEXML_PARSER_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) -#endif /* ACEXML_PARSER_HAS_DLL == 1 */ - -#endif /* ACEXML_PARSER_EXPORT_H */ - -// End of auto generated file. diff --git a/ACE/ACEXML/parser/parser/parser.mpc b/ACE/ACEXML/parser/parser/parser.mpc deleted file mode 100644 index 580b85495a4..00000000000 --- a/ACE/ACEXML/parser/parser/parser.mpc +++ /dev/null @@ -1,14 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project(ACEXML_Parser): acelib, ace_output, install { - avoids += ace_for_tao - sharedname = ACEXML_Parser - after += ACEXML - libs += ACEXML - dynamicflags += ACEXML_PARSER_BUILD_DLL - - Pkgconfig_Files { - ACEXML_Parser.pc.in - } -} diff --git a/ACE/ACEXML/tests/ContentHandler_Test.cpp b/ACE/ACEXML/tests/ContentHandler_Test.cpp deleted file mode 100644 index 7c7e2c5594b..00000000000 --- a/ACE/ACEXML/tests/ContentHandler_Test.cpp +++ /dev/null @@ -1,101 +0,0 @@ -//============================================================================= -/** - * @file ContentHandler_Test.cpp - * - * $Id$ - * - * @author Steve Huston <shuston@riverace.com> - */ -//============================================================================= - -#include "ACEXML/common/DefaultHandler.h" -#include "ACEXML/common/InputSource.h" -#include "ACEXML/common/StrCharStream.h" -#include "ACEXML/parser/parser/Parser.h" -#include "ace/OS_NS_string.h" -#include "ace/OS_main.h" - -class Basic_Content_Tester : public ACEXML_DefaultHandler -{ -public: - /** - * Receive notification of character data. - */ - virtual void characters (const ACEXML_Char *ch, - size_t start, - size_t length ACEXML_ENV_ARG_DECL); - - const ACEXML_Char *get_test_string (void) - { return Basic_Content_Tester::test_string_; } - -private: - static const ACEXML_Char *test_string_; -}; - -const ACEXML_Char * Basic_Content_Tester::test_string_ = - ACE_TEXT ("<?xml version=\"1.0\"?>") - ACE_TEXT ("<translation type=\"unfinished\">Example\n") - ACE_TEXT ("d'internationalisation</translation>"); - -void -Basic_Content_Tester::characters (const ACEXML_Char *ch, - size_t start, - size_t length ACEXML_ENV_ARG_DECL) -{ - static int already_called = 0; - static const ACEXML_Char *expect = - ACE_TEXT ("Example\nd'internationalisation"); - - if (already_called) - { - ACEXML_THROW (ACEXML_SAXException - (ACE_TEXT ("characters() called too much\n"))); - } - already_called = 1; - - size_t expected_len = ACE_OS::strlen (expect); - if (length != expected_len) - { - ACE_ERROR ((LM_ERROR, - ACE_TEXT ("characters() expected len %u (%*s); ") - ACE_TEXT ("got %u (%*s)\n"), - expected_len, expected_len, ch + start, - length, length, ch + start)); - ACEXML_THROW (ACEXML_SAXException (ACE_TEXT ("Functionality failure"))); - } - return; -} - -int -ACE_TMAIN (int, ACE_TCHAR *[]) -{ - int status = 0; - Basic_Content_Tester tester; - ACEXML_StrCharStream *test_stream = 0; - ACE_NEW_RETURN (test_stream, ACEXML_StrCharStream, -1); - if (test_stream->open (tester.get_test_string (), - ACE_TEXT ("test_stream")) < 0) - { - ACE_ERROR ((LM_ERROR, ACE_TEXT ("Unable to create input stream\n"))); - return -1; - } - ACEXML_InputSource input (test_stream); - ACEXML_Parser parser; - parser.setContentHandler (&tester); - ACEXML_TRY_NEW_ENV - { - parser.setFeature (ACE_TEXT ("http://xml.org/sax/features/validation"), - 0 - ACEXML_ENV_ARG_PARAMETER); - ACEXML_TRY_CHECK; - parser.parse (&input ACEXML_ENV_ARG_PARAMETER); - ACEXML_TRY_CHECK; - } - ACEXML_CATCH (ACEXML_SAXException, ex) - { - ex.print(); - status = 1; - } - ACEXML_ENDTRY; - return status; -} diff --git a/ACE/ACEXML/tests/HttpCharStream_Test.cpp b/ACE/ACEXML/tests/HttpCharStream_Test.cpp deleted file mode 100644 index ba969753a3d..00000000000 --- a/ACE/ACEXML/tests/HttpCharStream_Test.cpp +++ /dev/null @@ -1,40 +0,0 @@ -// $Id$ - -#include "ACEXML/common/HttpCharStream.h" -#include "ace/OS_NS_stdio.h" -#include "ace/OS_main.h" - -int ACE_TMAIN (int, ACE_TCHAR *[]) -{ - const ACEXML_Char* test = ACE_TEXT("http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"); - - const ACEXML_Char* simple = ACE_TEXT("http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent"); - - ACEXML_HttpCharStream first; - ACEXML_HttpCharStream second; - ACEXML_Char ch; - - if (first.open (test) != -1) - { - while (first.get (ch) != -1) - ACE_OS::printf ("%c", ch); - } - else - { - first.close(); - ACE_ERROR ((LM_ERROR, "Error in opening stream : %m\n")); - } - if (second.open (simple) != -1) - { - while (second.get (ch) != -1) - ACE_OS::printf ("%c", ch); - } - else - { - second.close(); - ACE_ERROR ((LM_ERROR, "Error in opening stream : %m\n")); - } - first.close(); - second.close(); - return 0; -} diff --git a/ACE/ACEXML/tests/Makefile.am b/ACE/ACEXML/tests/Makefile.am deleted file mode 100644 index e8f43fdc317..00000000000 --- a/ACE/ACEXML/tests/Makefile.am +++ /dev/null @@ -1,222 +0,0 @@ -## Process this file with automake to create Makefile.in -## -## $Id$ -## -## This file was generated by MPC. Any changes made directly to -## this file will be lost the next time it is generated. -## -## MPC Command: -## ./bin/mwc.pl -type automake -noreldefs ACE.mwc - -ACE_BUILDDIR = $(top_builddir) -ACE_ROOT = $(top_srcdir) - -SUBDIRS = \ - . \ - util - -noinst_PROGRAMS = - -## Makefile.ContentHandler_Test.am - -if BUILD_ACEXML -if !BUILD_ACE_FOR_TAO - -noinst_PROGRAMS += ContentHandler_Test - -ContentHandler_Test_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(ACE_ROOT)/ACEXML/common - -if BUILD_ZLIB -if BUILD_ZZIP -ContentHandler_Test_CPPFLAGS += \ - $(ACE_ZZIP_CPPFLAGS) \ - $(ACE_ZLIB_CPPFLAGS) -endif BUILD_ZZIP -endif BUILD_ZLIB - -ContentHandler_Test_SOURCES = \ - ContentHandler_Test.cpp - -ContentHandler_Test_LDFLAGS = - -if BUILD_ZLIB -if BUILD_ZZIP -ContentHandler_Test_LDFLAGS += \ - $(ACE_ZZIP_LDFLAGS) \ - $(ACE_ZLIB_LDFLAGS) -endif BUILD_ZZIP -endif BUILD_ZLIB - -ContentHandler_Test_LDADD = \ - $(ACE_BUILDDIR)/ACEXML/parser/parser/libACEXML_Parser.la \ - $(ACE_BUILDDIR)/ACEXML/common/libACEXML.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -if BUILD_ZLIB -if BUILD_ZZIP -ContentHandler_Test_LDADD += \ - $(ACE_ZZIP_LIBS) \ - $(ACE_ZLIB_LIBS) -endif BUILD_ZZIP -endif BUILD_ZLIB - -endif !BUILD_ACE_FOR_TAO -endif BUILD_ACEXML - -## Makefile.HttpCharStream_Test.am - -if BUILD_ACEXML -if !BUILD_ACE_FOR_TAO - -noinst_PROGRAMS += HttpCharStream_Test - -HttpCharStream_Test_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(ACE_ROOT)/ACEXML/common - -if BUILD_ZLIB -if BUILD_ZZIP -HttpCharStream_Test_CPPFLAGS += \ - $(ACE_ZZIP_CPPFLAGS) \ - $(ACE_ZLIB_CPPFLAGS) -endif BUILD_ZZIP -endif BUILD_ZLIB - -HttpCharStream_Test_SOURCES = \ - HttpCharStream_Test.cpp - -HttpCharStream_Test_LDFLAGS = - -if BUILD_ZLIB -if BUILD_ZZIP -HttpCharStream_Test_LDFLAGS += \ - $(ACE_ZZIP_LDFLAGS) \ - $(ACE_ZLIB_LDFLAGS) -endif BUILD_ZZIP -endif BUILD_ZLIB - -HttpCharStream_Test_LDADD = \ - $(ACE_BUILDDIR)/ACEXML/parser/parser/libACEXML_Parser.la \ - $(ACE_BUILDDIR)/ACEXML/common/libACEXML.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -if BUILD_ZLIB -if BUILD_ZZIP -HttpCharStream_Test_LDADD += \ - $(ACE_ZZIP_LIBS) \ - $(ACE_ZLIB_LIBS) -endif BUILD_ZZIP -endif BUILD_ZLIB - -endif !BUILD_ACE_FOR_TAO -endif BUILD_ACEXML - -## Makefile.NamespaceSupport_Test.am - -if BUILD_ACEXML -if !BUILD_ACE_FOR_TAO - -noinst_PROGRAMS += NamespaceSupport_Test - -NamespaceSupport_Test_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(ACE_ROOT)/ACEXML/common - -if BUILD_ZLIB -if BUILD_ZZIP -NamespaceSupport_Test_CPPFLAGS += \ - $(ACE_ZZIP_CPPFLAGS) \ - $(ACE_ZLIB_CPPFLAGS) -endif BUILD_ZZIP -endif BUILD_ZLIB - -NamespaceSupport_Test_SOURCES = \ - NamespaceSupport_Test.cpp - -NamespaceSupport_Test_LDFLAGS = - -if BUILD_ZLIB -if BUILD_ZZIP -NamespaceSupport_Test_LDFLAGS += \ - $(ACE_ZZIP_LDFLAGS) \ - $(ACE_ZLIB_LDFLAGS) -endif BUILD_ZZIP -endif BUILD_ZLIB - -NamespaceSupport_Test_LDADD = \ - $(ACE_BUILDDIR)/ACEXML/parser/parser/libACEXML_Parser.la \ - $(ACE_BUILDDIR)/ACEXML/common/libACEXML.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -if BUILD_ZLIB -if BUILD_ZZIP -NamespaceSupport_Test_LDADD += \ - $(ACE_ZZIP_LIBS) \ - $(ACE_ZLIB_LIBS) -endif BUILD_ZZIP -endif BUILD_ZLIB - -endif !BUILD_ACE_FOR_TAO -endif BUILD_ACEXML - -## Makefile.Transcoder_Test.am - -if BUILD_ACEXML -if !BUILD_ACE_FOR_TAO - -noinst_PROGRAMS += Transcoder_Test - -Transcoder_Test_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(ACE_ROOT)/ACEXML/common - -if BUILD_ZLIB -if BUILD_ZZIP -Transcoder_Test_CPPFLAGS += \ - $(ACE_ZZIP_CPPFLAGS) \ - $(ACE_ZLIB_CPPFLAGS) -endif BUILD_ZZIP -endif BUILD_ZLIB - -Transcoder_Test_SOURCES = \ - Transcoder_Test.cpp - -Transcoder_Test_LDFLAGS = - -if BUILD_ZLIB -if BUILD_ZZIP -Transcoder_Test_LDFLAGS += \ - $(ACE_ZZIP_LDFLAGS) \ - $(ACE_ZLIB_LDFLAGS) -endif BUILD_ZZIP -endif BUILD_ZLIB - -Transcoder_Test_LDADD = \ - $(ACE_BUILDDIR)/ACEXML/parser/parser/libACEXML_Parser.la \ - $(ACE_BUILDDIR)/ACEXML/common/libACEXML.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -if BUILD_ZLIB -if BUILD_ZZIP -Transcoder_Test_LDADD += \ - $(ACE_ZZIP_LIBS) \ - $(ACE_ZLIB_LIBS) -endif BUILD_ZZIP -endif BUILD_ZLIB - -endif !BUILD_ACE_FOR_TAO -endif BUILD_ACEXML - -## Clean up template repositories, etc. -clean-local: - -rm -f *~ *.bak *.rpo *.sym lib*.*_pure_* core core.* - -rm -f gcctemp.c gcctemp so_locations *.ics - -rm -rf cxx_repository ptrepository ti_files - -rm -rf templateregistry ir.out - -rm -rf ptrepository SunWS_cache Templates.DB diff --git a/ACE/ACEXML/tests/NamespaceSupport_Test.cpp b/ACE/ACEXML/tests/NamespaceSupport_Test.cpp deleted file mode 100644 index 2632c6dc571..00000000000 --- a/ACE/ACEXML/tests/NamespaceSupport_Test.cpp +++ /dev/null @@ -1,150 +0,0 @@ -// $Id$ - -#include "ACEXML/common/NamespaceSupport.h" -#include "ace/OS_main.h" - -int ACE_TMAIN (int, ACE_TCHAR *[]) -{ - ACEXML_NamespaceSupport xmlns; - if (xmlns.init() == -1) - { - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("Error in initializing namespace support."))); - return 1; - } - xmlns.pushContext(); - xmlns.declarePrefix(ACE_TEXT (""), - ACE_TEXT ("http://www.w3.org/1999/xhtml")); - xmlns.declarePrefix(ACE_TEXT ("dc"), - ACE_TEXT ("http://www.purl.org/dc#")); - xmlns.declarePrefix(ACE_TEXT ("xc"), - ACE_TEXT ("http://www.purl.org/dc#")); - - const ACEXML_Char *lName, *uri; - const ACEXML_Char *n1 = ACE_TEXT ("p"); - - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("*** Checking processName:\n"))); - if (xmlns.processName (n1, uri, lName, 0) != 0) - ACE_DEBUG ((LM_ERROR, - ACE_TEXT ("Fail to resolve namespace name %s\n"), - n1)); - else - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("Namespace URI: %s\nLocal name: %s\nRaw name: %s\n"), - uri, lName, n1)); - - const ACEXML_Char *n2 = ACE_TEXT ("dc:title"); - if (xmlns.processName(n2, uri, lName, 0) != 0) - ACE_DEBUG ((LM_ERROR, - ACE_TEXT ("Fail to resolve namespace name %S\n"), - n2)); - else - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("Namespace URI: %s\nLocal name: %s\nRaw name: %s\n"), - uri, lName, n2)); - - const ACEXML_Char *n3 = ACE_TEXT ("xml:title"); - if (xmlns.processName(n3, uri, lName, 0) != 0) - ACE_DEBUG ((LM_ERROR, - ACE_TEXT ("Fail to resolve namespace name %S\n"), - n3)); - else - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("Namespace URI: %s\nLocal name: %s\nRaw name: %s\n"), - uri, lName, n3)); - - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("\n*** Checking getDeclaredPrefixes\n"))); - - ACEXML_STR_LIST prefixes; - if (xmlns.getDeclaredPrefixes (prefixes) != 0) - ACE_DEBUG ((LM_ERROR, - ACE_TEXT ("Fail to get a list of declared prefixes\n"))); - else - { - ACEXML_STR_LIST::ITERATOR iter = prefixes.begin (); - const ACEXML_Char **prefix = 0; - - for (; iter.next (prefix);iter.advance ()) - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("prefix: \"%s\"\n"), *prefix)); - } - - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n*** Checking getPrefix\n"))); - const ACEXML_Char *prefix = 0; - - if ((prefix = xmlns.getPrefix (ACE_TEXT ("http://www.purl.org/dc#"))) == 0) - ACE_DEBUG ((LM_ERROR, - ACE_TEXT ("Fail to get prefix of http://www.purl.org/dc#\n"))); - else - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("Prefix of http://www.purl.org/dc# is %s\n"), - prefix)); - - if ((prefix = xmlns.getPrefix (ACE_TEXT ("http://www.w3.org/1999/xhtml"))) == 0) - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("Fail to get prefix of http://www.w3.org/1999/xhtml which is okay\n"))); - else - ACE_DEBUG ((LM_ERROR, - ACE_TEXT ("ERROR: Prefix of http://www.w3.org/1999/xhtml is %s\n"), - prefix)); - - if ((prefix = xmlns.getPrefix (ACE_TEXT ("http://www.w3.org/XML/1998/namespace"))) == 0) - ACE_DEBUG ((LM_ERROR, - ACE_TEXT ("Fail to get prefix of http://www.w3.org/XML/1998/namespace\n"))); - else - ACE_DEBUG ((LM_DEBUG, - ACE_TEXT ("Prefix of http://www.w3.org/XML/1998/namespace is %s\n"), - prefix)); - - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n*** Checking getPrefixes with known URI\n"))); - prefixes.reset (); - - if (xmlns.getPrefixes (ACE_TEXT ("http://www.purl.org/dc#"), prefixes) != 0) - ACE_DEBUG ((LM_ERROR, ACE_TEXT ("Fail to getPrefixes based on known URI\n"))); - else - { - ACEXML_STR_LIST::ITERATOR iter = prefixes.begin (); - const ACEXML_Char **prefix = 0; - - for (; iter.next (prefix);iter.advance ()) - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("prefix: \"%s\"\n"), *prefix)); - } - - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n*** Checking getPrefixes\n"))); - prefixes.reset (); - - if (xmlns.getPrefixes (prefixes) != 0) - ACE_DEBUG ((LM_ERROR, ACE_TEXT ("Fail to getPrefixes\n"))); - else - { - ACEXML_STR_LIST::ITERATOR iter = prefixes.begin (); - const ACEXML_Char **prefix = 0; - - for (; iter.next (prefix);iter.advance ()) - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("prefix: \"%s\"\n"), *prefix)); - } - - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n*** Checking getURI\n"))); - const ACEXML_Char *URI = 0; - - if ((URI = xmlns.getURI (ACE_TEXT ("dc"))) == 0) - ACE_DEBUG((LM_ERROR, ACE_TEXT ("Fail to get URI for \"dc\"\n"))); - else - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("URI for \"dc\" is %s\n"), URI)); - if ((URI = xmlns.getURI (ACE_TEXT ("xc"))) == 0) - ACE_DEBUG ((LM_ERROR, ACE_TEXT ("Fail to get URI for \"xc\"\n"))); - else - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("URI for \"xc\" is %s\n"), URI)); - if ((URI = xmlns.getURI (ACE_TEXT ("xml"))) == 0) - ACE_DEBUG ((LM_ERROR, ACE_TEXT ("Fail to get URI for \"xml\"\n"))); - else - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("URI for \"xml\" is %s\n"), URI)); - if ((URI = xmlns.getURI (ACE_TEXT (""))) == 0) - ACE_DEBUG ((LM_ERROR, ACE_TEXT ("Fail to get default namespace URI\n"))); - else - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("URI for default namespace is %s\n"), URI)); - - xmlns.popContext(); - - return 0; -} diff --git a/ACE/ACEXML/tests/Transcoder_Test.cpp b/ACE/ACEXML/tests/Transcoder_Test.cpp deleted file mode 100644 index f5dc289e5e0..00000000000 --- a/ACE/ACEXML/tests/Transcoder_Test.cpp +++ /dev/null @@ -1,71 +0,0 @@ -// -*- C++ -*- $Id$ - -#include "ACEXML/common/Transcode.h" -#include "ace/Log_Msg.h" -#include "ace/OS_NS_string.h" -#include "ace/OS_main.h" - -void dump_utf16 (const ACEXML_UTF16 *data, - size_t len) -{ - size_t ptr = 0; - - while (1) - { - ACE_DEBUG ((LM_DEBUG, "%04x", data[ptr])); - - if (++ptr >= len) - break; - - if (ptr % 4 == 0) - ACE_DEBUG ((LM_DEBUG, "\n")); - else - ACE_DEBUG ((LM_DEBUG, " ")); - } - ACE_DEBUG ((LM_DEBUG, "\n")); - return; -} - -int -ACE_TMAIN (int, ACE_TCHAR*[]) -{ - ACEXML_UTF16 org [18]; -// = { 1, 2, 4, 8, 0x10, 0x20, 0x40, -// 0x80, -// 0x100, 0x200, 0x400, -// 0x800, 0x801, 0x802, 0x804, 0x808, 0x810, 0x820, -// 0x840, 0x880, 0x900, 0xa00, 0xc00, -// 0x1000, 0x2000, 0x4000, 0x8000, 0 } - ACEXML_UCS4 temp = 1; - - ACE_OS::memset (org, 0, sizeof org); - size_t x; - - for (x = 0; temp < 0x10000; x++, temp <<= 1) - { - org[x] = static_cast<ACEXML_UTF16> (temp); - } - - ACE_DEBUG ((LM_DEBUG, "Original UTF16 string:\n")); - dump_utf16 (org, x); - ACE_DEBUG ((LM_DEBUG, "\n\n")); - - ACEXML_UTF8 decoded [MAXPATHLEN]; - ACE_OS::memset (decoded, 0, sizeof decoded); - - ACEXML_Transcoder::utf16s2utf8s (org, decoded, MAXPATHLEN); - - ACE_DEBUG ((LM_DEBUG, "Transcoded UTF8 string:\n")); - ACE_HEX_DUMP ((LM_DEBUG, decoded, ACE_OS::strlen (decoded) + 1)); - ACE_DEBUG ((LM_DEBUG, "\n\n")); - - ACEXML_UTF16 after [18]; - ACE_OS::memset (after, 0, sizeof after); - ACEXML_Transcoder::utf8s2utf16s (decoded, after, 18); - - ACE_DEBUG ((LM_DEBUG, "Restored UTF16 string:\n")); - dump_utf16 (after, x); - ACE_DEBUG ((LM_DEBUG, "\n\n")); - - return 0; -} diff --git a/ACE/ACEXML/tests/tests.mpc b/ACE/ACEXML/tests/tests.mpc deleted file mode 100644 index e0a2365e689..00000000000 --- a/ACE/ACEXML/tests/tests.mpc +++ /dev/null @@ -1,30 +0,0 @@ -// -*- MPC -*- -// $Id$ - -project(Transcoder_Test): aceexe, acexml { - exename = Transcoder_Test - Source_Files { - Transcoder_Test.cpp - } -} - -project(NamespaceSupport_Test): aceexe, acexml { - exename = NamespaceSupport_Test - Source_Files { - NamespaceSupport_Test.cpp - } -} - -project(HttpCharStream_Test): aceexe, acexml { - exename = HttpCharStream_Test - Source_Files { - HttpCharStream_Test.cpp - } -} - -project(ContentHandler_Test): aceexe, acexml { - exename = ContentHandler_Test - Source_Files { - ContentHandler_Test.cpp - } -} diff --git a/ACE/ACEXML/tests/util/Makefile.am b/ACE/ACEXML/tests/util/Makefile.am deleted file mode 100644 index b2d79bef425..00000000000 --- a/ACE/ACEXML/tests/util/Makefile.am +++ /dev/null @@ -1,70 +0,0 @@ -## Process this file with automake to create Makefile.in -## -## $Id$ -## -## This file was generated by MPC. Any changes made directly to -## this file will be lost the next time it is generated. -## -## MPC Command: -## ./bin/mwc.pl -type automake -noreldefs ACE.mwc - -ACE_BUILDDIR = $(top_builddir) -ACE_ROOT = $(top_srcdir) - - -## Makefile.util.am - -if BUILD_ACEXML -if !BUILD_ACE_FOR_TAO - -noinst_PROGRAMS = test - -test_CPPFLAGS = \ - -I$(ACE_ROOT) \ - -I$(ACE_BUILDDIR) \ - -I$(ACE_ROOT)/ACEXML/common - -if BUILD_ZLIB -if BUILD_ZZIP -test_CPPFLAGS += \ - $(ACE_ZZIP_CPPFLAGS) \ - $(ACE_ZLIB_CPPFLAGS) -endif BUILD_ZZIP -endif BUILD_ZLIB - -test_SOURCES = \ - test.cpp - -test_LDFLAGS = - -if BUILD_ZLIB -if BUILD_ZZIP -test_LDFLAGS += \ - $(ACE_ZZIP_LDFLAGS) \ - $(ACE_ZLIB_LDFLAGS) -endif BUILD_ZZIP -endif BUILD_ZLIB - -test_LDADD = \ - $(ACE_BUILDDIR)/ACEXML/parser/parser/libACEXML_Parser.la \ - $(ACE_BUILDDIR)/ACEXML/common/libACEXML.la \ - $(ACE_BUILDDIR)/ace/libACE.la - -if BUILD_ZLIB -if BUILD_ZZIP -test_LDADD += \ - $(ACE_ZZIP_LIBS) \ - $(ACE_ZLIB_LIBS) -endif BUILD_ZZIP -endif BUILD_ZLIB - -endif !BUILD_ACE_FOR_TAO -endif BUILD_ACEXML - -## Clean up template repositories, etc. -clean-local: - -rm -f *~ *.bak *.rpo *.sym lib*.*_pure_* core core.* - -rm -f gcctemp.c gcctemp so_locations *.ics - -rm -rf cxx_repository ptrepository ti_files - -rm -rf templateregistry ir.out - -rm -rf ptrepository SunWS_cache Templates.DB diff --git a/ACE/ACEXML/tests/util/test.cpp b/ACE/ACEXML/tests/util/test.cpp deleted file mode 100644 index 40f0eb41001..00000000000 --- a/ACE/ACEXML/tests/util/test.cpp +++ /dev/null @@ -1,111 +0,0 @@ -// $Id$ -// A simple test for performance of the ACEXML_escape_string() function - -#include "ACEXML/common/XML_Util.h" - -#include "ace/OS_main.h" -#include "ace/Time_Value.h" -#include "ace/OS_NS_sys_time.h" -#include "ace/Log_Msg.h" - -const int MAX_ITERATIONS = 100 * 1000; -const int NUM_TEST_STRS = 6; - -static bool is_escaped(const ACEXML_String& s) -{ - if (s[0] != ACE_TEXT('&')) - return false; - if (s[s.length() - 1] != ACE_TEXT(';')) - return false; - return true; -} - -static int run_tests(ACEXML_String test_strings[NUM_TEST_STRS], int iterations) -{ - // Test 1 - Escape the strings using a new temporary string each iteration. - ACE_Time_Value start = ACE_OS::gettimeofday(); - int i = 0; - for (i = 0; i < iterations; ++i) - { - ACEXML_String tmp = ACEXML_escape_string(test_strings[i % NUM_TEST_STRS]); - if (! is_escaped(tmp)) - { - ACE_ERROR((LM_ERROR, "Error: Failed to escape string\n")); - return 1; - } - } - ACE_DEBUG((LM_DEBUG, "Test1 took %dms\n", (ACE_OS::gettimeofday() - start).msec())); - - // Test 2 - Escape the strings using a shared temporary string. This shouldn't - // be any faster than Test 1 as long as the compiler has return value optimization. - ACEXML_String tmp; - start = ACE_OS::gettimeofday(); - for (i = 0; i < iterations; ++i) - { - tmp = ACEXML_escape_string(test_strings[i % NUM_TEST_STRS]); - if (! is_escaped(tmp)) - { - ACE_ERROR((LM_ERROR, "Error: Failed to escape string\n")); - return 1; - } - } - ACE_DEBUG((LM_DEBUG, "Test2 took %dms\n", (ACE_OS::gettimeofday() - start).msec())); - - // Test 3 - Escape the strings using a shared temporary string. This time, we use - // the alternate form of ACEXML_escape_string() so that our temporary buffer is reused. - tmp.clear(1); - start = ACE_OS::gettimeofday(); - for (i = 0; i < iterations; ++i) - { - ACEXML_escape_string(test_strings[i % NUM_TEST_STRS], tmp); - if (! is_escaped(tmp)) - { - ACE_ERROR((LM_ERROR, "Error: Failed to escape string\n")); - return 1; - } - } - ACE_DEBUG((LM_DEBUG, "Test3 took %dms\n", (ACE_OS::gettimeofday() - start).msec())); - - // Test 4 - Same as Test 3, except that the tmp buffer shouldn't have to resize. - start = ACE_OS::gettimeofday(); - for (i = 0; i < iterations; ++i) - { - ACEXML_escape_string(test_strings[i % NUM_TEST_STRS], tmp); - if (! is_escaped(tmp)) - { - ACE_ERROR((LM_ERROR, "Error: Failed to escape string\n")); - return 1; - } - } - ACE_DEBUG((LM_DEBUG, "Test4 took %dms\n", (ACE_OS::gettimeofday() - start).msec())); - return 0; -} - -int ACE_TMAIN (int, ACE_TCHAR *[]) -{ - ACEXML_String test_strings[NUM_TEST_STRS] = { - ACE_TEXT("\"xxxxx\"xxxxxxxx xx\"xxxxxx xxxxxx\"xxxxxxxxxx xxxxxxxx\"xxxxxx\""), - ACE_TEXT("'xxxxx\'xxxxxxxx' xxxxxxxx xx'xxxxxxxx'xxxxxx xxxxxxx'xxxxxxx'"), - ACE_TEXT("&xxxx&xxxxxxxxx &xxxxxxxx xxxxx&xxxxxxxxxxx xxxx&xxxxxxxxxx&"), - ACE_TEXT(">xx>xxxxxxxxxxx >xxxxxxxx xxxxx>xxxxxxxxxxx xxxxx>xxxxxxxxx>"), - ACE_TEXT("<xxxxx<xxxxxxxx xxxxxxxx <xxxxxxxxxxxxxxx<x xxxxxxxxxxxxxx<"), - ACE_TEXT("&xxxx\"xxxxxxx&xx xxx'xxxxx xx<xxxxxxx>xxxxxxx xx\"xxxxxxxxxxxx>"), - }; - - if (run_tests(test_strings, MAX_ITERATIONS) != 0) - return 1; - - ACE_DEBUG((LM_DEBUG, "Rerun tests with larger strings\n")); - for (int i = 0; i < NUM_TEST_STRS; ++i) - { - for (int j = 0; j < 5; ++j) - { - test_strings[i] += test_strings[i]; - } - } - - if (run_tests(test_strings, MAX_ITERATIONS / 10) != 0) - return 1; - - return 0; -} diff --git a/ACE/ACEXML/tests/util/util.mpc b/ACE/ACEXML/tests/util/util.mpc deleted file mode 100644 index 4deaa3719c4..00000000000 --- a/ACE/ACEXML/tests/util/util.mpc +++ /dev/null @@ -1,4 +0,0 @@ -// $Id$ -project: aceexe, acexml { - exename = test -} |